API ReferenceMarkets & Discovery
List canonical categories with served-market counts.
const url = 'https://data.predictefy.com/api/polymarket/fetchCategories';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://data.predictefy.com/api/polymarket/fetchCategories \ --header 'Authorization: Bearer <token>'Available only when READS_ENABLE_TAXONOMY=true; otherwise this route is unmounted and returns 404 ROUTE_NOT_FOUND. A venue scopes counts to itself; router returns cross-venue counts. All categories remain present in sort_order.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”One of the 16 served product venues, or router for the all-served-venues union.
Dark venues (currently: smarkets) are implemented but not served and return 404 EXCHANGE_NOT_AVAILABLE.
SX Bet serves catalog reads, real CLOB order books, the public trades tape, tape-derived candles, Trader Intelligence, and public account resources. It has no server execution lane; its separate client-side SDK trading lane is live as of 2026-07-27, and the trading wallet must have a registered sx.bet account with betting enabled once per token per network. There is no venue-official history claim.
pascal, xo and pred all serve catalog reads and real CLOB order books,
plus a public trades tape on pascal only — xo and pred answer
501 NOT_SUPPORTED for fetchTrades. XO's is a venue property rather than a gap: its
trade endpoints are caller-scoped, so no public XO tape exists to serve. None of
the three has an account or venue-official history lane. Their execution state
differs per venue and is no longer uniform:
- Pascal is ARMED in production for build, submit, and signed cancel permits (armed 2026-08-12; fleet-verified 2026-08-15).
- XO is REBUILT AND RE-ARMED for hosted build, submit, client-credentialed status
refresh, and cancel. Live
/v1/exec/venuesre-verification on 2026-09-02 reports build, submit, and cancel true; the first live credentialed submit and cancel remain confirmation checkpoints. - PRED is production-DARKED (2026-08-13) pending the venue's key model.
PRED_EXCHANGE_ADDRESSESis empty, which unregisters the entire lane, so every PRED execution route including build answers 404 VENUE_NOT_SUPPORTED.
PredictStreet serves keyless catalog/detail reads and real two-sided CLOB books. Its ADI Chain execution lane is armed for build and submit; it has no server cancel or hosted settlement lane. Predict Street Limited states it operates under Gibraltar licence 167, and FIFA names it the official prediction-market partner of the FIFA World Cup 2026.
Eligibility and jurisdiction remain an operator/compliance responsibility.
PRED restricts the US, UK, France, Ontario, Singapore, Poland, Thailand, and
Taiwan and prohibits location masking; pascal is US-restricted at the venue, and
XO read access is partner-provided. Pascal's restricted-jurisdiction and API/data
clauses are under owner review.
GET /v1/exec/venues remains the authoritative live list; this description is not
a claim about one deployment's runtime gates.
Responses
Section titled “Responses”Canonical category vocabulary and served-market aggregates.
object
object
object
Example
{ "data": [ { "volume24hSource": { "sources": [ "venue" ] } } ]}The API key is missing, unknown, or revoked. A venue-authenticated read also answers 401 when the venue itself rejects the credential. Not retryable.
object
object
Always present on errors; quote this id when reporting a failed request.
Present only when a venue error is attributed to a specific exchange.
Example
{ "success": false, "error": { "code": "VALIDATION_ERROR" }}The account's credit balance cannot cover this endpoint's weight. Not retryable.
object
object
Always present on errors; quote this id when reporting a failed request.
Present only when a venue error is attributed to a specific exchange.
Example
{ "success": false, "error": { "code": "VALIDATION_ERROR" }}The API key lacks the scope this route requires, or the account's plan does not include the feature. Not retryable.
object
object
Always present on errors; quote this id when reporting a failed request.
Present only when a venue error is attributed to a specific exchange.
Example
{ "success": false, "error": { "code": "VALIDATION_ERROR" }}EXCHANGE_NOT_AVAILABLE / ROUTE_NOT_FOUND when READS_ENABLE_TAXONOMY is off
object
object
Always present on errors; quote this id when reporting a failed request.
Present only when a venue error is attributed to a specific exchange.
Example
{ "success": false, "error": { "code": "VALIDATION_ERROR" }}Rate limit exceeded. The response carries Retry-After in whole seconds, always rounded up so a sub-second remainder never points back inside the live window.
object
object
Always present on errors; quote this id when reporting a failed request.
Present only when a venue error is attributed to a specific exchange.
Example
{ "success": false, "error": { "code": "VALIDATION_ERROR" }}Unexpected internal error. Retryable; error.requestId identifies the failure.
object
object
Always present on errors; quote this id when reporting a failed request.
Present only when a venue error is attributed to a specific exchange.
Example
{ "success": false, "error": { "code": "VALIDATION_ERROR" }}