Racing Reference Scraper - NASCAR, IndyCar & ARCA Race Results
Pricing
Pay per event
Racing Reference Scraper - NASCAR, IndyCar & ARCA Race Results
Scrape race results and driver stats from Racing-Reference.info β the definitive NASCAR Cup, Xfinity, Trucks, IndyCar, and ARCA archive. Season mode fetches all races in a year; driver mode fetches career stats. Ideal for DFS, betting models, and historical research.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Actor stats
0
Bookmarked
3
Total users
2
Monthly active users
3 days ago
Last modified
Share
Racing-Reference NASCAR / IndyCar Scraper
Extract race results and driver career statistics from Racing-Reference.info β the definitive historical database for NASCAR Cup, Xfinity, Truck, IndyCar, and ARCA racing data going back decades.
What It Does
Two operating modes in one actor:
-
Season mode β Fetches every race result for a given series and year. Produces one row per driver per race, including finishing position, laps led, points earned, sponsor, and car manufacturer. Each row also carries full race-level metadata (track, date, caution counts, lead changes, margin of victory).
-
Driver mode β Fetches a driver's career overview page and extracts per-series career totals: starts, wins, top-5s, top-10s, and poles. Useful for player lookups and comparative analysis.
Input Configuration
| Field | Type | Default | Description |
|---|---|---|---|
mode | string | season | season for race results, driver for career stats |
series | string | W | Series code: W (Cup), X (Xfinity), C (Trucks), I (IndyCar), A (ARCA) |
season | integer | 2024 | Year to scrape in season mode |
driverName | string | β | Driver name for driver mode (e.g. William_Byron or William Byron). Required when mode is driver. |
maxItems | integer | 15 | Maximum number of records to return. 0 = unlimited. |
proxyConfiguration | object | Apify RESIDENTIAL US | Proxy settings. Residential proxies are required β Racing-Reference is behind Cloudflare WAF. |
Output Fields
All records include a record_type field indicating which mode produced them.
Race Result Records (record_type: "race_result")
| Field | Type | Description |
|---|---|---|
record_type | string | Always "race_result" |
series | string | Series code (W/X/C/I/A) |
season | number | Season year |
race_id | string | Race identifier, e.g. 2024_Daytona_500 |
race_name | string | Full race name, e.g. 2024 Daytona 500 |
race_date | string | Date in ISO format (YYYY-MM-DD) |
race_number | number | Race number within the season |
track_name | string | Track name, e.g. Daytona International Speedway |
track_city | string | City and state, e.g. Daytona Beach, FL |
laps_scheduled | number | Total laps scheduled |
distance_miles | number | Total race distance in miles |
average_speed_mph | number | Average race speed in mph |
pole_speed_mph | number | Pole qualifying speed in mph |
cautions_count | number | Number of caution periods |
cautions_laps | number | Total laps under caution |
lead_changes | number | Number of lead changes |
margin_of_victory | string | Margin of victory (time string or laps) |
finish_position | number | Driver's finishing position |
start_position | number | Driver's starting position |
car_number | string | Car or truck number |
driver_name | string | Driver full name |
driver_url | string | URL to driver's profile on Racing-Reference |
sponsor | string | Primary sponsor name |
owner | string | Team owner name |
manufacturer | string | Car manufacturer (Chevrolet, Ford, Toyota, etc.) |
laps_completed | number | Laps completed by this driver |
race_status | string | Finishing status (running, accident, engine, etc.) |
laps_led | number | Laps led by this driver |
points | number | Points earned |
playoff_points | number | Playoff/bonus points earned |
Driver Profile Records (record_type: "driver_profile")
| Field | Type | Description |
|---|---|---|
record_type | string | Always "driver_profile" |
driver_name | string | Driver full name |
driver_born | string | Driver date of birth |
driver_home | string | Driver hometown |
career_series | string | Series these career stats cover |
career_years | number | Number of seasons raced |
career_starts | number | Total race starts |
career_wins | number | Total wins |
career_top5 | number | Total top-5 finishes |
career_top10 | number | Total top-10 finishes |
career_poles | number | Total pole positions |
Example Outputs
Season mode β race result row:
{"record_type":"race_result","series":"W","season":2024,"race_id":"2024_Daytona_500","race_name":"2024 Daytona 500","race_date":"2024-02-19","race_number":1,"track_name":"Daytona International Speedway","track_city":"Daytona Beach, FL","laps_scheduled":200,"distance_miles":500.0,"average_speed_mph":153.7,"cautions_count":7,"cautions_laps":38,"lead_changes":23,"margin_of_victory":"0.011 seconds","finish_position":1,"start_position":9,"car_number":"45","driver_name":"William Byron","manufacturer":"Chevrolet","laps_completed":200,"race_status":"running","laps_led":19,"points":57}
Driver mode β career profile row:
{"record_type":"driver_profile","driver_name":"William Byron","driver_born":"November 29, 1997","driver_home":"Charlotte, NC","career_series":"NASCAR Cup Series","career_years":7,"career_starts":228,"career_wins":18,"career_top5":58,"career_top10":103,"career_poles":12}
Proxy Requirements
Racing-Reference.info is protected by Cloudflare WAF. The actor uses a Cloudflare bypass technique (CapSolver + residential proxy session) β Apify Residential proxies are required and are enabled by default. Datacenter proxies will be blocked.
Pricing
- $0.10 per actor start
- $0.002 per record
A full 2024 NASCAR Cup season (36 races x ~40 drivers = ~1,440 records) costs approximately $2.98.
Frequently Asked Questions
Which series are supported?
NASCAR Cup (W), NASCAR Xfinity (X), NASCAR Truck (C), IndyCar (I), and ARCA Menards (A).
How far back does data go? Racing-Reference has historical data going back to the 1940s for NASCAR. Coverage varies by series.
What does maxItems: 0 do?
Unlimited mode β the actor scrapes every driver row for every race in the season. A full season can return 1,000-2,000 rows depending on the series.
Why does the actor take longer than typical scrapers? The Cloudflare bypass requires solving a challenge before crawling begins. This adds roughly 15-30 seconds of startup overhead per run, after which scraping proceeds normally.
Can I scrape multiple seasons in one run?
Not directly β season is a single year. Run the actor once per season if you need multi-year data.
Driver name format for driver mode?
Use the driver's name as it appears in URLs β spaces replaced with underscores (e.g. William_Byron, Kyle_Larson). Spaces are also accepted and normalized automatically.
