The cricket data API.
Every ball bowled, and the price that went with it.
Ball-by-ball for 23,241 matches in every format, men's and women's, from Tests and ODIs to the IPL, the Big Bash and The Hundred. From mid-2020, each sportsbook's match-winner price sits beside the match it belongs to: a median of 29 books on IPL closing lines and 22 on Tests. Call it over REST or point Claude at it over MCP. You get 500 free credits every month and we do not ask for a card.
500 free credits every month, no card. Works in Claude, ChatGPT and Cursor: connect over MCP
- deliveries
- 11.7M+
- matches
- 23,000+
- players
- 13,000+
- seasons
- 26
Call it over REST or point Claude at it over MCP. You get 500 free credits every month and we do not ask for a card.
Try it
One request, JSON back.
Copy the call, put your key in, run it. search_players costs 1 credit, and every account starts with 500 free credits every month, no card.
Request
curl -X POST https://mcp.yorkerapi.com/v1/search_players \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-d '{
"name": "kohli"
}'Response
{
"players": [
{
"player_id": "ba607b88",
"name": "V Kohli",
"full_name": "Virat Kohli",
"matches": 837,
"last_match": "2026-10-03",
"last_team": "India"
},
{
"player_id": "eb9082b2",
"name": "A Kohli",
"full_name": null,
"matches": 41,
"last_match": "2026-08-30",
"last_team": "Germany"
},
{
"player_id": "40caa465",
"name": "T Kohli",
"full_name": "Taruwar Kohli",
...First 22 lines. Full response and every field
Also in YorkerAPI
The Tests data API
Test cricket, every season since 2001/02: ball-by-ball, sportsbook lines and season lines. Same key and credits as the rest of YorkerAPI.
Tests API: see the data- matches
- 923
- deliveries
- 1,762,175
- seasons
- 50
Also in YorkerAPI
The ODIs data API
One Day Internationals, every season since 2002: ball-by-ball, sportsbook lines and season lines. Same key and credits as the rest of YorkerAPI.
ODIs API: see the data- matches
- 3,237
- deliveries
- 1,666,041
- seasons
- 50
Also in YorkerAPI
The T20Is data API
Twenty20 Internationals, every season since 2004/05: ball-by-ball, sportsbook lines and season lines. Same key and credits as the rest of YorkerAPI.
T20Is API: see the data- matches
- 6,169
- deliveries
- 1,318,309
- seasons
- 45
Also in YorkerAPI
The IPL data API
Indian Premier League, every season since 2007/08: ball-by-ball, sportsbook lines and season lines. Same key and credits as the rest of YorkerAPI.
IPL API: see the data- matches
- 1,243
- deliveries
- 284,630
- seasons
- 19
Also in YorkerAPI
The BBL data API
Big Bash League, every season since 2011/12: ball-by-ball, sportsbook lines and season lines. Same key and credits as the rest of YorkerAPI.
BBL API: see the data- matches
- 662
- deliveries
- 148,259
- seasons
- 15
Also in YorkerAPI
The PSL data API
Pakistan Super League, every season since 2015/16: ball-by-ball, sportsbook lines and season lines. Same key and credits as the rest of YorkerAPI.
PSL API: see the data- matches
- 357
- deliveries
- 80,816
- seasons
- 12
Also in YorkerAPI
The CPL data API
Caribbean Premier League, every season since 2013: ball-by-ball, sportsbook lines and season lines. Same key and credits as the rest of YorkerAPI.
CPL API: see the data- matches
- 445
- deliveries
- 98,847
- seasons
- 14
Also in YorkerAPI
The T20 Blast data API
T20 Blast (English county Twenty20), every season since 2014: ball-by-ball, sportsbook lines and season lines. Same key and credits as the rest of YorkerAPI.
T20 Blast API: see the data- matches
- 1,570
- deliveries
- 349,165
- seasons
- 13
Also in YorkerAPI
The Hundred data API
The Hundred (men), every season since 2021: ball-by-ball, sportsbook lines and season lines. Same key and credits as the rest of YorkerAPI.
The Hundred API: see the data- matches
- 201
- deliveries
- 37,292
- seasons
- 6
Also in YorkerAPI
The SA20 data API
SA20 (South Africa), every season since 2022/23: ball-by-ball and season lines. Same key and credits as the rest of YorkerAPI.
SA20 API: see the data- matches
- 130
- deliveries
- 27,939
- seasons
- 4
Also in YorkerAPI
The ILT20 data API
International League T20 (UAE), every season since 2022/23: ball-by-ball and season lines. Same key and credits as the rest of YorkerAPI.
ILT20 API: see the data- matches
- 134
- deliveries
- 30,171
- seasons
- 4
Also in YorkerAPI
The County Championship data API
County Championship (English first-class), every season since 2014: ball-by-ball and season lines. Same key and credits as the rest of YorkerAPI.
County Championship API: see the data- matches
- 1,530
- deliveries
- 2,568,003
- seasons
- 13
Also in YorkerAPI
The WBBL data API
Women's Big Bash League, every season since 2015/16: ball-by-ball and season lines. Same key and credits as the rest of YorkerAPI.
WBBL API: see the data- matches
- 527
- deliveries
- 116,191
- seasons
- 12
Also in YorkerAPI
The WPL data API
Women's Premier League (India), every season since 2022/23: ball-by-ball and season lines. Same key and credits as the rest of YorkerAPI.
WPL API: see the data- matches
- 88
- deliveries
- 20,000
- seasons
- 4
Also in YorkerAPI
The Hundred (women) data API
The Hundred (women), every season since 2021: ball-by-ball, sportsbook lines and season lines. Same key and credits as the rest of YorkerAPI.
The Hundred (women) API: see the data- matches
- 188
- deliveries
- 35,606
- seasons
- 6
This week
What get_schedule returns right now.
Rendered from the same rows get_schedule returns, refreshed every hour. Lines are the favourite at the median decimal price across sportsbooks.
| Starts | Team | Opponent | Line | Competition | Match id |
|---|---|---|---|---|---|
| Sun 11:30 PM ET | Pakistan | Sri Lanka | -- | Sri Lanka tour of Pakistan 2026/27 | 1550711 |
| Fri 1:00 AM ET | Afghanistan | Zimbabwe | Zimbabwe 3.39 | Zimbabwe tour of United Arab Emirates 2026/27 | 1555124 |
| Fri 4:15 AM ET | Pakistan | Thailand | -- | ICC Women's Emerging Nations Trophy | 1557549 |
| Fri 4:15 AM ET | Bangladesh | Zimbabwe | -- | ICC Women's Emerging Nations Trophy | 1557550 |
| Sat 9:40 PM ET | Sydney Sixers | Sydney Thunder | -- | Women's Big Bash League | 1543958 |
| Sun 1:10 AM ET | Perth Scorchers | Melbourne Stars | -- | Women's Big Bash League | 1543959 |
get_schedule · 2 credits · then get_odds for every book's price, then the scorecard once it is played
Coverage
Coverage you can inspect before you build.
23,241 matches in every format, men's and women's, from Tests and ODIs to the IPL, the Big Bash, The Hundred and the county game.
More than 11.7 million deliveries with the batter, bowler, runs, extras and wicket on each.
Each sportsbook's match-winner price, a median of 29 books on IPL closing lines and 22 on Tests; about 93% of priced matches are linked to their ball-by-ball.
| Dataset | Seasons | Volume | Status | Tools |
|---|---|---|---|---|
Matches and scorecards Teams, venue, toss, result and margin, innings totals, the playing sides and the player of the match, for every format and competition. | 2001 to current | 23,241 matches | Partial Updated within a day of a match ending. Not a live feed. | |
Ball by ball Every ball, legal or not: over and ball, batter, non-striker, bowler, runs off the bat and extras, the kind of extra, and any wicket with the fielders involved. | 2001 to current | 11.7 million deliveries | Partial No ball length, line, speed or shot direction. | |
Players A player is one person across Tests, ODIs, T20Is and every domestic competition, men's and women's. | Everyone in a listed match | One id across every format and competition | Partial No date of birth, batting hand or bowling style. | |
Match-winner prices Each sportsbook's price on each side, opening and closing, for the internationals and the major franchise and county competitions. | June 2020 to current | About 93% of priced matches linked to ball-by-ball | Partial Match winner only: no spreads, totals or player props. Prices cover Tests, ODIs, T20Is, the IPL, BBL, PSL, CPL, T20 Blast and The Hundred; other competitions have none. | |
In-play prices Match-winner prices taken after the first ball, kept apart from the pregame lines. | June 2020 to current | Snapshots by sportsbook | Partial Tied to the match clock, not to a ball. | |
Team ratings Our Elo for international sides and franchises, before and after every match, from results alone. | 2001 to current | One Elo per team and format | Partial Ratings are ours, not an official ranking. New sides start level, so a side with few matches has a rating that means little. | |
Win probability Our model's chance the batting side wins after each ball, from the score against par, wickets, balls left, the target and the two sides' ratings. | Limited overs, 2002 to current | Every ball of about 20,000 matches | Partial Not for Tests or first-class matches. It is a model, tested on matches it was not fitted on, and the closing market beats our pre-match ratings. |
Full detail in the data atlas. Sportsbooks: match-winner prices from mid-2020. Match-winner only, for the internationals and the major franchise and county competitions. A median of 29 books on IPL closing lines, 29 on The Hundred, 25 on the T20 Blast, 23 on T20Is, 22 on Tests, 18 on the BBL and 17 on ODIs; 14 in 2020, 29 in 2026.
Last written 2026-11-13 15:05 UTC. Every dataset's own refresh time is in the changelog.
Why trust it
Every ball of every format, with the price joined to the same match.
Scorecards are easy to find. What is rare is every delivery from Tests to the IPL with each sportsbook's price sitting on the same match id, and a straight account of the matches where that join could not be made.
Every format, men's and women's
Tests, ODIs and T20Is, and the league and county competitions from the IPL to the Big Bash, since December 2001: 4,714 of the matches are women's, 18,527 men's.
A player is one person everywhere
A player keeps one id across formats and competitions, so a Test career and an IPL career are one lookup, not two spellings of a name to match by hand.
Prices joined to the match they belong to
About 93% of priced matches are linked to their ball-by-ball. The misses are mostly abandoned matches and associate-nation games the ball-by-ball does not hold; they are left unlinked, not guessed.
Tools
Every tool, and what a call costs.
Every tool is one REST endpoint and one MCP tool with the same name, the same parameters, and a fixed credit cost. Empty results are not charged.
- get_playerA career by format: runs, average, strike rate, wickets, economy, hundreds, best figures
- get_player_statsA player split by season, competition, phase (powerplay, middle, death) or format
- get_player_matchesA player's matches with batting and bowling in each innings
- get_matchupA batter against a bowler: balls, runs, strike rate, dots and every dismissal
- get_leadersLeaders in runs, average, strike rate, sixes, wickets, economy
- get_venueHow a ground plays: par totals, batting first against chasing, toss effect
- get_deliveriesBall-by-ball rows for a match, a batter or a bowler, with our win probability
- get_win_probabilityA match's win-probability worm over by over, and the balls that swung it
- get_market_vs_modelIn-play prices beside our win probability, lined up to the exact ball
- get_line_movementEvery pregame snapshot by book, the market line over time, and in-play prices
Built for
Four jobs, and the endpoints that do them.
Every ball bowled, next to the price on the match
Ball-by-ball for 23,241 matches joined to each sportsbook's match-winner price from mid-2020, in one id space.
Read more →Cricket since 2001, one delivery a row
11.7 million deliveries from 2001, men's and women's, in every format, with a player id that follows each person across competitions.
Read more →Cricket data your app or agent can query
REST and MCP over the same data: matches, teams, players and every delivery, with stable ids.
Read more →Guides
Working code for the questions people ask.
- get_deliveries
How do I get cricket ball-by-ball data in Python?
Every delivery of a match: batter, bowler, runs, extras, the wicket and fielders, the score after the ball and our win probability.
Python, JavaScript, cURL → - get_matchup
How do I get a batter's record against a bowler in Python?
Balls, runs, strike rate, dots, fours, sixes and every dismissal for one batter against one bowler, overall and by format.
Python, JavaScript, cURL → - get_win_probability
How do I get a cricket win probability chart in Python?
Our model's chance each side wins at the end of every over of a limited-overs match, and the ten balls that moved it most.
Python, JavaScript, cURL →
Access
REST or MCP. Same data either way.
Call it from any language over REST. Let Claude or Cursor query it in plain English over MCP.
- GET https://mcp.yorkerapi.com/v1/tools public catalogue with JSON Schema
- GET https://mcp.yorkerapi.com/openapi.json OpenAPI 3.1 spec
- POST https://mcp.yorkerapi.com/v1/{tool}
- MCP https://mcp.yorkerapi.com/mcp
curl -X POST https://mcp.yorkerapi.com/v1/list_teams \
-H "x-api-key: YOUR_API_KEY"
# every tool: POST /v1/{tool} with a JSON body
# responses carry X-Credits-Used and X-Credits-RemainingPricing
Free to start, then you pay per call.
500 credits every month, no card. Subscriptions add a monthly allowance; wallet top-ups do not expire while your account is open.
- +All 18 endpoints
- +REST API + MCP access
- +No credit card required
- +10,000 credits/month
- +All 18 endpoints
- +Email support
- +Overage at wallet rates
- +30,000 credits/month
- +All 18 endpoints
- +Priority support
- +Overage at wallet rates
- +125,000 credits/month
- +All 18 endpoints
- +Dedicated support
- +Volume rates available
Full breakdown, credit costs per tool, and FAQ on the pricing page.
Questions
The things people ask before signing up.
Is YorkerAPI free?
Every account gets 500 credits every month and no card. Calls cost 1 to 10 credits depending on the endpoint, so 500 is a few hundred real requests. Paid plans start at $19/mo for 10,000 credits a month, and wallet top-ups do not expire while your account is open.
How far back does the data go?
Ball-by-ball runs from December 2001 to the matches finished this week: 23,241 matches in every format, men's and women's, from Tests and ODIs to the IPL, BBL, PSL, CPL, T20 Blast, The Hundred and the county game. Sportsbook match-winner prices start in mid-2020, with a median of 29 books on IPL closing lines and 22 on Tests. There are no prices before mid-2020, no spreads, totals or player props, and no ball length, line or shot direction.
What is MCP, and do I need it?
MCP is the protocol Claude, Cursor and similar assistants use to call tools. Point one at https://mcp.yorkerapi.com/mcp with your key and it picks the endpoint and reads the response itself, no client code. If you are writing an application instead, ignore MCP and use the REST endpoints; they are the same 18 tools.
Can I use this commercially?
Yes, inside your own product or model, within the terms. Reselling the data itself as a feed is not permitted. The ball-by-ball data carries an attribution licence (credited in the footer), which applies if you republish it. YorkerAPI is independent and not affiliated with the ICC or any cricket board, league or club.
How current is it?
A match and its ball-by-ball appear within a day of it ending. There is no live scoring feed: nothing is served during play, and a match in progress is not reflected until it is over.
Where does the cricket data come from?
Matches, scorers' ball-by-ball records and the playing sides from public data, credited in the footer. Sportsbook match-winner prices are captured from the books that post them and joined to the match. Every batting and bowling figure is counted from the deliveries here.
What are the rate limits?
60 requests a minute, dropping to 10 if your credit balance falls below 100. The limit is the same on every plan: credits, not requests, are the spend boundary.
Before you write another scraper
Start with 500 free credits every month, no card.
YorkerAPI · The cricket data API.