Darts data API
Darts data, from 1994 through one keyDarts results back to 1994 with averages and match statistics, live scores, fixtures, competitions, player ratings and head to head.
Endpoints
Everything darts answers
Each one opens in the docs with a live console, your key already filled in.
| Method | Address | What it gives | Free key | |
|---|---|---|---|---|
| GET | /v1/darts/live | Every match in play now, leg by leg | Plan | Try it |
| GET | /v1/darts/fixtures | Upcoming matches by date | Plan | Try it |
| GET | /v1/darts/results | Finished matches by date, with every leg score | Yesterday | Try it |
| GET | /v1/darts/matches/{id} | One match in full, with every leg | Yesterday | Try it |
| GET | /v1/darts/matches/{id}/stats | The statistics of a match, leg by leg | Yesterday | Try it |
| GET | /v1/darts/tournaments | Every tournament or competition held | Yesterday | Try it |
| GET | /v1/darts/rankings | The current ranking list | Yesterday | Try it |
| GET | /v1/darts/players/{id} | A player and their record | Yesterday | Try it |
| GET | /v1/darts/head-to-head | Every meeting between two players | Yesterday | Try it |
| GET | /v1/darts/search | Players and tournaments by name | Yesterday | Try it |
A real answer
What comes back
Kept from the API each night, exactly as a caller receives it, lists cut to a few rows.
{
"data": [],
"meta": {
"sport": "darts",
"endpoint": "/results",
"count": 0,
"next_cursor": null,
"as_of": "2026-11-03T00:19:41Z",
"cached": false,
"age_seconds": 0
}
}{
"data": [
{
"rank": 1,
"player_id": "dt_mtdkwgfhc0",
"name": "Luke Littler",
"country_code": "gb-eng",
"rating": 2372.6,
"change_30d": -25.8,
"matches": 1077,
"last_match": "2026-10-25",
"peak": {
"rating": 2439.4,
"on": "2026-05-07"
}
},
{
"rank": 2,
"player_id": "dt_c3ayy0kbcw",
"name": "Luke Humphries",
"country_code": "gb-eng",
"rating": 2345.6,
"change_30d": 19,
"matches": 1362,
"last_match": "2026-10-11",
"peak": {
"rating": 2348.1,
"on": "2026-10-10"
}
}
],
"meta": {
"sport": "darts",
"endpoint": "/rankings",
"count": 50,
"next_cursor": "c_7hldgg_5a9b4a90",
"as_of": "2026-11-03T00:19:41Z",
"cached": false,
"age_seconds": 0
}
}{
"data": [
{
"competition_id": "dt_3ak970dd4g",
"name": "25 Bull Darts UK Open Qualifier",
"organiser": "pdc",
"tier": "qualifiers",
"editions": 9,
"first_event": "2024-12-14",
"last_event": "2025-02-15"
},
{
"competition_id": "dt_2zkz5wh99k",
"name": "9-darter round",
"organiser": "wdf",
"tier": "wdf_other",
"editions": 2,
"first_event": "2019-06-16",
"last_event": "2024-06-16"
}
],
"meta": {
"sport": "darts",
"endpoint": "/tournaments",
"count": 50,
"next_cursor": "c_H97V6xMY0PGLOQtPWeGO",
"as_of": "2026-11-03T00:19:41Z",
"cached": false,
"age_seconds": 0
}
}Goes well with
Sports often taken with darts
Can I try darts before I pay?
Yes. The free key reads yesterday's darts data on every endpoint except live and fixtures, 50 calls a day, no card.
What does the Darts plan include?
Every darts endpoint, live and upcoming included, the full history we hold, 120 calls a minute and 250,000 a month, for $29 a month or $290 a year.
Does it answer like the other sports?
Yes. Darts answers in the same shape as every other sport, through the same key, so code written for one reads the rest.
Can I use it with Claude?
Yes. The MCP server turns each darts endpoint into a tool, on the same key.