Mikatiming Marathon Results Scraper avatar

Mikatiming Marathon Results Scraper

Pricing

Pay per event

Go to Apify Store
Mikatiming Marathon Results Scraper

Mikatiming Marathon Results Scraper

Scrape finisher results and split times from Boston Marathon and other mikatiming-powered races. Extracts placement, finish times, 5K–40K splits, and runner demographics for pacing analysis and coaching tools.

Pricing

Pay per event

Rating

0.0

(0)

Developer

BowTiedRaccoon

BowTiedRaccoon

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

Scrape finisher results and split times from Boston Marathon and other mikatiming-powered races. Extracts placement, finish times, 5K–40K splits, and runner demographics — the full dataset used by pacing analytics and coaching tools.

What it scrapes

The mikatiming platform powers race results for several major marathons:

  • Boston Marathonresults.baa.org
  • Berlin Marathonresults.scc-events.com (same platform)
  • Tokyo Marathon and other Abbott WMM events using mikatiming infrastructure

For each finisher, the scraper collects:

FieldDescription
race_nameRace name including year
race_yearInteger year
bibRunner bib number
runner_nameFull name (Last, First)
age_groupAge division (e.g. 18-39, 40-44)
stateRunner home state/province
clubRunning club or team
finisher_place_overallOverall finish placement
finisher_place_genderPlacement within gender division
finisher_place_age_groupPlacement within age group division
net_timeChip time (HH:MM:SS)
gross_timeGun time (HH:MM:SS)
5k_split through 40k_splitCumulative split times at each checkpoint
half_splitHalf marathon split (21.1K)
pace_per_kmAverage pace (min/mile as reported by mikatiming)

Use cases

  • Pacing analytics — full 5K-through-40K split ladders for training plan modeling
  • Coaching SaaS — historical finishing data for runners by age group and event
  • Race research — compare performance across years, divisions, and events
  • Academic sports science — population-level marathon finishing data

Input

ParameterTypeDescription
baseUrlstringBase URL of the mikatiming results site (e.g. https://results.baa.org/2024/)
eventIdstringMikatiming event identifier from the URL's ?event= parameter (e.g. 2024_boston)
maxItemsintegerMaximum finisher records to scrape. Set 0 for all finishers. Default: 10

Boston Marathon example

{
"baseUrl": "https://results.baa.org/2024/",
"eventId": "2024_boston",
"maxItems": 100
}

The eventId value appears in the site URL when you navigate to the results list: ?event=2024_boston.

How it works

The scraper uses a two-level hierarchical crawl:

  1. Listing pages — iterates the finisher list at ?pid=list&page=N (25 runners per page, sequential pagination)
  2. Detail pages — fetches each runner's ?content=detail&idp=<ID> page to extract the full dataset including all splits

The site is server-rendered HTML. No JavaScript execution required. Polite crawling at 2 concurrent requests with automatic rate-limit backoff.

Notes

  • The BAA results page does not expose gender, city, or country fields for all runners — these fields will be null for entries where the data is not published.
  • Split times are cumulative from gun start (standard marathon split convention).
  • The pace_per_km field actually reports min/mile (as labeled by mikatiming) — the field name reflects the spec; the values are min/mile.
  • Boston 2024 has approximately 25,500 finishers across 1,022 listing pages. Use maxItems to cap output during testing.