Sports data feeds

Odds, scores and match data.
Licensed feed by feed.

We run our own collection: 33 price sources and a match store covering 2,282 competitions across 187 countries, normalised onto one fixture identity and served as JSON. You take the feeds you need — live scores without odds, odds without results, one market family and nothing else — on a key that carries exactly those and a call rate agreed in advance.

Tell us what you need See the feeds

27,134fixtures on file, to Jun 2027
2,282competitions
187countries
24books quoting now
234,414live quotes in store
11market types

Counted from the live store when this page loaded, not from a brochure. Recomputed every five minutes.


The feeds

Each family is licensed on its own. A key opens the ones it was granted and returns 403 on the rest — so a live-score customer never sees a price, and an odds customer is never billed for broadcast listings.

Live scores livescore

In-play state, scorers, cards, period clock, statuses.

JSON1 endpoint

Results & fixtures results

Finished scores, fixture lists, kick-off times.

JSON3 endpoints

Odds - all books odds

Every quote from every book, by market and period.

JSON7 endpoints

Odds - best price odds_best

Best price per outcome across the book set.

JSON2 endpoints

Market vocabulary markets

Type/period/bookmaker ids and the line ladder.

JSON1 endpoint

Reference data reference

Leagues, countries, teams, participants.

JSON4 endpoints

TV & streaming tv

Broadcast listings per fixture.

JSON1 endpoint

Transfers transfers

Player movement.

JSON1 endpoint

Retractions retractions

Fixtures withdrawn upstream, for cache invalidation.

JSON1 endpoint

How access works

One key per member. The key is the identity, the grant and the meter at once — there is no shared credential and no self-service sign-up.

  1. You tell us the feedsWhich families, which markets, and roughly how often you intend to poll. That conversation is what the quote is based on.
  2. We create the memberA name, the feeds ticked, a calls-per-minute ceiling and, if you want it, a binding to your egress addresses.
  3. You get one keySent as ?key_auth= or an X-API-Key header. Rotate it whenever you like; it takes us one click.
  4. The gate answers before the query runs401 unknown key, 403 feed not on your grant or address not bound, 429 over rate. Nothing else about the payload changes.
# a granted call
curl -H 'X-API-Key: <your-key>' <your-endpoint>

# the same key against a feed it does not carry
{
  "error":  "scope_not_granted",
  "detail": "This key does not carry the \"odds\" feed.
             Granted: livescore, results, reference.",
  "status": 403
}

# over the agreed rate
HTTP/1.1 429 Too Many Requests
X-RateLimit-Limit:     120
X-RateLimit-Remaining: 0
Retry-After:           37

One call at start-up returns the market, period and bookmaker vocabulary along with the line ladder. Every odds feed answers in those ids, so nothing downstream needs a hardcoded copy that goes stale the next time a market is added.


Rate and restriction

Set per member, not per plan. Two customers on the same feed can sit on very different numbers, because the number follows what the integration actually does.

ControlWhat it does
calls / minute Counted per calendar minute against the whole key, across every feed on it. Over the ceiling you get 429 with Retry-After and the second the window resets — never a silently truncated payload.
feed grant The families the key opens. Anything outside it is 403 with the granted list named in the response, so a misconfigured integration diagnoses itself.
market filter Optional, inside the odds families: a key can be narrowed to given market types, bookmakers or sports and will see nothing else.
address binding Optional allowlist of your egress addresses. A leaked key is then useless from anywhere else.
rotation A new key is issued and the old one stops on the same request. There is no overlap window, so tell us before rather than after.

Pricing is quoted, not listed

There is no price list here on purpose. What a feed costs depends on which families you take, how hard you poll them and whether you redistribute — tell us that much and a real number comes back by e-mail, usually the same day.

A rough figure is fine. It sets the ceiling on your key.
Tick only what you will use — the key is built from this list.
Or mail info@jabriatrading.com.