What the event data feed carries
The event data feed is included in every Platform plan. It covers four kinds of information for each event, all in the same JSON structure regardless of sport.
- Scores at match level with the current period, live stats such as shots on target, corners or cards, and a line score by inning in baseball.
- Incidents in order: goals, cards, corners, aces, breaks, touchdowns, turnovers, runs, strikeouts, rounds and bomb plants, each with the second of the match it happened in.
- Clock state with the period and the match time as the sport shows it.
- Lineups with the players of each side, their number and position.
Sports in the engine are soccer, basketball, tennis, American football, ice hockey, baseball and CS2. Starter includes three of them of your choice, without CS2. Growth and Enterprise include all of them. Live data comes from licensed sports data providers, and replay matches with fictional teams carry a Replay label.
Endpoints for event data
The base address is https://realtimebets.com/api/v1, and every call sends Authorization: Bearer rtb_sk_ with your secret key. The event endpoints are simple to map onto any database.
- GET /api/v1/sports returns the sports enabled for your key.
- GET /api/v1/events?sport=tennis&status=upcoming lists events starting shortly with kickoff time and both sides.
- GET /api/v1/events/{event_id} returns the current score, clock and status of one event.
- GET /api/v1/events/{event_id}/incidents?after=120 returns incidents after a given second of the match.
- GET /api/v1/events/{event_id}/lineups returns the players for each side.
The after parameter is what makes recovery easy. Store the match second of the last incident you processed. If your service restarts, ask for everything after it and you are back in step with no duplicates. Events are listed as upcoming or live, so your product always knows whether a match has started.
One timeline for data and odds
Teams that buy scores from one vendor and prices from another often see the two disagree. A goal appears in the score before the odds react, or a market reopens while the score still shows the old result. Reconciling the two feeds becomes a project of its own.
RealTimeBets uses a single timeline. The incident that updates the score is the same incident that suspends the affected markets for a few seconds, triggers new prices and later settles the market. Every push carries the score and clock together with the markets, so you can always tell which state of the match a price belongs to.
If you only need data today, the feed works on its own. When you add prices later, nothing about the event model changes. The live odds API page describes the price side of the same stream, and both arrive in the same message on one connection.
| Provider | Published price | Self-serve key | Push feed | Odds on the same timeline | Settlement |
|---|---|---|---|---|---|
| RealTimeBets | From $499/mo ($249/mo yearly) | Yes, sandbox at signup | Yes | Yes, own model-based prices | Yes, signed webhooks on every plan |
| SportsDataIO | Not published | Trial, then sales process | Not published | Not published | Not published |
| Sportradar or Genius Sports | Enterprise contracts | No, sales process | Not published | By contract | By contract |
| The Odds API | $30 to $249/mo | Yes | No, polling | Aggregated bookmaker lines | No |
Push instead of polling
Polling a scores endpoint every few seconds is costly and still leaves you behind the match. The streaming endpoint at /api/v1/stream?event={event_id} is a server-sent events connection that pushes the current state of one event once a second.
Each push carries the event with its score, clock and period, plus its full market set, so every message is complete on its own. A connection lasts up to 60 seconds and then sends an end message; your client reconnects, and fetches incidents it missed through REST with the after parameter. Each connection counts as one request.
Streaming connections scale with the plan: 2 on Starter, 10 on Growth and 50 on Enterprise. Monthly request allowances are 500,000 on Starter, 5,000,000 on Growth and fair use on Enterprise. Requests count usage in the billing period, and revoking a key never returns quota. The console shows usage as it builds, so you can see well ahead of time when a busier season calls for a higher plan.
Who uses event data without odds
Not every product that needs live sports data is a sportsbook. Several kinds of business use the feed for its own sake.
- Media and odds comparison sites show live scores and timelines next to their articles, often with the embeddable scoreboard widget that every plan includes.
- Fan apps and prediction games resolve calls from the incident feed. Our own sports prediction app runs on exactly this data.
- Trading tool builders use incidents to trigger their own models.
- Analytics teams store the incident timeline of the matches they follow.
All of them use the same endpoints and the same JSON. A production key needs a paid plan and a stored licence record with licence number, regulator and country, because the Platform is licensed to gambling operators. The sandbox key, issued at signup, lets you try everything first on a 60 second delay.
How this sports data API compares
Sports data is a crowded field, and the right choice depends on what you build. SportsDataIO offers a wide range of data and a free trial, with pricing handled by its sales team. Sportradar and Genius Sports provide official data under enterprise contracts. The Odds API focuses on bookmaker odds rather than incident data, and publishes plans from $30 to $249 a month.
RealTimeBets publishes its prices, gives a key at signup and ties the data feed to an odds, risk and settlement engine you can switch on later. It does not claim the breadth of a large data house. It covers the seven sports in its engine and does them live, with one model for every sport. The table sets out only what each provider makes public.