What data does the Orbit Exchange API provide?
PulseScore provides pre-match and live exchange odds from Orbit Exchange (orbitxch.com) across 16 sports, plus horse racing and greyhound race cards and a 30-day results archive. Each selection includes the best back price plus full back and lay ladders — up to three price rungs per side with the liquidity available at each price — and a suspended flag.
What sports are covered?
The 16 sports Orbit Exchange publishes markets for: Soccer, Tennis, Cricket, Basketball, Baseball, Ice Hockey, American Football, Australian Rules, Boxing, Darts, Esports, Gaelic Games, Golf, Rugby League, Rugby Union, and Volleyball. Each sport exposes /leagues, /leagues/:league/events, /events (paginated), and /events/:eventId — for golf a league is the tournament, and every golf event is an outright book with empty home and away. Horse racing and greyhounds have their own race-card endpoints: /horse-racing/races, /horse-racing/countries, /greyhounds/races and /greyhounds/countries.
How is exchange data different from bookmaker odds?
A bookmaker publishes one fixed price per selection with a built-in margin. An exchange is an order book: you see back prices (bet for) and lay prices (bet against) with the liquidity available at each level. The spread between best back and best lay shows how efficient the market is, and the liquidity shows how much can actually be matched.
How are the markets structured?
All markets use a canonical format: each market has a type (e.g., MATCH_RESULT, OVER_UNDER, ASIAN_HANDICAP), period (FULL_TIME, FIRST_HALF), and selections. Each selection carries odds (best back), a back array and lay array of {price, liquidity} rungs, and a suspended flag. The same structure is used across all sports.
Does the Orbit Exchange API cover horse racing and greyhounds?
Yes. GET /api/orbitxch/horse-racing/races returns the live card in off-time order for the UK, Ireland, Australia, France, the USA and South Africa, and GET /api/orbitxch/greyhounds/races covers British, Irish and Australian greyhound tracks. Both accept an optional ISO-2 country filter and expose a /countries endpoint listing the codes currently on the card. Runners carry exchange price ladders with liquidity — back prices on horses, back and lay on greyhounds — plus jockey and trainer on horse racing and trap numbers on greyhounds. Racing is HTTP-only: a race in running stays on these endpoints with isInPlay set to true rather than moving to the WebSocket.
Is there a free tier?
Yes. The BASIC plan is free and includes 500 API requests per month. Upgrade to PRO, MAX, or ULTRA for unlimited requests.
Can I access Orbit Exchange alongside other bookmakers with the same API key?
Yes. A single API key gives you access to every bookmaker included in your plan — Orbit Exchange, Bet365, BetOnline, Betano(DE), Fanduel, Bwin, and more. No need for separate keys or accounts.
How do I authenticate with the API?
Sign up for a free account, generate an API key from your dashboard, and pass it via the X-Secret header. The same key works for all bookmaker APIs.
Does Orbit Exchange support live in-play data?
Yes. Live in-play events are available via REST (/api/orbitxch/live-events, /live-events/sports, /live-events/events/:eventId) and via WebSocket at wss://api.pulsescore.net/api/orbitxch/ws/live. The WebSocket pushes every in-play event for the subscribed sport roughly every second, with live back/lay ladders. PRO, MAX, and ULTRA plans only.
Does the API include match results?
Yes. Every match Orbit Exchange takes in-play is mirrored into a 30-day results archive from its first sighting and updated in place. Results filter by sport, league, country and team, and /results/sports, /results/countries and /results/leagues expose the exact filter values. Result documents carry no markets. The exchange publishes no settlement marker: matchClock.periodId reads Finished on ended soccer, tennis and basketball matches, and score is present on those three sports only.