Skip to content

Live proof of concept · real data

Every race. Every distance.
One trustworthy nightly feed.

RunSignup, ACTIVE and Race Roster — reviewed against their published terms, integrated only through documented APIs, and normalized into one clean record per event distance for your Next.js directory.

Request spacing
60 s
Concurrency
1 call
Fields inferred
Zero

Directory pulse

Loading…

Upcoming events

—

Race distances

—

Open for registration

—

States & regions

—

Closing within 7 days

—

Price rises within 7 days

—

Next nightly run · 2:00 a.m. ET

--:--:--

Run history →

Milestone 1 · Source review

Three providers. One honest answer each.

Every source was reviewed against its published API documentation and terms before a single line of integration code. Where access is gated, we say so — and never work around it.

RunSignup

01
Live · integrated

Pulling nightly through the documented public API.

Documented fields available18/24

Verdict: Integrate now (priority 1).

Full review →

ACTIVE Network

02
Ready · needs API key

Adapter built and tested against the documented schema. Switches on the moment a key is added.

Documented fields available18/24

Verdict: Adapter built against the documented schema; activates when ACTIVE_API_KEY is added.

Full review →

Race Roster

03
Partner access required

Documented API exists but is issued to approved partners only. Access request drafted.

Documented fields available1/24

Verdict: Request partner access; adapter reports 'partner_gated' on every run until granted.

Full review →

Live from the database

What your directory looks like tonight

Open the explorer

Race distances by state

Tap a state to explore

Registration status

Distance mix

Upcoming race distances by month

Milestones 2 & 3 · Integration & schedule

A quiet, polite, reliable night shift

  1. 1

    2:00 a.m. ET

    Wake up on time

    A DST-aware scheduler starts the run at 2:00 a.m. America/New_York every night — summer or winter.

  2. 2

    Plan

    Estimate before calling

    The target list is turned into a call plan with a runtime estimate and hard budgets for calls and time.

  3. 3

    Queue

    One call at a time

    A single polite queue: one request in flight, 60 seconds apart (longer if a provider asks), safe backoff on errors.

  4. 4

    Normalize

    One record per distance

    Each sub-event becomes its own record with status, price periods, capacity and source timestamps — nothing inferred.

  5. 5

    Deliver

    Directory + private files

    Records are upserted into Postgres with history, exported to JSON/CSV in a private bucket, and failures alert you.

Plug it straight into your Next.js frontend

Download tonight's normalized JSON or CSV, grab the JSON Schema and TypeScript types, or follow the plain-English manual — no engineering background needed.