πŸƒβ€β™‚οΈ UTMB Runner Data Scraper avatar
πŸƒβ€β™‚οΈ UTMB Runner Data Scraper

Pricing

Pay per event

Go to Apify Store
πŸƒβ€β™‚οΈ UTMB Runner Data Scraper

πŸƒβ€β™‚οΈ UTMB Runner Data Scraper

Developed by

Jakub Wolf

Jakub Wolf

Maintained by Community

Extract comprehensive runner profiles and race history from the official UTMB World Series API. Get detailed performance indexes, race results, and athlete information for ultramarathon analysis and research.

0.0 (0)

Pricing

Pay per event

0

2

2

Last modified

6 days ago

Extract comprehensive runner profiles and race history from the official UTMB World Series API. Search by name or browse by category to get detailed performance indexes, race results, and athlete information for ultramarathon analysis and research.

Try on Apify

🎯 What This Actor Does

The UTMB Runner Data Scraper extracts comprehensive athlete data from the official UTMB World Series API, providing detailed runner profiles, performance indexes, and complete race histories. Perfect for ultramarathon research, athlete analysis, and performance tracking.

Key Features

  • πŸ” Search by Name: Find specific runners by entering their name for targeted data extraction
  • πŸ† Complete Runner Profiles: Extract full athlete information including demographics, affiliations, and performance metrics
  • πŸ“Š Performance Indexes: Get UTMB performance indexes across all categories (20k, 50k, 100k, 100m, general)
  • πŸƒβ€β™€οΈ Race History: Access detailed race results with positions, times, distances, and elevation data
  • ⚑ Fast & Reliable: Optimized parallel processing with built-in rate limiting
  • πŸ” Flexible Filtering: Filter by gender, performance category, number of runners, or search by name
  • πŸ“ Position Control: Start scraping from any position in the ranking using offset parameter
  • πŸ“ˆ Export Ready: Data available in JSON, CSV, and other formats

πŸš€ Quick Start

  1. Set Parameters: Choose number of runners (1-1000), gender filter, performance category, starting position offset, or search by specific runner name
  2. Run the Actor: Click "Start" to begin data extraction
  3. Get Results: Download structured data with runner profiles and race histories

Default Configuration

  • Runners: 10 profiles
  • Gender: Both men and women
  • Category: General performance index
  • Race Data: Included by default
  • Starting Position: 1 (offset: 0)
  • Search Mode: General list (or enter specific runner name)

πŸ” Search by Runner Name

You can search for specific runners by name! This powerful feature allows you to:

  • Targeted Extraction: Find and extract data for specific athletes
  • Partial Name Matching: Search works with partial names (e.g., "Kilian" will find "Kilian Jornet")
  • Flexible Search: Combine name search with other filters (gender, category)
  • Efficient Data Collection: Get exactly the runners you need without scraping large datasets
  1. Enter Runner Name: In the "Runner Name" field, type the name you're looking for
  2. Set Other Filters: Optionally set gender, category, and other parameters
  3. Run the Actor: The scraper will search for matching runners and extract their data
  4. Get Results: Receive detailed profiles and race history for matching athletes

Search Examples

  • Full Name: "Kilian Jornet" - finds the specific athlete
  • Partial Name: "Kilian" - finds all runners with "Kilian" in their name
  • Last Name: "Jornet" - finds all runners with "Jornet" as surname
  • First Name: "FranΓ§ois" - finds all runners named FranΓ§ois

πŸ“ Position Control with Offset

You can control exactly where to start scraping in the UTMB ranking! The offset feature allows you to:

  • Skip Runners: Start from any position in the ranking (e.g., offset 100 starts from position 101)
  • Batch Processing: Scrape runners in chunks by using different offset values
  • Resume Scraping: Continue from where you left off in previous runs
  • Targeted Ranges: Focus on specific performance ranges in the ranking

How to Use Offset

  1. Set Offset Value: Enter the starting position (0 = position 1, 100 = position 101)
  2. Set Number of Runners: Specify how many runners to scrape from that position
  3. Run the Actor: The scraper will start from your specified position
  4. Get Results: Receive data for runners in your specified range

Offset Examples

  • Offset 0: Scrapes runners 1-10 (if numberOfRunners = 10)
  • Offset 50: Scrapes runners 51-60 (if numberOfRunners = 10)
  • Offset 100: Scrapes runners 101-110 (if numberOfRunners = 10)

Batch Processing Strategy

For large-scale data collection, you can run multiple Actor instances with different offsets:

  • Run 1: Offset 0, Number of Runners 100 β†’ Gets runners 1-100
  • Run 2: Offset 100, Number of Runners 100 β†’ Gets runners 101-200
  • Run 3: Offset 200, Number of Runners 100 β†’ Gets runners 201-300

πŸ“Š Data You'll Get

Runner Profile Data

  • Personal Info: Full name, nationality, age group, gender
  • Affiliations: Club, team, sponsor information
  • Performance: UTMB indexes across all distance categories
  • Contact: Website and description details

Race Results Data

  • Race Details: Name, date, distance, elevation gain
  • Performance: Finish time, position, ranking
  • Status: DNF status, cotation information
  • Location: Country and venue information

πŸ› οΈ Input Parameters

ParameterTypeDescriptionDefault
Number of RunnersIntegerHow many runner profiles to scrape (1-1000)10
Gender FilterStringFilter by men, women, or bothboth
UTMB CategoryStringPerformance category filter (20k, 50k, 100m, 100k, general)general
Runner NameStringSearch for specific runners by name (optional)(empty)
Starting Position OffsetIntegerStart scraping from specific position (0 = position 1)0
Include RacesBooleanWhether to fetch detailed race historytrue
Dataset NameStringCustom name for output dataset(unnamed)

πŸ“ˆ Output Data Structure

Runner Object

{
"fullname": "Kilian Jornet",
"nationality": "Spain",
"nationalityCode": "ES",
"gender": "Men",
"ageGroup": "35-39",
"generalIndex": 850,
"20kIndex": 820,
"50kIndex": 840,
"100kIndex": 860,
"100mIndex": 870,
"club": "Team Salomon",
"team": "Salomon",
"sponsor": "Salomon",
"uri": "kilian-jornet",
"RaceResults": [...]
}

Race Result Object

{
"race": "UTMB Mont-Blanc",
"dateIso": "2023-08-25",
"distance": "171.5",
"elevationGain": 10000,
"time": "20:15:30",
"rank": 1,
"rankGender": 1,
"piCategory": "100m",
"country": "France",
"isDnf": false
}

🎯 Use Cases

Research & Analysis

  • Athlete Performance Studies: Analyze performance trends across different distance categories
  • Demographic Research: Study participation patterns by nationality, age, and gender
  • Race Analysis: Track performance across different ultramarathon events
  • Individual Athlete Research: Deep dive into specific runner's career and performance history

Sports Data Applications

  • Performance Tracking: Monitor athlete progress over time
  • Competition Analysis: Compare runners across different events
  • Training Insights: Identify patterns in successful ultramarathon performances
  • Athlete Profiling: Create comprehensive profiles for specific runners of interest

Business Intelligence

  • Market Research: Understand the ultramarathon community demographics
  • Sponsorship Analysis: Track athlete affiliations and sponsorships
  • Event Planning: Analyze participation patterns for race organization
  • Athlete Scouting: Find and analyze specific runners for partnerships or research

Targeted Data Collection

  • Specific Runner Analysis: Get detailed data for known athletes
  • Name-based Research: Search for runners with partial or full names
  • Focused Studies: Extract data for specific individuals rather than broad datasets
  • Position-based Analysis: Study runners from specific ranking positions or ranges

Large-Scale Data Collection

  • Batch Processing: Scrape large datasets in manageable chunks using offset
  • Resume Capability: Continue scraping from where previous runs stopped
  • Performance Tier Analysis: Focus on specific performance ranges (top 100, 100-200, etc.)
  • Distributed Scraping: Run multiple instances with different offsets for parallel collection

πŸ’° Pricing

Base Pricing

Data TypePrice per 1,000 RunnersPer Runner Cost
With Race Details$1.45$0.00145
Without Race Details$0.75$0.00075

Cost Examples

RunnersWith Race DetailsWithout Race Details
100~$0.15~$0.08
500~$0.73~$0.38
1,000$1.45$0.75
2,000$2.90$1.50
5,000$7.25*$3.75*

Volume discounts available for higher tiers

⚑ Performance & Limits

  • Processing Speed: Up to 2 runners processed in parallel
  • Rate Limiting: Built-in delays to respect API limits
  • Maximum Runners: 1,000 profiles per run
  • Data Completeness: Includes all available runner and race data

πŸ”§ Technical Details

API Integration

  • Source: Official UTMB World Series API
  • Authentication: Uses tenant headers for API access
  • Rate Limiting: Respectful 100ms delays between requests
  • Error Handling: Robust error handling with detailed logging

Data Processing

  • Parallel Processing: Optimized batch processing for efficiency
  • Data Validation: Comprehensive data cleaning and validation
  • Schema Compliance: Structured output following Apify standards
  • Ultramarathon Data Scraper: For race results and event data
  • Athlete Performance Tracker: For monitoring individual progress
  • Sports Analytics Suite: For comprehensive sports data analysis

πŸ†˜ Support & Troubleshooting

Common Issues

  • Rate Limiting: If you encounter API limits, reduce the number of runners
  • Data Inconsistency: Some runners may have incomplete race histories
  • Performance: Large datasets may take longer to process

Getting Help

  • Documentation: Check the Apify Academy for detailed guides
  • Community: Join the Apify Community for support
  • Issues: Report bugs or request features through the Actor page

πŸ”„ Updates & Maintenance

This Actor is regularly updated to maintain compatibility with the UTMB API and improve performance. Check the changelog for the latest updates and improvements.


Ready to extract UTMB runner data? Try this Actor now and get comprehensive ultramarathon athlete information in minutes!

Built with ❀️ using the Apify platform and Crawlee web scraping framework.