UCLREAL MADRID — MAN CITY2:12.10 / 3.40 / 3.05NBACELTICS — HEAT58:611.72 / 2.15CS2NAVI — FAZE1:01.55 / 2.45EPLARSENAL — LIVERPOOL20:452.35 / 3.30 / 2.95LALIGABARCELONA — SEVILLA22:001.48 / 4.20 / 6.50ATPALCARAZ — SINNER18:301.90 / 1.90NHLOILERS — PANTHERS3:21.80 / 2.05DOTA2TEAM SPIRIT — GG1:11.66 / 2.28
Finished matches

Match Results API

Three different jobs need the same feed: settling a coupon, filling a livescore archive, and back-testing a model against seasons that have already been played. This API answers all three — full-time and period scores, plus the secondary lines most feeds quietly drop.

Finished match results rendered from a Bet in Box API response
A finished match, exactly as the endpoint returns it
01

One finished match, one JSON object

GET /v1/results/559317164json
{
  "Id": 559317164,
  "Name1": "Pachuca",
  "Name2": "Deportivo Toluca",
  "Start": 1706621200,
  "Score": "2:2 (0:1,2:1)",
  "Opp1Img": "98045.png",
  "Opp2Img": "43765.png",
  "SubMatch": [
    { "Name": "Corners", "Score": "6:7 (3:4,3:3)" },
    { "Name": "Cards", "Score": "3:5 (1:1,2:4)" }
  ]
}
What you get back

Scores, periods and the lines underneath them

Every finished match comes back as one object: the final score, the score at each break, and the secondary markets settled alongside it. Sports and esports share the same shape, so one parser covers both. Volume runs past 100,000 finished events a month.

01

Score at every break

Full time, halves, quarters, sets, periods — whatever the sport splits into.

02

Narrow the request

One parameter limits a call to a sport, a country, a championship or a date range.

03

Settled within the hour

Top matches land the moment the whistle goes; the long tail follows inside twenty minutes.

04

Back to 1989

The archive is deep enough to train on, not just deep enough to display.

Why this one

What tends to decide it

01

Nothing to reconcile

Scores arrive already split by period, so you are not parsing a string to find out who led at half time.

02

Test before you pay

A trial key hits the real endpoint with real matches — no sandbox with invented fixtures.

03

One shape for 200+ sports

Cricket and darts come back in the same envelope as football. Adding a sport costs no new code.

04

Esports in the same feed

Dota, Counter-Strike, FIFA and Mortal Kombat settle through the endpoint you already integrated.

Our Service Prices

Choose a Service Package

PackageQuantityMatchesTranslationStatisticsTypeSupportPrice
REZULT1 SportCompleted1 LanguageNoSport, Cyber8/5$29
FULL-REZULT200+Completed1 Language (+ $12 / lang)NoSport, Cyber8/5$479
STAT-REZULT1 SportCompleted1 Language+Sport, Cyber12/7$2999
Contact ManagerRead the match results API documentationDocumentation
Questions we actually get

Before you integrate

Where these results usually end up

Most people arrive here with one of three problems. A sportsbook needs finished scores to close out coupons that are still open. A livescore or media site needs yesterday, last week and last season to exist as pages worth indexing. An analyst needs enough completed seasons to test whether a model would have made money.

The three want different things from the same feed. Settlement wants speed and the secondary lines — corners, cards, shots — because that is where the coupons are. An archive wants breadth and stable identifiers, so that a team is the same team across ten seasons. A model wants depth, which is why STAT-REZULT is sold by sport and by year rather than by month.

What they share is the format. One JSON object per finished match, the same envelope whether it is a Champions League tie or a Counter-Strike map, so the parser you write for football keeps working when you add cricket. That is the part that saves the time.

Take the trial key, point it at a sport you know well, and check last weekend against a source you trust. It is a faster way to judge a feed than any description of one.