Growing Discord community — direct access to the developer, live coverage & picks. Join now →
Docs MCP Images Tournaments Rankings Matches Predictions ⚡ Get the Sports Addon
Darts API · v2

Darts data API.

REST endpoints for PDC matches, players, tournaments, ELO ratings, ML predictions, plus an MCP server for Claude/ChatGPT/Gemini. Sports Addon · $5/mo

Quickstart

  1. Register at sports.bzzoiro.com/register/ — free.
  2. Subscribe to the Sports Addon ($5/mo) to unlock the darts API.
  3. Send Authorization: Token YOUR_TOKEN on every request.
# Live darts matches curl -H "Authorization: Token YOUR_TOKEN" \ "https://sports.bzzoiro.com/darts/api/v2/matches/live/"

Authentication

Pass your token via the Authorization header:

Authorization: Token YOUR_TOKEN

If you don't have an active Sports Addon subscription, gated endpoints return 402 Payment Required.

Base URL

Base URL
https://sports.bzzoiro.com/darts
API prefix
/darts/api/v2/
Subscription
Sports Addon · $5/mo

Pagination

List endpoints use limit + offset query params and return:

{ "count": 220, "next": "https://sports.bzzoiro.com/darts/api/v2/players/?limit=50&offset=50", "previous": null, "results": [/* … */] }
  • limit — page size. Default 50, max 200 (rankings: max 500).
  • offset — items to skip. Default 0.

Tournaments

GET/darts/api/v2/tournaments/List

Active darts tournaments (PDC majors, World Series, Pro Tour, regional).

ParameterTypeDescription
categorystringFilter by category (e.g. major, protour)
include_inactivebooleanDefault false
limit / offsetintPagination
GET/darts/api/v2/tournaments/{id}/Detail

Tournament detail. Cached 5 min.

Players

GET/darts/api/v2/players/List

Players sorted by overall ELO. Includes 3-dart average, checkout %, 180s/match (last 10).

ParameterTypeDescription
countrystringISO 3166-1 alpha-2
searchstringCase-insensitive name fragment
limit / offsetintPagination
# Top 10 darts players by ELO curl -H "Authorization: Token YOUR_TOKEN" \ "https://sports.bzzoiro.com/darts/api/v2/players/?limit=10"
GET/darts/api/v2/players/{id}/Detail

Full profile: name, country, ELO ratings (overall / major / protour), serve averages.

Matches

GET/darts/api/v2/matches/List

Darts matches. Defaults to next 7 days.

ParameterTypeDescription
date_from / date_todateYYYY-MM-DD bounds
tournamentint / strTournament ID or name fragment
playerint / strPlayer ID or name fragment
statusstringscheduled, live, finished, walkover
limit / offsetintPagination
GET/darts/api/v2/matches/live/Live

Currently in-progress matches with set-by-set breakdown. Cached 30s.

GET/darts/api/v2/matches/{id}/Detail

Full match details with sets_detail, current set state, and odds.

{ "id": 3912, "tournament": { "name": "World Matchplay" }, "player1": { "name": "Luke Humphries", "elo_overall": 1875 }, "player2": { "name": "Michael van Gerwen", "elo_overall": 1834 }, "status": "finished", "player1_sets": 11, "player2_sets": 8, "sets_detail": [{"p1":3,"p2":2}, …] }

Predictions

GET/darts/api/v2/predictions/List

ML predictions for upcoming darts matches.

Each prediction returns:

  • prob_player1_wins, prob_player2_wins (0–100)
  • predicted_winner, confidence (0–100)
  • Match nested with both players + tournament

Rankings

GET/darts/api/v2/rankings/List

PDC Order of Merit, Pro Tour Order of Merit. Latest snapshot by default.

ParameterTypeDescription
typestringPDC (default) or PROTOUR
datedateYYYY-MM-DD snapshot date
limit / offsetintPagination (max 500)

MCP server

The darts MCP exposes 7 typed tools to LLM clients (Claude Desktop, ChatGPT, Cursor, Gemini). Same Sports Addon subscription unlocks it.

POST/darts/mcp/JSON-RPC 2.0

Available tools:

  • list_tournaments — active tournaments
  • list_players — sorted by ELO, filter by country
  • search_players — by name fragment
  • list_matches — by status, date window
  • get_match
  • get_predictions — upcoming match predictions
  • get_rankings — PDC OoM, Pro Tour OoM

Claude Desktop config

// claude_desktop_config.json { "mcpServers": { "bzzoiro-darts": { "url": "https://sports.bzzoiro.com/darts/mcp/", "transport": "http", "headers": { "Authorization": "Token YOUR_TOKEN" } } } }

Static images

Player photos served as PNG via the BSD image proxy. Public endpoint — no auth required, drop directly into <img src=> tags. Cached up to 1 year.

GET/img/darts-player/{player_id}/PNG

Player headshot. player_id is the id field from any darts API response.

// HTML <img src="https://sports.bzzoiro.com/img/darts-player/412122/" alt="Luke Humphries" />

Returns 404 when the upstream has no photo. Sister endpoints exist across sports: /img/tennis-player/, /img/csgo-team/, /img/csgo-player/, /img/hockey-team/, /img/hockey-league/.

Need help? Email bzzoiro@proton.me. Or subscribe to the addon first if you're getting 402s.