Equibase US Horse Racing Scraper
Pricing
from $10.00 / 1,000 results
Equibase US Horse Racing Scraper
Scrape US Thoroughbred horse racing data from Equibase.com — the official source for North American racing. Extract race entries (horses, jockeys, trainers, odds) and results (finish order, times, payouts) for any date and track.
Pricing
from $10.00 / 1,000 results
Rating
0.0
(0)
Developer
Muhamed Didovic
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Scrape US Thoroughbred horse racing data from Equibase.com — the official source for North American racing information. Extract race entries (horses, jockeys, trainers, morning line odds) and results (finish order, payouts, winning times) for any date and track.
How it works
Equibase serves all race data as pre-rendered static HTML files. The site is protected by Imperva/Incapsula bot detection, which blocks plain HTTP requests. This actor uses a two-step approach:
- Cookie extraction: A headless Chromium browser visits the site, solves the Imperva JS challenge, and extracts the session cookies.
- Static HTML scraping: The cookies are reused to fetch the race pages via plain HTTP. The HTML is parsed with Cheerio to extract structured data.
No API calls, no JavaScript rendering needed for the data itself — just static HTML files with clean, parseable content.
Input
| Field | Type | Description |
|---|---|---|
raceDate | string | Date to scrape in MM/DD/YYYY format. Use today/future for entries, past for results. |
trackCodes | array | Optional track codes to filter (e.g. BEL, CD, SA, GP). Empty = all tracks. |
dataMode | select | entries, results, or both (default: both) |
maxItems | integer | Max records to push (default: 100) |
maxRaces | integer | Max races per track. 0 = all (default: 0) |
Output
Entries (pre-race)
Each record is a horse in a race:
raceDate,track,raceNumber— race identificationraceType,purse,distance,surface,postTime,starters— race metadataprogramNumber,postPosition— horse positionhorse,horseState,ageSex,medication— horse detailsjockey,weight,trainer— connectionsmorningLineOdds— morning lineowners,breeders,pedigree,equipmentChanges— extra info
Results (post-race)
Each record is a finisher in a race:
raceDate,track,raceNumber— race identificationraceType,purse,distance,trackCondition,winningTime— race metadataageRestriction,sexRestriction,offTime— race conditionsfinishPosition,programNumber,horse,jockey— finish orderwinPayoff,placePayoff,showPayoff— payoutsalsoRan,scratches— non-finisherswagers— exacta, trifecta, superfecta payoffswinningBreeder,winningOwner,winningTrainer,winningSire— winning connections
Track codes
Common US Thoroughbred track codes: BEL (Belmont Park), CD (Churchill Downs), SA (Santa Anita), GP (Gulfstream Park), AQU (Aqueduct), SAR (Saratoga), DMR (Del Mar), TLS (Turf Paradise), PRX (Parx), MTH (Monmouth), DEL (Delaware Park), KEE (Keeneland), TAM (Tampa Bay), WO (Woodbine), and more.
URL patterns
The actor constructs URLs following these patterns:
Entries race card: /static/entry/RaceCardIndex{TRACK}{MMDDYY}{COUNTRY}-EQB.htmlEntries race: /static/entry/{TRACK}{MMDDYY}{COUNTRY}{RACENUM}-EQB.htmlResults race card: /static/chart/summary/RaceCardIndex{TRACK}{MMDDYY}{COUNTRY}-EQB.htmlResults race: /static/chart/summary/{TRACK}{MMDDYY}{COUNTRY}{RACENUM}-EQB.html