Luke Littler
ENGpl_VEB8HM- Matches
- 137
- 116 won, 21 lost
- Titles
- 12
- 7 majors and 5 more
- Average
- 101.30
- Best 113.84, lowest 83.94
- Last 10 matches
- 99.82
Win rate by his average in the match
Darts data, match by match
Results, three-dart averages, checkouts and 180s for every match on the tour. One clean JSON API for pricing models, betting tools and live apps.
Every match, in the order he played them
{ "date": "2026-09-06", "competition": "European Tour 12", "round": "Final", "opponent": "Luke Humphries", "score": "8-6", "won": true, "darts": 204, "three_dart_avg": 95.25}
Results for every round of the draw, with each player's statistics for every match. History runs back to 1994, and new results arrive daily.
With the share carrying the full set of statistics
For each player, in four groups
Majors: World Championship, Premier League, World Matchplay, World Grand Prix, Grand Slam, Players Championship Finals, UK Open, Masters.
Tours: European Tour, Players Championship, World Series, World Youth Championship.
All tournamentsPlayer endpoints return the profile, the full match list and the splits a model needs: by stage of the draw, by competition and by how well they threw.
pl_VEB8HMWin rate by his average in the match
His average climbs in finals
| Stage | Matches | Win % | Average |
|---|---|---|---|
| Earlier rounds | 36 | 94.4% | 100.38 |
| Last 16 | 20 | 90.0% | 101.07 |
| Quarter finals | 32 | 81.3% | 100.29 |
| Semi finals | 29 | 69.0% | 101.96 |
| Finals | 20 | 90.0% | 102.72 |
| All matches | 137 | 84.7% | 101.30 |
Premier League nights count by their round.
Every event group he played
| Competition | Matches | Win % | Average |
|---|---|---|---|
| Majors | 43 | 97.7% | 102.46 |
| Premier League | 36 | 72.2% | 100.47 |
| Players Championship | 22 | 81.8% | 99.79 |
| European Tour | 15 | 86.7% | 101.80 |
| World Series | 13 | 76.9% | 98.86 |
| World Youth Championship | 8 | 87.5% | 101.11 |
| All matches | 137 | 84.7% | 101.30 |
Majors: World Championship, World Matchplay, World Grand Prix, Grand Slam, Players Championship Finals, UK Open, Masters and European Championship.
GET /v1/players
GET /v1/players/{player_id}
GET /v1/players/{player_id}/matches
GET /v1/players/{player_id}/splits
GET /v1/players/{player_id}/form
Match endpoints return the round, the score and each player's figures. Head to head links every meeting, so a model can see how one player fares against another.
15 meetings in the last 12 months
| Date | Match | Score | Average |
|---|---|---|---|
| 6 Sep | European Tour 12Final | W8–6 | 95.25 |
| 26 Jun | World Series of Darts 4Final | L7–8 | 99.50 |
| 6 Jun | World Series of Darts 3Semi final | L5–7 | 100.85 |
| 28 May | Premier LeagueFinal | W11–10 | 111.67 |
| 21 May | Premier LeagueWeekly semi final | L1–6 | 95.97 |
| 14 May | Premier LeagueWeekly semi final | L3–6 | 99.86 |
| 7 May | Premier LeagueWeekly final | W6–5 | 100.67 |
| 30 Apr | Premier LeagueWeekly final | W6–5 | 104.11 |
63 opponents, 44 met only once
| Opponent | Met | Record | Average |
|---|---|---|---|
| Luke Humphries | 15 | 10–5 | 100.52 |
| Gerwyn Price | 13 | 12–1 | 101.13 |
| Jonny Clayton | 8 | 5–3 | 98.45 |
| Josh Rock | 8 | 8–0 | 102.30 |
| Michael van Gerwen | 7 | 6–1 | 102.50 |
| Gian van Veen | 6 | 4–2 | 104.70 |
| Danny Noppert | 4 | 3–1 | 101.07 |
| James Wade | 4 | 3–1 | 98.53 |
Record and average are Littler's, oldest result first in each strip.
18 to 26 July 2026
Scores in legs. Every match averaged 109.53 or better.
GET /v1/results
GET /v1/fixtures
GET /v1/matches/{match_id}
GET /v1/matches/{match_id}/statistics
GET /v1/head-to-head
Eight groups, from coverage and draws to ratings, markets and probabilities. Choose any endpoint to see what it takes and what it returns.
{data, meta} on every response
Page or cursor on every list
422 for unknown parameters
/v1/probabilityAny pairing in any format.
Parameters
player_a, player_b, best_of, unit, legs_per_set, as_of
Returns in data
{p_a, p_b, fair_price{a, b}, leg_p{a, b}, correct_score[{a, b, prob}], total_legs{mean, lines[{line, over, under}]}, handicaps[{line, a_covers, b_covers}]}
match.finishedfixture.addedprice.updated
MCP server/mcp
Give the probability endpoint two players and a match length. It returns win chances, fair prices, every correct score, total legs and handicaps, worked for that exact format.
Best of 21 legs, first to 11
Once over this length, in the Premier League final: Littler won 11–10.
Longer matches stretch a small leg edge: 53.22% over 11 legs, 55.64% over 35.
Most likely: 11–10 to Littler
Average 18.29 legs
| Line | Over | Under |
|---|
Legs, Littler giving the start
| Littler | Covers | Humphries | Covers |
|---|
GET /v1/matches/{match_id}/probability
GET /v1/props/180s
GET /v1/props/finishing
GET /v1/editions/{edition_id}/outrights
POST /v1/simulate/bracket
The official clients cover all 40 endpoints. Every other language gets the OpenAPI file and a Postman collection, and the lab publishes open-source tools that run on your own key.
<?php require __DIR__ . '/DartsApi.php'; $api = new DartsApi(getenv('DARTS_API_KEY')); $page = $api->players->matches('pl_VEB8HM', [ 'from' => '2026-07-18', 'to' => '2026-07-26', ]); foreach ($page['data']['matches'] as $m) { $date = substr($m['start_utc'], 0, 10); printf("%s %-22s %s\n", $date, $m['opponent']['name'], $m['score']); }
2026-07-18 Niko Springer 10-6 2026-07-21 Nathan Aspinall 11-8 2026-07-23 Josh Rock 16-7 2026-07-25 Dirk van Duijvenbode 17-5 2026-07-26 Gerwyn Price 18-9
require 'DartsApi.php';
from dartsapi import DartsApi
Generated from the same registry as the API
GET /v1/openapi.json
Postman collection
MCP /mcp
Prices a day's card end to end in one command. It asks for the date, fetches the fixtures, prices every match and prints the result.
$ python price_card.py
Date to price 2026-05-28
[09:12:04 +00:00] ✓ key checked with /v1/usage, Analyst plan
[09:12:05 +00:01] ✓ 1 fixture, cached under data/2026-05-28/
[09:12:05 +00:01] done: 1 match priced, nothing fetched twice
Poll the live endpoint while matches are on, sync everything else from one change feed, or let a webhook tell your system the moment a match finishes.
GET /v1/liveMatches in play, with the freshness of the feed reported on every response.
seconds_behindlast_changepoll_secondsGET /v1/changesEverything added or changed since your last cursor, so you never poll every list.
sincetypesnext_cursorPOST to your URLSigned calls to your own endpoint, retried until they land and logged in your dashboard.
match.finishedfixture.addedprice.updated6 September 2026, Luke Littler v Luke Humphries
fixture.addedLuke Littler v Luke Humphries, best of 15 legs/v1/liveThe score leg by leg, with seconds_behind on every responsematch.finishedLittler wins 8–6statisticsLittler's figures added: 95.25 average over 204 dartsratingBoth players' ratings updatedWebhook events are shown in violet, the live endpoint in green and change feed types in blue.
{ "type": "match.finished", "created": "2026-09-06", "data": { "edition": "European Tour 12", "round": "Final", "players": ["Luke Littler", "Luke Humphries"], "score": { "first": 8, "second": 6, "unit": "legs" }, "winner_id": "pl_VEB8HM" } }
European Tour 12, 5 and 6 September
| Event | Match | Status |
|---|---|---|
match.finished | FinalLittler 8–6 Humphries | 200 |
match.finished | Semi finalLittler 7–3 van Gerwen | 200 |
match.finished | Quarter finalLittler 6–0 Noppert | 200 |
match.finished | Last 16Littler 6–3 Ratajski | 200 |
match.finished | Last 32Littler 6–4 Springer | 200 |
What developers and analysts ask first.
Real rows across nine endpoints and no card needed. Move up when your model needs the full window or the Analyst endpoints.
curl https://api.dartsapi.com/v1/usage \ -H "Authorization: Bearer $DARTS_API_KEY"Returns your plan, your limits and today's counts.