A free darts API key, in one click
Every result back to 1994, 38,047 players and their head to heads, on 16 endpoints. Sign in with Google and the key is waiting on your dashboard. No card, and it does not expire.
- No card
- 500 calls a day
- Key on your dashboard at once
curl "https://api.dartsapi.com/v1/results?player_id=pl_VEB8HM&limit=2" \ -H "Authorization: Bearer da_live_..." { "data": [ { "match_id": "mt_0CWS66BSK1H725020W3E", "played_on": "2026-09-20", "round": "quarter_final", "winner": { "player_id": "pl_NWEKMD", "name": "Jonny Clayton", "score": 10 }, "loser": { "player_id": "pl_VEB8HM", "name": "Luke Littler", "score": 4 }, "event": { "event_id": "ev_FTY24C", "competition_id": "cp_X645YM", "name": "World Series of Darts Finals", "date": "2026-09-20", "tier": "majors" } } ], "meta": { "count": 2, "next_cursor": "c_wNtb1hAe7JeTmTE0b7_JOxd-O_9qjVH0ImWP2tfhAvAT-UQ", "plan": "analyst", "window": "everything, including the model endpoints", "data_as_of": "2026-09-30T18:38:38Z" } }
What the key reaches
16 endpoints, each with its own page of parameters, fields and a real example.
/v1/coverageMeasured coverage, with close seasons told apart from real gaps.
GET/v1/competitionsEvery competition with its tier and format.
GET/v1/calendarEditions across a date range with status.
GET/v1/playersSearch and list, with accents and particles folded.
GET/v1/players/{id}Profile.
GET/v1/head-to-headA full rivalry.
GET/v1/fixturesUpcoming matches, with the best price only where one was held: no live prices are held since 20 March 2026.
GET/v1/resultsSettled matches.
GET/v1/results/yesterdayEvery match settled yesterday, UTC, on every plan including the free key.
GET/v1/usagePlan, window, limits and today's counters. Lab tools check this before doing any work.
GET/v1/history/world-championshipsThe world championships the match archive does not hold, the BDO's from 1978 to 2020 and the WDF's of 2023 and 2024: champion, runner-up and what is held for each.
GET/v1/order-of-meritThe PDC Order of Merit as it stood on a day: position, places moved, player and ranking prize money. Today's, or date= for another day held.
GET/v1/order-of-merit/seasonsThe seasons whose start-of-season Order of Merit is held (2017 on), with how many players each lists.
GET/v1/order-of-merit/listsEvery other ranking table held, with its seasons: the Order of Merit after each World Championship and year to date, the qualification races for the majors, the Players Championship and European Tour tables, the Challenge Tour, Development Tour, Women's Series, Asian Tour and Nordic & Baltic, from 2019.
GET/v1/history/majorsThe televised majors of 2004 to 2017 the match archive does not hold, from published draws: each event, its dates and how many matches are held. major= for one.
GET/v1/major-editionsEvery edition of the main tournaments since 1994: dates, venue, town and country, organiser, sponsor, field size and prize pool, with our edition ids. major= for one.
From nothing to data in two minutes
No forms and nothing to confirm by email.
One click. We use your Google account only to know who you are.
Continue with GoogleIt is on your dashboard the moment you land, ready to copy, and you can see it again any time.
da_live_7f3a••••••••••••Send it as a bearer token. Every response says how many calls you have left today.
X-Allowance-Remaining: 499import requests r = requests.get( "https://api.dartsapi.com/v1/players", params={"q": "littler"}, headers={"Authorization": "Bearer da_live_..."}, ) for p in r.json()["data"]: print(p["name"], p["player_id"])
pl_60FSJPpl_0A1EQ8Names and ids, ready to feed into /v1/players/{id} or /v1/head-to-head.
When you need more
The free key is the whole archive, a week behind. The paid plans add the last week, live scores, prices and the model.
| Free key | Live | Complete | Analyst | |
|---|---|---|---|---|
| Every result back to 1994 | At least 7 days old | Last 30 days | Everything | Everything |
| Endpoints | 16 | 44 | 44 | All 52 |
| Live scores | ||||
| Closing prices | ||||
| Model and probability endpoints | ||||
| Calls | 500 a day | 250,000 a month | 600,000 a month | 1,000,000 a month |
| Price | Free | $39 a month | $99 a month | $149 a month |
Questions about the free key
No. Sign in with Google and the key is on your dashboard straight away. There is nothing to cancel, because nothing is charged.
The free key sees every result the archive holds, back to 1994, once it is 7 days old. The last week and the live feed are what the paid plans are for.
Calls answer 429 until the allowance resets at midnight UTC. Every response carries your remaining allowance in its headers, so a script can pace itself.
No. The key works for as long as the account is open. You can rotate it from the dashboard at any time, and the old one stops working the moment you do.
Yes, from the dashboard, whenever you like. The same key then reaches everything the plan includes, so nothing in your code changes.
Build what you like on the data, including commercially. The one thing the terms rule out is reselling the dataset itself.
Your key is one click away
Sign in with Google, copy the key from your dashboard, and your first call is two minutes from now.
GET /v1/players?q=littler500 calls a day, every day, free.