OrbTop

CBAt Brazil Road Race Calendar Scraper

SPORTSTRAVEL

CBAt Brazil Road Race Calendar Scraper

Scrapes the official Confederação Brasileira de Atletismo (CBAt) sanctioned road-race calendar for Brazil. Returns every CBAt-permitted street-running event with race name, date, distances offered, host city and state, permit level (Bronze, Ouro, Prata), and permit number.

Brazil is LATAM's #1 running market (28M+ registered runners) and CBAt is the sole federation that sanctions road races claiming a chancela federal. This actor is the authoritative machine-readable source for the approximately 1 500 sanctioned events published per calendar year.

What does it do?

The actor fetches two calendar pages from cbat.org.br:

  • Bronze calendar (~120 events) — community and regional races with a CBAt Bronze permit
  • Ouro e Prata calendar (~30 events) — premium events including half-marathons and marathons with Gold or Silver permits

Event data is embedded as HTML tables inside Next.js RSC (React Server Components) script payloads; the actor decodes and parses these tables to produce clean, structured output.

Output schema

Field Type Description
event_id string Permit number (e.g. "033/2026"), or generated slug when unavailable
event_name string Official race name as listed on the CBAt calendar
event_date_day string Day(s) of the month the race is held
event_month string Month in Portuguese (e.g. "Janeiro", "Maio")
event_year integer Calendar year (e.g. 2026)
event_type string Always "corrida-de-rua"
permit_level string "Bronze" or "Ouro e Prata"
permit_number string CBAt permit number (e.g. "033/2026")
host_city string Host city name
host_state string Two-letter Brazilian state abbreviation (e.g. "SP", "RJ")
host_location string Raw location string as scraped
distances string Comma-separated list of race distances (e.g. "5km, 10km, 21km")
contact_info string Organiser contact — email and/or phone number
federation_sanctioned boolean Always true — every record is CBAt-sanctioned
source_url string URL of the calendar page the record was scraped from

Input

Parameter Type Default Description
maxItems integer 0 Maximum records to collect. 0 = no limit (returns all ~150 events).
permit_levels array ["bronze", "ouro_prata"] Which permit-tier calendars to scrape. Valid values: "bronze", "ouro_prata".

Sample output

{
  "event_id": "033/2026",
  "event_name": "Corrida da Integração Nacional",
  "event_date_day": null,
  "event_month": "Janeiro",
  "event_year": 2026,
  "event_type": "corrida-de-rua",
  "permit_level": "Bronze",
  "permit_number": "033/2026",
  "host_city": "Própria",
  "host_state": "SE",
  "host_location": "Própria/SE",
  "distances": "5km, 10km",
  "contact_info": "Email: rfeitosaantonio750@gmail.com Celular: (79) 9997-17166",
  "federation_sanctioned": true,
  "source_url": "https://cbat.org.br/corridas-de-rua/calendario/227/permit-cbat-bronze"
}

Notes

  • The full calendar is updated by CBAt throughout the year as new permits are approved. Re-run to get the latest data.
  • The actor only covers the road-race calendar. Track-and-field events and athlete roster data from the sge.cbat.org.br system are not in scope.
  • No proxy or authentication is required — all calendar pages are publicly accessible via direct HTTP.