Chess Ratings Aggregator avatar

Chess Ratings Aggregator

Pricing

from $1.28 / 1,000 players

Go to Apify Store
Chess Ratings Aggregator

Chess Ratings Aggregator

Aggregate chess player ratings from FIDE, Chess.com, Lichess, and optional 2700chess. Compare side-by-side ratings, age insights, gap to the top, countries, titles, and source usernames for top lists or single-player lookup. Export data, run via API, schedule runs, or integrate with tools.

Pricing

from $1.28 / 1,000 players

Rating

0.0

(0)

Developer

Trove Vault

Trove Vault

Maintained by Community

Actor stats

1

Bookmarked

5

Total users

0

Monthly active users

15 days ago

Last modified

Share

Chess Ratings Aggregator combines chess player ratings from FIDE, Chess.com, Lichess, and optionally 2700chess into one dataset. It starts from FIDE official rating lists or a single player lookup, enriches matched players with online ratings, and returns side-by-side ratings, ranks, age, country, title, source usernames, and computed gap insights.

Use it for chess journalism, federation research, rating dashboards, player scouting, content production, or cross-platform player comparison without opening several rating sites manually.

Why use Chess Ratings Aggregator?

Chess ratings are split across official over-the-board lists and online platforms. This actor downloads the FIDE rating list, matches players to known Chess.com and Lichess accounts where possible, optionally checks 2700chess live ratings, and returns one normalized row per player.

CapabilityManual researchChess Ratings Aggregator
SourcesSeveral websites and APIsFIDE, Chess.com, Lichess, optional 2700chess
InputManual player lookupsTop N list or single player
Cross-platform comparisonSpreadsheet workOne dataset row per player
Country and gender filteringRepeated searchesBuilt into FIDE selection
Gap analysisManual calculationgapToTop and gapToNext
API accessMixed by sourceApify dataset and API output
FIDE list or player -> match online usernames -> enrich ratings -> compute insights -> Apify dataset/API

What data does Chess Ratings Aggregator return?

Each dataset item represents one FIDE player. Chess.com, Lichess, and 2700chess fields are included only when a reliable account or live-rating match is found.

FieldWhat it means
namePlayer name from FIDE
fideIdFIDE player ID
countryFIDE country code
genderGender inferred from FIDE list data
birthYear, ageBirth year and computed current age when available
ratings.fideFIDE rating and rank for the selected time control
ratings.chessComMatched Chess.com username and bullet, blitz, rapid, daily, and FIDE profile ratings
ratings.lichessMatched Lichess username and available bullet, blitz, rapid, classical, or correspondence ratings
ratings.twoSevenHundredOptional 2700chess live classical rating
insights.gapToTopRating points behind the top player in the returned list
insights.gapToNextRating points behind the next higher returned player
insights.ageEfficiencyprodigy, veteran, peak-age, or null
runIdOptional parent workflow run ID copied from input
scrapedAtISO timestamp when the row was produced

What can you do with chess rating data?

  • Compare elite players across sources by placing FIDE, Chess.com, Lichess, and optional 2700chess ratings in one table.
  • Build country or federation reports with FIDE country filters and top N limits.
  • Track online versus over-the-board gaps for players with matched Chess.com or Lichess accounts.
  • Find rating-distance storylines with gapToTop, gapToNext, and age-based classifications.
  • Create dashboards and recurring reports by scheduling runs and exporting JSON, CSV, or Excel.
  • Power downstream workflows by appending rows to an existing Apify dataset with datasetId.

How do I aggregate chess ratings?

  1. Choose Top players or Single player lookup.
  2. For top lists, set topN, timeControl, and optional country or gender filters.
  3. For one player, provide playerName or the more reliable fideId.
  4. Leave Chess.com and Lichess enabled unless you only need FIDE data.
  5. Enable include2700chess only when live classical ratings are worth the extra proxy/runtime cost.
  6. Start the actor and export the dataset or read it through the Apify API.

What input does Chess Ratings Aggregator need?

{
"mode": "top",
"topN": 20,
"timeControl": "classical",
"filterByCountry": ["NOR"],
"includeChessCom": true,
"includeLichess": true,
"include2700chess": false
}
FieldTypeDefaultDescription
modeStringtopUse top for a FIDE leaderboard or player for one player lookup.
topNInteger100Number of ranked FIDE players to return in top mode. Runtime scales roughly with this value.
playerNameStringblankPlayer name for single-player mode. Accepts Magnus Carlsen or Carlsen, Magnus.
fideIdStringblankFIDE ID for single-player mode. More reliable than name search.
timeControlStringclassicalFIDE ranking basis: classical, rapid, blitz, or all (currently uses classical for FIDE selection).
filterByCountryArray[]ISO3 country codes such as NOR, USA, or IND. Empty means all countries.
filterByGenderStringallall, men (open list), or women.
includeChessComBooleantrueFetch matched Chess.com ratings from the public API.
includeLichessBooleantrueFetch matched Lichess ratings from the public API.
include2700chessBooleanfalseOpt-in browser scrape of 2700chess live classical ratings using Residential proxy.
datasetIdStringblankOptional existing dataset that also receives each row.
runIdStringblankOptional parent workflow run ID copied into each row.

What does the output look like?

{
"name": "Carlsen, Magnus",
"fideId": "1503014",
"country": "NOR",
"gender": "male",
"birthYear": 1990,
"age": 35,
"ratings": {
"fide": {
"classical": { "rating": 2839, "rank": 1 }
},
"chessCom": {
"username": "MagnusCarlsen",
"blitz": { "rating": 3213 },
"rapid": { "rating": 2941 }
},
"lichess": {
"username": "DrNykterstein",
"blitz": { "rating": 3153, "games": 5421 }
}
},
"insights": {
"gapToNext": 0,
"gapToTop": 0,
"ageEfficiency": "peak-age"
},
"runId": "optional-parent-run-id",
"scrapedAt": "2026-07-19T10:00:00.000Z"
}

How do I run Chess Ratings Aggregator via API?

Trigger a run with curl:

curl -X POST "https://api.apify.com/v2/acts/trovevault~chess-ratings-aggregator/runs" \
-H "Authorization: Bearer YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"mode":"top","topN":20,"timeControl":"classical","includeChessCom":true,"includeLichess":true}'

After the run finishes, read results from the default dataset or the datasetId supplied in input.

How do I fix common chess rating aggregation issues?

IssueSolution
No players returnedLoosen filterByCountry or filterByGender, reduce conflicting filters, and test topN: 10.
Single player not foundUse fideId instead of name. FIDE IDs are the most reliable lookup key.
Chess.com or Lichess data is missingMatching depends on seed mappings and fuzzy name matching. Some FIDE players do not have reliable matched usernames.
2700chess is slow or missingKeep include2700chess disabled unless needed. It uses browser automation and Residential proxy because the site can block automation.
Run takes longer than expectedLower topN or disable optional sources. Larger FIDE batches and 2700chess add runtime.
Costs are higher than expectedDisable include2700chess; it is the only source that intentionally uses Residential proxy.

Need help? Open the Actor Issues tab with the run ID, input, filters, and relevant log lines.

FAQ

Which rating sources are supported? FIDE official rating downloads, Chess.com public API, Lichess public API, and optional 2700chess live ratings.

Does it always find Chess.com and Lichess accounts? No. There is no universal mapping between FIDE IDs and online usernames. The actor uses confirmed seed mappings for major players and fuzzy matching for leaderboard entries.

Can I look up one player? Yes. Set mode to player and provide fideId or playerName. fideId is recommended when you have it.

Can I get rapid or blitz FIDE lists? Yes. Set timeControl to rapid or blitz. Chess.com and Lichess enrichment can still include several online time controls.

Can I append output to an existing dataset? Yes. Pass datasetId to write rows to another dataset as well as the default run dataset. Pass runId to label rows from a parent workflow.

Is scraping chess ratings legal? The actor reads public rating lists and public profile/API data. Review source terms and your intended use case before republishing or commercializing derived data.

What are the limitations of Chess Ratings Aggregator?

  • Online account matching is best for well-known players and can be missing for others.
  • timeControl: all currently uses classical for FIDE player selection, while online sources may still return several time controls.
  • 2700chess is optional, slower, and may fail if the site blocks browser automation.
  • FIDE list downloads can change format or availability, which may require parser updates.
  • Rating values are point-in-time snapshots from public sources, not official historical records.