REST API Overview
HTTP endpoints for catalog discovery, pricing, and bet placement on Vertex.
The REST API covers:
- Catalog: sports, competitions, participants, and events
- Markets and prices: markets, selections, and current prices per event
- Bets: bet placement and bet history
For real-time price updates, use the WebSocket feed instead of polling REST.
Response shapeβ
List endpoints return their results in a { "data": [ ... ] } wrapper. The four top-level lists β GET /events, GET /competitions, GET /participants, and GET /bets β are paginated: each response carries a pagination object (page, size, total) alongside data, pages hold 100 results by default, and page_size accepts up to 1000. GET /sports and GET /events/{id}/markets are the exceptions: both return the full list in one response, with no pagination object.
Single-resource lookups (the /{id} style endpoints, such as GET /sports/{id}, GET /events/{eventId}, GET /selections/{selectionId}, GET /bets/{id}, and GET /bets/by-reference/{reference}) return the bare object directly, with no data wrapper.
Timestampsβ
Every timestamp the REST API returns is UTC, formatted as ISO-8601 with a trailing Z β for example 2026-10-04T20:25:00Z. This applies to start_time, placed_at, updated_at, and every other date-time field. There is no per-account timezone setting and no localisation: the API speaks UTC in both directions.
Send UTC on the way in too. Date-time query parameters such as start_from, start_to, placed_from, and placed_to are interpreted as UTC and should carry the Z.
The one exception anywhere in the Vertex API is start_time on the WebSocket event channel, which is UTC but arrives without the Z β see Message Format.
Expanding related entitiesβ
Several catalog and event endpoints accept an expand query parameter to fold related entities inline instead of issuing follow-up calls β for example GET /events?expand=sport,competition,participants.
expand resolves a single level only. It embeds the requested top-level relations, but does not recursively expand relations nested inside them β for example, expanding competition on an event populates the competition object but not that competition's own sport. Request only the relations you need.
Base URLβ
All endpoints are served under /api/v2:
https://trading.vertex-api.com/api/v2
Rate limitsβ
There are no enforced rate limits today. Requests are governed by fair use. Sustained tight loops or high-volume polling may be throttled at the network edge without warning.
Implement exponential backoff on any 5xx response. If you expect to drive unusual volume, contact your integration manager so we can plan capacity.