basketballapi.net
Latest Final: Partizan 99 Vienna 78 Final: Hapoel Holon 69 Hapoel Jerusalem 92 Final: Ironi Kiryat Ata 86 הפועל 85 Final: Krka 68 FMP 79 Final: בנות 76 הפועל 77 Final: ΟΛΥΜΠΙΑΚΟΣ 99 ΚΟΛΟΣΣΟΣ 83 Final: ΠΡΟΜΗΘΕΑΣ 59 ΠΑΝΑΘΗΝΑΪΚΟΣ 84
Data

The data you get, before you pay for it

Every game in the API carries up to five layers, from the final score down to where each shot was taken. This page shows how deep each layer goes, which competitions hold it, and one real game as the API returns it.

31competitions
113,209games
14countries
1953oldest season

One game, five layers

Tau Ceramica Vitoria-Gasteiz 84, Besiktas Istanbul 92. EuroLeague, 9 October 2026
1
ResultTeams, score, round, tip-off, attendance
1 game
2
Score by quarterEach period for both teams
8 scores
3
Box scoreEvery player's line and both team totals
24 players
4
Play by playEvery event with clock, player and score
616 events
5
ShotsEvery shot from the floor, in feet from the basket
121 shots
What each game holds

Five layers, each one call

The fields below are what you receive for each layer. The bar says how many games in the API hold that layer today.

1

Result

The game itself, and where it sits in the season.

home_scoreaway_scoreroundstagetip_offattendancehas
113,209 games
Free key and up
2

Score by quarter

Each period, overtime included, for both teams.

periods.homeperiods.away
26,506 games
Free key and up
3

Box score

Every player's line, the starters, the coach and team totals.

minutespointstwo_madethree_madefree_throws_madereboundsassistsstealsplus_minusperformance_index
38,168 games
Live and up
4

Play by play

Every event in order, enough to rebuild the lead at any second.

periodclocktypesideplayerhome_scoreaway_score
13,904 games
Live and up
5

Shots

Where each shot came from, its value, and whether it went in.

x_fty_ftvaluemadeperiodfastbreaksecond_chance
9,023 games
Live and up
How deep each competition goes

The leagues holding the most detail

For each layer: held from the competition's first seasons, held for recent seasons, or not yet.

CompetitionSinceGamesBox scoreQuartersPlay by playShots
EuroLeagueINT20006,643Since 2007Since 2007Since 2007Since 2007
EuroCupINT20024,847Since 2007Since 2007Since 2007Since 2007
Super LeagueIL195311,031Every seasonSince 2002Not yetNot yet
LKLLT19935,297Every seasonEvery seasonSince 2015Not yet
NBBBR20123,690Every seasonEvery seasonEvery seasonNot yet
Basket LeagueGR19925,177Every seasonEvery seasonNot yetNot yet
ABA LeagueINT20014,823Every seasonNot yetNot yetNot yet
NBAUS200330,780Not yetNot yetNot yetNot yet
From the first seasonsRecent seasonsNot yetAll 31 competitions on Leagues
One real game

What a call returns

A real game, played on 9 October 2026: each layer drawn on the left and as the API returns it on the right. Every game comes back in this same shape.

A sample, not the data. The answers on the right are trimmed to the first item of each list, so you can see the shape. With your key you receive every player, every event and every shot.
1

The game

Teams, score, score by quarter, when and where it sits in the season, and which layers it carries.

2

Box score

Every player's line and both team totals: minutes, points, shooting by type, rebounds, assists, steals, turnovers, blocks, fouls, plus-minus and the performance index.

3

Play by play

Every event in order, with the clock, the team, the player and the running score. Enough to rebuild the lead at any second of the game.

The last five minutes

    4

    Shots

    Every shot from the floor, with where it was taken from in feet from the basket, its value, and whether it went in.

    MadeMissed
    Why it works

    Built so your code is written once

    One shape everywhere

    A game in Japan and a game in Spain come back with the same fields, so one parser covers every league.

    IDs that never change

    Every game, team, player and competition keeps its ID, so you can store it and join across calls.

    Kept current

    New results arrive through each game day, and the record is checked every night for gaps.

    Fast answers

    The queries behind the busiest calls take a median of 1 ms, so a full game loads in one quick round trip.

    What you get when you sign up

    Start free, open more when you need it

    Sign in with Google and your free key is ready at once. Each plan adds layers or seasons.

    Free key

    $0
    Yesterday's and today's games
    • Every competition, current season
    • Results and score by quarter
    • Your usage
    100 calls a day
    Get a free key

    Live

    $29 a month
    The last 365 days
    • Everything in Free key
    • Box scores, players and teams
    • Play by play and shots
    • Standings, rosters, head to head
    • Webhooks
    10,000 calls a day
    See Live

    Archive

    $79 a month
    Every season held, back to 1953
    • Everything in Live
    • Every season of every competition
    50,000 calls a day
    See Archive

    Complete

    $199 a month
    Every season held, back to 1953
    • Everything in Archive
    • Player splits and team form
    • Leaders and trends
    • The MCP server
    250,000 calls a day
    See Complete

    Every field is documented

    Names, types and meanings for every layer, with examples you can run.