Developer API

    Race data your app can trust.

    Pull our normalized race calendar, deterministic scores, and featured slots into your newsletter, club site, training app, or analysis tool.

    Auth & rate limits

    Send your key in the X-API-Key header on every request:

    curl -H "X-API-Key: rs_…" \
      "https://running.services/api/v1/races?state=NY&distance=5K&page=1&perPage=10"
    Free
    1,000 req / month
    Growth
    10,000 req / month
    Pro
    50,000 req / month

    Each response includes X-RateLimit-Limit and X-RateLimit-Remaining headers. Hitting your cap returns HTTP 429 until the next monthly window.

    Endpoints

    GET
    /api/v1/races

    Paginated race search. Filters: city, state, distance, surface, isTurkeyTrot, bostonQualifier, walkerFriendly, strollerFriendly. Pagination: page (default 1), perPage (max 100, default 25).

    GET
    /api/v1/races/:slug

    Full detail for a single race by URL slug.

    GET
    /api/v1/featured/races

    Featured slots — useful for partner sites that want to surface promoted races.

    Sample response

    {
      "page": 1,
      "perPage": 10,
      "results": [
        {
          "id": 1042,
          "slug": "brooklyn-thanksgiving-5k-2026",
          "name": "Brooklyn Thanksgiving 5K",
          "date": "2026-11-26",
          "city": "Brooklyn",
          "state": "NY",
          "distance": "5K",
          "isTurkeyTrot": true,
          "scores": { "beginner": 88, "pr": 64, "value": 72, "vibe": 90, "family": 95, "quality": 86 },
          "url": "https://running.services/races/brooklyn-thanksgiving-5k-2026"
        }
      ]
    }

    Already have a key?

    Manage usage from the API keys tab on your organizer dashboard.

    Open dashboard