Athletics Rankings, Athletes & Calendar
Pricing
from $4.52 / 1,000 results
Athletics Rankings, Athletes & Calendar
Athletics data: world rankings by event, athlete profiles with personal bests and honours, competition calendar, results and world records. Data from World Athletics.
Pricing
from $4.52 / 1,000 results
Rating
0.0
(0)
Developer
Scraper Master
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
12 days ago
Last modified
Categories
Share
Collect public athletics data into clean, structured rows: weekly world rankings, athlete profiles, the competition calendar, competition results and records.
All data comes from World Athletics (worldathletics.org). This Actor is an independent tool and is not affiliated with or endorsed by World Athletics. Only publicly visible information is read; no login is used.
Modes
Choose one with the mode input. Every mode respects maxItems. A problem with one input (for example an unknown athlete) produces a row with "error": true and the run continues.
rankings
Weekly world ranking lists for one event and sex, optionally limited to an area or a country, or taken from an earlier week.
{ "mode": "rankings", "event": "marathon", "sex": "women", "regionType": "countries", "region": "ken", "maxItems": 50 }
event is the slug used in World Athletics ranking URLs (100m, 400m, marathon, high-jump, 110mh, overall-ranking). Place movement is computed by comparing with the previous weekly list (switch off with includeMovement: false). It is empty for athletes who were not in the part of the previous list that was read.
athlete
Full profile for athletes given by URL, numeric ID or name search.
{ "mode": "athlete", "athletes": ["https://worldathletics.org/athletes/jamaica/oblique-seville-14737998", "14201847"], "searchNames": ["Faith Kipyegon"] }
calendar
Competitions for a year, with optional area, country, category, discipline and text filters.
{ "mode": "calendar", "year": 2025, "area": "Europe", "category": "GW", "maxItems": 100 }
results
Result rows for one or more competitions, optionally narrowed to one event and sex. Competition IDs come from the calendar mode (competitionId). One request is needed per competition day.
{ "mode": "results", "competitions": ["7132391"], "event": "100 Metres", "sex": "men", "maxItems": 200 }
records
World, U20, championship and Olympic record lists, chosen with recordType.
{ "mode": "records", "recordType": "World Records", "event": "100 Metres" }
Output fields
| Mode | Main fields |
|---|---|
| rankings | rank, athlete, nationality, dateOfBirth, points, previousRank, placeMovement (positive = moved up), rankedEvents, event, sex, region, rankDate, athleteUrl |
| athlete | athleteId, name, country, countryCode, dateOfBirth, sex, disciplines, personalBests[], seasonBestsSeason, seasonBests[], honourSummary[], honours[] (medals and finals by category), worldRankings[] (current place per event), bestWorldRankings[], resultsByYear[] (optional), url |
| calendar | competitionId, name, startDate, endDate, dateRange, venue, countryCode, area, category, competitionGroup, disciplines, hasResults |
| results | competitionId, competition, venue, event, eventId, sex, round, date, place, athlete, country, mark, wind, points, qualified, records, remark, athleteUrl |
| records | recordType, sex, event, mark, wind, equalled, pending, athlete, country, dateOfBirth, venue, date, athleteUrl |
| error row | error, message, mode, input |
Notes and limitations
- Rankings and athlete profiles are read from the website's pages; the calendar, results, name search and records use the same public JSON endpoint that the website itself calls. That endpoint requires a public read-only key which is shipped inside the site's own JavaScript; it is kept as a named constant in
src/util.js. - The athlete profile shows one season of detailed results (the latest on the page). Older seasons are not fetched.
- Results are limited to what World Athletics publishes for a competition; older or small meetings may have no result rows. Decathlon and heptathlon discipline lines can appear under the matching single-event name.
- Area records are not included; use
recordTypevalues for world, championship and Olympic lists. - Requests are made one at a time with random pauses of about one second and are retried with backoff on rate limiting or server errors. Large runs therefore take time.
- Page layouts and field names may change on the source website.
Local test
npm install./run-test.sh '{"mode":"rankings","event":"100m","sex":"men","maxItems":5}'
Rows are written to storage/datasets/default.