Base URL
All API requests should be made to:Authentication
All endpoints (except/ and /health) require an API key. Pass it using either method:
Response format
All successful responses return JSON. Paginated endpoints use a consistent envelope:Error responses
Errors return a JSON object witherror and message fields:
HTTP status codes
| Code | Description |
|---|---|
200 | Success. |
201 | Resource created successfully. |
204 | Success with no response body (e.g., after deletion). |
401 | Unauthorized. Missing or invalid API key. |
403 | Forbidden. The API key lacks the required scope. |
404 | Not found. The requested resource does not exist. |
422 | Validation error. The request body or parameters are invalid. |
429 | Rate limit exceeded. Wait and retry. |
500 | Internal server error. Contact support if this persists. |
Rate limiting
Every response includes rate limit headers:| Header | Description |
|---|---|
X-RateLimit-Limit | Maximum requests per minute for your plan. |
X-RateLimit-Remaining | Requests remaining in the current window. |
X-RateLimit-Reset | Unix timestamp when the window resets. |
Pagination
List endpoints use cursor-based pagination. Passcursor and limit query parameters to navigate results. See the Pagination guide for details.
Endpoints overview
Events
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/events | List unified events |
| GET | /api/events/categories | List all categories with counts |
| GET | /api/events/{slug} | Get event by slug with markets |
| GET | /api/events/{slug}/markets | Get markets for an event |
Markets
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/markets | List venue markets |
| GET | /api/markets/{venue}/{market_id} | Get a specific market |
Search
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/search | Search events by keyword |
Comparisons
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/comparisons | List cross-platform comparisons |
| GET | /api/comparisons/{comparison_id} | Get comparison with market data |
Account
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/users/me | Get your profile |
| GET | /api/users/me/usage | Get usage statistics |
| GET | /api/users/me/usage/logs | Get recent request logs |
| GET | /api/users/me/rate-limit | Get rate limit status |
| GET | /api/keys | List your API keys |
| POST | /api/keys | Create a new API key |
| DELETE | /api/keys/{key_id} | Revoke an API key |