API reference
Categories
Category slugs for the category filter on /events, with how many active events each has.
GET
/api/public/v1/categoriesAPI key requiredList categories
A short list that returns pagination: null. Cache it for a few minutes.
This endpoint takes no parameters.
Request
Request
curl -s 'https://api.thepredictionmarkets.com/api/public/v1/categories' \
-H 'X-API-Key: tpm_demo_key_authorized_2026'Response
Example 200 response. Values are illustrative and change over time.
200 OK
{
"data": [
{
"slug": "politics",
"name": "Politics",
"event_count": 3975
},
{
"slug": "sports",
"name": "Sports",
"event_count": 3647
},
{
"slug": "economics",
"name": "Economics",
"event_count": 1099
}
],
"pagination": null
}Response fields
| Field | Type | Description |
|---|---|---|
| slug | string | Use as category on /events. |
| name | string | Display name. |
| event_count | integer | Active events in it. |
Errors
| HTTP | Code | When |
|---|---|---|
| 401 | auth.missing_key | No X-API-Key header was sent. |
| 401 | auth.invalid_key | The key is wrong or was revoked. |
| 429 | rate_limit.per_second | Too many requests this second. Wait for Retry-After. |
401 auth.missing_key
{
"error": {
"code": "auth.missing_key",
"message": "Send your API key in the X-API-Key header.",
"request_id": "0f8969a6-0968-4d7c-9cbb-de379e8c19c4"
}
}All codes are listed on the errors page.
Try it
Runs a live request from your browser. Pre-filled with the shared demo key (5 requests per second for everyone); paste your own key for steadier results.
HTTP: —Time: —Rows: —Remaining this second: —Request: —
Press Send to run this request.Related
Build with TPM
Get your free API key
One key gives you Kalshi and Polymarket events, prices with freshness, price history, cross-venue gaps and the live quotes WebSocket.