CueTracker Snooker Stats Scraper avatar

CueTracker Snooker Stats Scraper

Pricing

from $3.00 / 1,000 results

Go to Apify Store
CueTracker Snooker Stats Scraper

CueTracker Snooker Stats Scraper

Scrape CueTracker.net snooker data - player profiles & bios, match results, world rankings by season, tournament draws/results, and head-to-head records between any two players. No login or proxy required.

Pricing

from $3.00 / 1,000 results

Rating

0.0

(0)

Developer

Crawler Bros

Crawler Bros

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Scrape professional snooker data from CueTracker.net — player profiles and career bios, match-by-match results, world rankings by season, tournament draws and results, and head-to-head records between any two players. No login, cookies, or paid proxy required.

What this actor does

  • Six modes: rankings, playerProfile, players, tournamentResults, tournamentsBySeason, headToHead
  • World rankings for any season, either the official start-of-season snapshot or the final end-of-season snapshot
  • Full match history for a player's season, including opponent, score, round, tournament, date, referee and frame-by-frame scores
  • Tournament draws — every match played at a given tournament/season, from qualifiers through to the final
  • Season tournament calendar — browse every tournament played in a season (dates, category, winner) to discover tournamentSlug values without knowing them upfront
  • Head-to-head comparisons — lifetime stats (matches, frames, centuries, maximums, prize money) plus the full list of matches the two players have contested against each other
  • Player directory browsable by country (140-option dropdown covering every nation CueTracker tracks), with name filtering
  • Empty fields are always omitted — every record only contains data CueTracker actually published

Output fields

Fields vary by recordType. scrapedAt is always included; most record types also carry sourceUrl (player records carry profileUrl instead):

  • playerfullName, nationality, countrySlug, playerSlug, profileUrl; player-directory listings (mode=players) also include firstName, lastName; player profiles (mode=playerProfile) also include dateOfBirth, age, turnedProfessional, seasonsAsProfessional, matchesPlayed
  • matchround, tournamentName, tournamentUrl, player1Name/player2Name (+ nationality/slug), player1Score/player2Score, score, winnerName, matchDate, referee, frameScores, matchId
  • rankingseason, rankingType, rankingPosition, rankingPoints, playerName, nationality, countrySlug, playerSlug, profileUrl
  • tournamenttournamentName, tournamentStatus, season, dates, location (mode=tournamentResults); mode=tournamentsBySeason emits one lighter tournament record per event instead: season, tournamentName, tournamentSlug, dates, category, winnerName, winnerSlug, winnerNationality, winnerCountrySlug, sourceUrl (winner fields omitted for events not yet played)
  • headToHeadplayer1Slug/player2Slug, player1Name/player2Name, and per player (player1/player2 prefix): SeasonsAsProfessional, MaximumsMade, MatchesPlayed/MatchesWon(+Rate)/MatchesLost(+Rate)/MatchesDrawn(+Rate), FramesPlayed/FramesWon(+Rate), TournamentsPlayed/TournamentsWon(+Rate), CenturiesMade, CenturyRate, DecidersPlayed/DecidersWon(+Rate), WhitewashesPlayed/WhitewashesWon(+Rate), PrizeMoney — e.g. player1MatchesPlayed, player2FramesWonRate, player1PrizeMoney

Input

FieldTypeDefaultDescription
modestringrankingsrankings / playerProfile / players / tournamentResults / tournamentsBySeason / headToHead
seasonstring– (auto)Season in YYYY-YYYY format. Auto-detects the latest published season if omitted.
rankingTypestringstartstart (world ranking players began the season with) or finish (final ranking, once the season concludes)
playerSlugsarray["judd-trump"]Player slugs or profile URLs (mode=playerProfile)
statusstringprofessionalprofessional or non-professional match filter (mode=playerProfile)
countrystring (dropdown)– (any)Country to filter the player directory — 139-option dropdown, e.g. england, china (mode=players)
nameQuerystringCase-insensitive substring filter on player name (mode=players)
tournamentSlugstringworld-championshipTournament slug (mode=tournamentResults)
player1Slug / player2Slugstringjudd-trump / ronnie-osullivanTwo players to compare (mode=headToHead)
maxItemsint25Hard cap on emitted records (1-1000)

Example: current world rankings

{ "mode": "rankings", "season": "2025-2026", "rankingType": "start", "maxItems": 32 }

Example: a player's season results

{ "mode": "playerProfile", "playerSlugs": ["judd-trump"], "season": "2025-2026", "status": "professional" }

Example: World Championship draw

{ "mode": "tournamentResults", "tournamentSlug": "world-championship", "season": "2025-2026" }

Example: head-to-head

{ "mode": "headToHead", "player1Slug": "judd-trump", "player2Slug": "ronnie-osullivan" }

Example: browse tournaments played in a season

{ "mode": "tournamentsBySeason", "season": "2024-2025", "maxItems": 50 }

Use cases

  • Sports media — build live rankings tables and player bio pages
  • Betting & fantasy sports — head-to-head records and recent form for odds modeling
  • Fan sites & apps — tournament draws, match results, and player career stats
  • Sports analytics — bulk-export match-by-match data for statistical modeling
  • Broadcast research — pull player bios and career milestones ahead of coverage

FAQ

What's CueTracker? A community-run statistics site tracking professional and amateur snooker results back to the sport's earliest recorded tournaments. See cuetracker.net.

Why does rankingType=finish sometimes return nothing? CueTracker only populates the end-of-season "finish" ranking once that season has actually concluded. For the current, in-progress season, use rankingType=start (the official ranking players carried into the season).

How do I find a player's slug? It's the last part of their CueTracker profile URL, e.g. judd-trump from cuetracker.net/players/judd-trump. You can also discover slugs via mode=players.

Why does mode=players with nameQuery but no country sometimes miss well-known players? CueTracker's unscoped /players directory (used when no country is given) is a smaller subset of the full database and can omit current top professionals entirely. Each country-specific listing (mode=players, country=england, etc.) is comprehensive for that country. For reliable name search, pair nameQuery with a country, or use mode=playerProfile if you already know the slug, or mode=rankings to browse current professionals by name.

What tournament slugs are supported? Any tournament CueTracker tracks, e.g. world-championship, masters, uk-championship, welsh-open, players-championship, tour-championship, world-open, german-masters, championship-league. The actor resolves the slug against the given season automatically. Don't know a slug? Run mode=tournamentsBySeason first to list every tournament (with its slug) played in a given season.

Why are some frameScores long strings instead of arrays? CueTracker publishes frame-by-frame scores as a single semicolon-separated string (e.g. 21-86(58); 102(70)-9; ...), with break values in parentheses. The actor preserves this exactly as published.

How far back does the data go? CueTracker's ranking archive goes back to the 1930s; match-level detail is most complete from the 1980s onward.

Is a proxy or login required? No — CueTracker serves full match/ranking data to plain HTTP requests. This actor uses Apify's free AUTO proxy group only as a fallback if ever rate-limited.