[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"api-page:nascar":3},{"status":4,"api":5,"seo":961},"success",{"blocked":6,"description":7,"about":8,"stats":9,"name":11,"title":12,"slug":13,"logo":14,"created_at":15,"agent":16,"user":28,"endpoint_groups":31,"faqs":894,"features":901,"periodic_plans":902,"payasyougo_plans":960},false,"Every NASCAR Cup Series season since 1949. Drivers, teams, tracks, results and three championships, plus lap-by-lap timings.","A RESTful NASCAR Cup Series data API covering every season since 1949: drivers, teams, tracks, race weekends, session results, and the drivers, owners and manufacturers championships. Lap-by-lap timing and stage results run from 2020, and live timing covers race weekends as they run.\n\n**Coverage:** 1949–2026, 78 seasons.\n\nData is aggregated and normalized by [Blacktop](https://ocblacktop.com), which serves the same shape across every series it covers. This listing is NASCAR Cup Series only, across 25 endpoints.\n\n## Authentication\n\nEvery request is authenticated. Send your key in the `X-JoJAPI-Key` header; the gateway holds the upstream credential and adds it on the way through. A request without a valid key returns `401 Unauthorized`.\n\n## Endpoints\n\n25 operations, grouped below. Every list endpoint is paginated; every detail endpoint takes the UUID that its list endpoint returns.\n\nThe `/live/` endpoints read the current state of a session that is on track and return nothing once it has finished; everything else is historical and stable. Poll live endpoints, and use the season, event and session endpoints to find the session id to poll.\n\n### NASCAR Drivers\n\nEvery NASCAR Cup Series driver on record, with profile and career history.\n\n| Endpoint | Description |\n|---|---|\n| `GET /v1/nascar/drivers` | List all NASCAR drivers |\n| `GET /v1/nascar/drivers/{id}` | Get driver details by ID |\n\n### NASCAR Teams\n\nNASCAR Cup Series teams, with profiles and the seasons they entered.\n\n| Endpoint | Description |\n|---|---|\n| `GET /v1/nascar/teams` | List all NASCAR teams |\n| `GET /v1/nascar/teams/{id}` | Get team details by ID |\n\n### NASCAR Events\n\nThe NASCAR Cup Series calendar: race weekends, the sessions inside them, and each session's results and timing.\n\n| Endpoint | Description |\n|---|---|\n| `GET /v1/nascar/events` | List all NASCAR events |\n| `GET /v1/nascar/events/{id}` | Get event details by ID |\n| `GET /v1/nascar/events/{eventId}/sessions` | List sessions for an event |\n| `GET /v1/nascar/events/{eventId}/sessions/{sessionId}` | Get a single session with results |\n| `GET /v1/nascar/events/{eventId}/sessions/{sessionId}/lap-chart` | Get the lap chart for a session |\n| `GET /v1/nascar/events/{eventId}/sessions/{sessionId}/lap-times` | Get individual lap times for a session |\n| `GET /v1/nascar/events/{eventId}/sessions/{sessionId}/results` | Get session results only |\n| `GET /v1/nascar/events/{eventId}/sessions/{sessionId}/stages` | Get stage results for a race session |\n\n### NASCAR Seasons\n\nNASCAR Cup Series seasons: the list of seasons, and per-season detail including the calendar and per-driver and per-team statistics.\n\n| Endpoint | Description |\n|---|---|\n| `GET /v1/nascar/seasons` | List all NASCAR seasons |\n| `GET /v1/nascar/seasons/{id}` | Get season details by ID |\n| `GET /v1/nascar/seasons/{id}/drivers` | Get season driver statistics |\n| `GET /v1/nascar/seasons/{id}/teams` | Get season team statistics |\n\n### NASCAR Circuits\n\nCircuits and venues on the NASCAR Cup Series calendar, past and present, with track specifications, lap records and event history.\n\n| Endpoint | Description |\n|---|---|\n| `GET /v1/nascar/locations` | List all NASCAR circuit locations |\n| `GET /v1/nascar/locations/{id}` | Get circuit/location details by ID |\n\n### NASCAR Standings\n\nNASCAR Cup Series championship standings, season by season.\n\n| Endpoint | Description |\n|---|---|\n| `GET /v1/nascar/standings/drivers` | Get NASCAR driver standings |\n| `GET /v1/nascar/standings/manufacturers` | Get NASCAR manufacturer standings |\n| `GET /v1/nascar/standings/owners` | Get NASCAR owner standings |\n\n### NASCAR Live\n\nLive timing for a NASCAR Cup Series session that is on track.\n\n| Endpoint | Description |\n|---|---|\n| `GET /v1/nascar/live/sessions/{sessionId}/leaderboard` | Get the live leaderboard for a NASCAR session |\n| `GET /v1/nascar/live/sessions/{sessionId}/status` | Get live race/stage status for a NASCAR session |\n\n### Bulk Export\n\nFull-season downloads (CSV / NDJSON) of results and lap-by-lap data, streamed as one file per season.\n\n| Endpoint | Description |\n|---|---|\n| `GET /v1/nascar/export/laps` | Download a full NASCAR Cup Series season of lap-by-lap data |\n| `GET /v1/nascar/export/results` | Download a full NASCAR Cup Series season of session results |\n\n## Identifiers\n\nEvery resource is addressed by a stable UUID (for example `7c9a4314-8d6f-4f6a-9bfe-2f1d56a30b6a`). IDs never change between requests, so they are safe to store. List endpoints are the way to discover IDs; detail endpoints take them as path parameters.\n\n## Pagination\n\nAll list endpoints use page-based pagination with `page` and `limit` query parameters.\n\n| Parameter | Type | Default | Max | Description |\n|-----------|------|---------|-----|-------------|\n| `page` | integer | 1 | n/a | Page number (1-indexed) |\n| `limit` | integer | 20 | 50 | Results per page |\n\nEvery paginated response wraps results in a standard envelope:\n\n```json\n{\n  \"data\": [ ... ],\n  \"meta\": {\n    \"page\": 1,\n    \"limit\": 20,\n    \"total\": 920,\n    \"totalPages\": 46\n  }\n}\n```\n\n## Rate Limits\n\nRequests are rate-limited. Every response carries the remaining allowance in `RateLimit-*` and `X-RateLimit-*` headers (including `-Day` and `-Month` variants), and exceeding a limit returns `429 Too Many Requests`.\n\n## Error Handling\n\nThe API uses standard HTTP status codes. Error responses follow a consistent format:\n\n```json\n{\n  \"statusCode\": 404,\n  \"message\": \"Driver not found\",\n  \"error\": \"Not Found\"\n}\n```\n\n| Status Code | Description |\n|-------------|-------------|\n| `400` | **Bad Request**. Invalid query parameters or malformed request. |\n| `401` | **Unauthorized**. Missing or invalid API key. |\n| `402` | **Payment Required**. Your plan does not cover this request: the endpoint needs a higher tier, or the call came from a browser page on a plan without browser (CORS) access. The body includes `requiredTier`, `currentTier`, and `upgradeUrl`. |\n| `404` | **Not Found**. The requested resource does not exist. |\n| `429` | **Too Many Requests**. Rate limit exceeded. Slow down or upgrade your plan. |\n| `500` | **Internal Server Error**. Something went wrong on our end. |\n\n## Need Help?\n\nIf you run into issues, have feature requests, or want to discuss integration strategies, contact us at [contact@ocblacktop.com](mailto:contact@ocblacktop.com) or visit [ocblacktop.com](https://ocblacktop.com).",{"score":10},"2.66","NASCAR","NASCAR API","nascar","https://cdn.jojapi.com/api/1cb42bda-5693-40a1-92bd-24dcab7a0fe5","2026-09-14 20:07:59",{"enabled":17,"closed":18,"request_enabled":6,"catalog_url":19,"discovery_url":20,"directory_url":21,"rails":22,"networks":25,"docs":27},true,null,"https://nascar.jojapi.net/_jojapi/agent/plans","https://nascar.jojapi.net/.well-known/x402","https://agents.jojapi.net/apis/nascar",[23,24],"x402","mpp",[26],"eip155:8453","https://docs.jojapi.com/consumers/agents",{"nick":29,"name":30,"verified":6,"website":18},"blacktop-data","Blacktop Data",[32,144,415,481,610,678,741,837],{"endpoints":33,"name":143,"description":40,"ungrouped":6,"open":6},[34,106],{"blocked":6,"hidden":6,"agent_price":18,"credits":18,"flexible_credits_description":18,"consumptions":35,"description":42,"method":43,"name":44,"url_path":45,"root_url":46,"parameters":47,"responses":74,"result_stats":102},[36],{"name":37,"slug":38,"cost":39,"label":40,"avg":41},"Requests","requests","1","",1,"Retrieve a paginated list of NASCAR drivers. Returns basic driver information including name, number, country, and birth date. Supports pagination with a maximum limit of 50 per page.\n\n### Usage\n```bash\ncurl -X GET \"https://nascar.jojapi.net/v1/nascar/drivers?page=1&limit=20\" \\\n -H \"X-JoJAPI-Key: YOUR_API_KEY\"\n```","GET","List all NASCAR drivers","/v1/nascar/drivers","https://nascar.jojapi.net",{"url":48,"header":65,"post":71,"body":72,"path":73},[49,54,58],{"key":50,"example":40,"schema":18,"example_disabled":6,"example_type":51,"value_type":52,"enum_values":18,"default_value":39,"required":6,"name":40,"description":53},"page","string","integer","Page number for pagination",{"key":55,"example":40,"schema":18,"example_disabled":6,"example_type":51,"value_type":52,"enum_values":18,"default_value":56,"required":6,"name":40,"description":57},"limit","20","Number of items per page (max: 50)",{"key":59,"example":40,"schema":18,"example_disabled":6,"example_type":51,"value_type":60,"enum_values":61,"default_value":40,"required":6,"name":40,"description":40},"format","enum",[62,63,64],"json","csv","txt",[66],{"key":67,"is_auth":17,"example":68,"example_disabled":17,"example_type":51,"name":69,"description":68,"required":17,"always_error":70},"X-JoJAPI-Key","You must log in to get API key","JoJ API Key","Please log in to get API key",[],[],[],[75,81,87,92,97],{"status":76,"status_code":77,"description":78,"schema":79,"examples":80,"example":40},"200",200,"Successfully retrieved paginated list of drivers.","{\"allOf\":[{\"type\":\"object\",\"properties\":{\"data\":{\"description\":\"The page of results. Item shape depends on the endpoint.\",\"type\":\"array\",\"items\":{\"type\":\"object\"}},\"meta\":{\"description\":\"Pagination details for this response.\",\"allOf\":[{\"type\":\"object\",\"properties\":{\"page\":{\"type\":\"number\",\"description\":\"Current page (1-indexed).\",\"example\":1},\"limit\":{\"type\":\"number\",\"description\":\"Page size used for this response (max 50).\",\"example\":20},\"total\":{\"type\":\"number\",\"description\":\"Total number of items across all pages.\",\"example\":858},\"totalPages\":{\"type\":\"number\",\"description\":\"Total number of pages at this limit.\",\"example\":43}},\"required\":[\"page\",\"limit\",\"total\",\"totalPages\"]}]}},\"required\":[\"data\",\"meta\"]},{\"properties\":{\"data\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\",\"description\":\"Stable unique identifier of the driver.\",\"example\":\"7c9a4314-8d6f-4f6a-9bfe-2f1d56a30b6a\"},\"firstName\":{\"type\":\"string\",\"nullable\":true,\"description\":\"Given name.\",\"example\":\"Max\"},\"lastName\":{\"type\":\"string\",\"nullable\":true,\"description\":\"Family name.\",\"example\":\"Verstappen\"},\"birthDate\":{\"type\":\"string\",\"nullable\":true,\"description\":\"Date of birth (YYYY-MM-DD), null when unknown.\",\"example\":\"1997-09-30\"},\"number\":{\"type\":\"number\",\"nullable\":true,\"description\":\"Current or last-used racing number, null when unknown.\",\"example\":1},\"tla\":{\"type\":\"string\",\"nullable\":true,\"description\":\"Three-letter abbreviation shown on timing screens, null for sports that do not use one.\",\"example\":\"VER\"},\"country\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\"},\"twoCode\":{\"type\":\"string\"},\"threeCode\":{\"type\":\"string\"}},\"required\":[\"name\",\"twoCode\",\"threeCode\"]}},\"required\":[\"id\",\"firstName\",\"lastName\",\"birthDate\",\"number\",\"tla\",\"country\"]}}}}]}",[],{"status":82,"status_code":83,"description":84,"schema":85,"examples":86,"example":40},"400",400,"Invalid query parameters — `page` or `limit` is not a positive integer.","{\"type\":\"object\",\"properties\":{\"statusCode\":{\"type\":\"number\",\"example\":404,\"description\":\"HTTP status code.\"},\"message\":{\"type\":\"string\",\"example\":\"Driver not found for this sport\",\"description\":\"Human-readable explanation of what went wrong.\"},\"error\":{\"type\":\"string\",\"example\":\"Not Found\",\"description\":\"HTTP reason phrase.\"}},\"required\":[\"statusCode\",\"message\"]}",[],{"status":88,"status_code":89,"description":90,"schema":85,"examples":91,"example":40},"401",401,"Unauthorized — invalid or missing `X-API-Key` header.",[],{"status":93,"status_code":94,"description":95,"schema":18,"examples":96,"example":40},"402",402,"Plan upgrade required. Returned when the endpoint needs a higher plan tier, or when the request came from a third-party browser page (CORS) on a plan without browser access. Body: { message, requiredTier, currentTier, upgradeUrl }.",[],{"status":98,"status_code":99,"description":100,"schema":85,"examples":101,"example":40},"429",429,"Rate limit exceeded — per-minute or monthly plan quota reached. Slow down or upgrade your plan.",[],{"x2":103,"x3":104,"x4":104,"x5":104,"uptime":103,"avg_latency":105,"avg_credits":104},"100.00","0.00","172",{"blocked":6,"hidden":6,"agent_price":18,"credits":18,"flexible_credits_description":18,"consumptions":107,"description":109,"method":43,"name":110,"url_path":111,"root_url":46,"parameters":112,"responses":122,"result_stats":141},[108],{"name":37,"slug":38,"cost":39,"label":40,"avg":41},"Retrieve detailed information about a specific NASCAR driver by their unique ID, including personal information and career history.\n\n### Usage\n```bash\ncurl -X GET \"https://nascar.jojapi.net/v1/nascar/drivers/7c9a4314-8d6f-4f6a-9bfe-2f1d56a30b6a\" \\\n -H \"X-JoJAPI-Key: YOUR_API_KEY\"\n```","Get driver details by ID","/v1/nascar/drivers/{id}",{"url":113,"header":114,"post":116,"body":117,"path":118},[],[115],{"key":67,"is_auth":17,"example":68,"example_disabled":17,"example_type":51,"name":69,"description":68,"required":17,"always_error":70},[],[],[119],{"key":120,"example":40,"example_disabled":6,"example_type":51,"value_type":51,"enum_values":18,"name":40,"description":121,"required":17},"id","Unique identifier of the driver",[123,127,130,132,134,139],{"status":76,"status_code":77,"description":124,"schema":125,"examples":126,"example":40},"Successfully retrieved driver details.","{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\",\"description\":\"Stable unique identifier of the driver.\",\"example\":\"7c9a4314-8d6f-4f6a-9bfe-2f1d56a30b6a\"},\"firstName\":{\"type\":\"string\",\"description\":\"Given name.\",\"example\":\"Max\"},\"lastName\":{\"type\":\"string\",\"description\":\"Family name.\",\"example\":\"Verstappen\"},\"nickName\":{\"type\":\"string\",\"nullable\":true,\"description\":\"Nickname, null when none on record.\"},\"number\":{\"type\":\"number\",\"description\":\"Racing number.\",\"example\":1},\"code\":{\"type\":\"string\",\"nullable\":true,\"description\":\"Three-letter abbreviation, null for sports that do not use one.\",\"example\":\"VER\"},\"birthDate\":{\"type\":\"string\",\"nullable\":true,\"description\":\"Date of birth (YYYY-MM-DD), null when unknown.\",\"example\":\"1997-09-30\"},\"country\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\",\"nullable\":true},\"twoCode\":{\"type\":\"string\",\"nullable\":true},\"threeCode\":{\"type\":\"string\",\"nullable\":true}},\"required\":[\"name\",\"twoCode\",\"threeCode\"]},\"socials\":{\"description\":\"Social media profiles on record.\",\"allOf\":[{\"type\":\"object\",\"properties\":{\"twitter\":{\"type\":\"string\",\"nullable\":true,\"description\":\"X\\/Twitter profile URL, null when not on record.\",\"example\":\"https:\\/\\/x.com\\/Max33Verstappen\"},\"youtube\":{\"type\":\"string\",\"nullable\":true,\"description\":\"YouTube channel URL, null when not on record.\"},\"website\":{\"type\":\"string\",\"nullable\":true,\"description\":\"Personal website URL, null when not on record.\",\"example\":\"https:\\/\\/www.verstappen.com\"},\"bluesky\":{\"type\":\"string\",\"nullable\":true,\"description\":\"Bluesky profile URL, null when not on record.\"},\"twitch\":{\"type\":\"string\",\"nullable\":true,\"description\":\"Twitch channel URL, null when not on record.\"},\"instagram\":{\"type\":\"string\",\"nullable\":true,\"description\":\"Instagram profile URL, null when not on record.\",\"example\":\"https:\\/\\/www.instagram.com\\/maxverstappen1\"},\"facebook\":{\"type\":\"string\",\"nullable\":true,\"description\":\"Facebook page URL, null when not on record.\"},\"tiktok\":{\"type\":\"string\",\"nullable\":true,\"description\":\"TikTok profile URL, null when not on record.\"}},\"required\":[\"twitter\",\"youtube\",\"website\",\"bluesky\",\"twitch\",\"instagram\",\"facebook\",\"tiktok\"]}]},\"careerHistory\":{\"description\":\"Team stints across race and sprint entries, most recent first.\",\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"teamId\":{\"type\":\"string\",\"nullable\":true,\"description\":\"Identifier of the team, null for entries without a recorded team.\",\"example\":\"7c9a4314-8d6f-4f6a-9bfe-2f1d56a30b6a\"},\"teamName\":{\"type\":\"string\",\"nullable\":true,\"description\":\"Full team name at the time.\",\"example\":\"Oracle Red Bull Racing\"},\"teamShortName\":{\"type\":\"string\",\"nullable\":true,\"description\":\"Short team name.\",\"example\":\"Red Bull\"},\"teamColor\":{\"type\":\"string\",\"nullable\":true,\"description\":\"Team branding color as a hex string.\",\"example\":\"#3671C6\"},\"startYear\":{\"type\":\"number\",\"description\":\"First year of the stint.\",\"example\":2016},\"endYear\":{\"type\":\"number\",\"description\":\"Last year of the stint (current year for ongoing stints).\",\"example\":2025}},\"required\":[\"teamId\",\"teamName\",\"teamShortName\",\"teamColor\",\"startYear\",\"endYear\"]}}},\"required\":[\"id\",\"firstName\",\"lastName\",\"nickName\",\"number\",\"code\",\"birthDate\",\"country\",\"socials\",\"careerHistory\"]}",[],{"status":82,"status_code":83,"description":128,"schema":85,"examples":129,"example":40},"Invalid driver ID format — must be a UUID.",[],{"status":88,"status_code":89,"description":90,"schema":85,"examples":131,"example":40},[],{"status":93,"status_code":94,"description":95,"schema":18,"examples":133,"example":40},[],{"status":135,"status_code":136,"description":137,"schema":85,"examples":138,"example":40},"404",404,"NASCAR driver not found — no driver exists with the given ID.",[],{"status":98,"status_code":99,"description":100,"schema":85,"examples":140,"example":40},[],{"x2":103,"x3":104,"x4":104,"x5":104,"uptime":103,"avg_latency":142,"avg_credits":104},"169","NASCAR Drivers",{"endpoints":145,"name":414,"description":40,"ungrouped":6,"open":6},[146,182,217,248,284,319,349,382],{"blocked":6,"hidden":6,"agent_price":18,"credits":18,"flexible_credits_description":18,"consumptions":147,"description":149,"method":43,"name":150,"url_path":151,"root_url":46,"parameters":152,"responses":166,"result_stats":180},[148],{"name":37,"slug":38,"cost":39,"label":40,"avg":41},"Retrieve a paginated list of NASCAR events. Supports pagination with a maximum limit of 50 events per page, plus an optional `year` filter to scope results to a single season.\n\n### Usage\n```bash\ncurl -X GET \"https://nascar.jojapi.net/v1/nascar/events?page=1&limit=20\" \\\n -H \"X-JoJAPI-Key: YOUR_API_KEY\"\n```","List all NASCAR events","/v1/nascar/events",{"url":153,"header":161,"post":163,"body":164,"path":165},[154,155,156,159],{"key":50,"example":40,"schema":18,"example_disabled":6,"example_type":51,"value_type":52,"enum_values":18,"default_value":39,"required":6,"name":40,"description":53},{"key":55,"example":40,"schema":18,"example_disabled":6,"example_type":51,"value_type":52,"enum_values":18,"default_value":56,"required":6,"name":40,"description":57},{"key":157,"example":40,"schema":18,"example_disabled":6,"example_type":51,"value_type":52,"enum_values":18,"default_value":40,"required":6,"name":40,"description":158},"year","Filter events to a single season (year).",{"key":59,"example":40,"schema":18,"example_disabled":6,"example_type":51,"value_type":60,"enum_values":160,"default_value":40,"required":6,"name":40,"description":40},[62,63,64],[162],{"key":67,"is_auth":17,"example":68,"example_disabled":17,"example_type":51,"name":69,"description":68,"required":17,"always_error":70},[],[],[],[167,171,174,176,178],{"status":76,"status_code":77,"description":168,"schema":169,"examples":170,"example":40},"Successfully retrieved paginated list of events.","{\"allOf\":[{\"type\":\"object\",\"properties\":{\"data\":{\"description\":\"The page of results. Item shape depends on the endpoint.\",\"type\":\"array\",\"items\":{\"type\":\"object\"}},\"meta\":{\"description\":\"Pagination details for this response.\",\"allOf\":[{\"type\":\"object\",\"properties\":{\"page\":{\"type\":\"number\",\"description\":\"Current page (1-indexed).\",\"example\":1},\"limit\":{\"type\":\"number\",\"description\":\"Page size used for this response (max 50).\",\"example\":20},\"total\":{\"type\":\"number\",\"description\":\"Total number of items across all pages.\",\"example\":858},\"totalPages\":{\"type\":\"number\",\"description\":\"Total number of pages at this limit.\",\"example\":43}},\"required\":[\"page\",\"limit\",\"total\",\"totalPages\"]}]}},\"required\":[\"data\",\"meta\"]},{\"properties\":{\"data\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"sportId\":{\"type\":\"string\",\"description\":\"Sport the event belongs to.\",\"example\":\"nascar\"},\"schedule\":{\"description\":\"Sessions that make up the event weekend, in chronological order.\",\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\",\"description\":\"Stable unique identifier of the session.\",\"example\":\"7c9a4314-8d6f-4f6a-9bfe-2f1d56a30b6a\"},\"name\":{\"type\":\"string\",\"description\":\"Session display name.\",\"example\":\"Race\"},\"type\":{\"type\":\"string\",\"description\":\"Session type: practice, qualifying, sprint, sprint_qualifying, race or other.\",\"example\":\"race\"},\"status\":{\"type\":\"string\",\"description\":\"Lifecycle status: scheduled, ongoing or completed.\",\"example\":\"completed\"},\"startTime\":{\"type\":\"string\",\"nullable\":true,\"description\":\"Scheduled start (ISO 8601, UTC). Null when not yet scheduled.\",\"example\":\"2025-05-25T13:00:00.000Z\"},\"endTime\":{\"type\":\"string\",\"nullable\":true,\"description\":\"Scheduled end (ISO 8601, UTC). Null when not yet scheduled.\\n\\nSome feeds publish only a session start. For those series (MotoGP, Moto2,\\nMoto3, NASCAR, and Formula E sessions with no published finish) this is an\\nexpected end rather than a value the timing provider supplied: the\\nscheduled length for the session type, or for a NASCAR race its scheduled\\nlap count at that track's historical pace, which carries a median error\\naround nine minutes. Treat it as the window the session is expected to\\noccupy, not the instant the flag fell. `status` is the authoritative\\nsignal for whether a session is still running.\",\"example\":\"2025-05-25T15:00:00.000Z\"}},\"required\":[\"id\",\"name\",\"type\",\"status\",\"startTime\",\"endTime\"]}},\"id\":{\"type\":\"string\",\"description\":\"Stable unique identifier of the event.\",\"example\":\"7c9a4314-8d6f-4f6a-9bfe-2f1d56a30b6a\"},\"name\":{\"type\":\"string\",\"description\":\"Official event name.\"},\"dateStart\":{\"type\":\"string\",\"nullable\":true,\"description\":\"First day of the event (YYYY-MM-DD).\",\"example\":\"2025-05-23\"},\"dateEnd\":{\"type\":\"string\",\"nullable\":true,\"description\":\"Last day of the event (YYYY-MM-DD).\",\"example\":\"2025-05-25\"},\"status\":{\"type\":\"string\",\"description\":\"Lifecycle status: scheduled, ongoing or completed.\",\"example\":\"completed\"},\"location\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"},\"city\":{\"type\":\"string\",\"nullable\":true},\"country\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\",\"nullable\":true},\"twoCode\":{\"type\":\"string\",\"nullable\":true},\"threeCode\":{\"type\":\"string\",\"nullable\":true}}}},\"required\":[\"id\",\"name\",\"city\",\"country\"]}},\"required\":[\"sportId\",\"schedule\",\"id\",\"name\",\"dateStart\",\"dateEnd\",\"status\",\"location\"]}}}}]}",[],{"status":82,"status_code":83,"description":172,"schema":85,"examples":173,"example":40},"Invalid query parameters — `page`, `limit` or `year` is not a valid integer.",[],{"status":88,"status_code":89,"description":90,"schema":85,"examples":175,"example":40},[],{"status":93,"status_code":94,"description":95,"schema":18,"examples":177,"example":40},[],{"status":98,"status_code":99,"description":100,"schema":85,"examples":179,"example":40},[],{"x2":103,"x3":104,"x4":104,"x5":104,"uptime":103,"avg_latency":181,"avg_credits":104},"168",{"blocked":6,"hidden":6,"agent_price":18,"credits":18,"flexible_credits_description":18,"consumptions":183,"description":185,"method":43,"name":186,"url_path":187,"root_url":46,"parameters":188,"responses":197,"result_stats":213},[184],{"name":37,"slug":38,"cost":39,"label":40,"avg":41},"Retrieve detailed information about a specific NASCAR event, including sessions, location, and adjacent-event navigation.\n\n### Usage\n```bash\ncurl -X GET \"https://nascar.jojapi.net/v1/nascar/events/7c9a4314-8d6f-4f6a-9bfe-2f1d56a30b6a\" \\\n -H \"X-JoJAPI-Key: YOUR_API_KEY\"\n```","Get event details by ID","/v1/nascar/events/{id}",{"url":189,"header":190,"post":192,"body":193,"path":194},[],[191],{"key":67,"is_auth":17,"example":68,"example_disabled":17,"example_type":51,"name":69,"description":68,"required":17,"always_error":70},[],[],[195],{"key":120,"example":40,"example_disabled":6,"example_type":51,"value_type":51,"enum_values":18,"name":40,"description":196,"required":17},"Unique identifier of the event",[198,201,204,206,208,211],{"status":76,"status_code":77,"description":40,"schema":199,"examples":200,"example":40},"{\"type\":\"object\",\"properties\":{\"schedule\":{\"description\":\"Sessions that make up the event weekend, in chronological order.\",\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\",\"description\":\"Stable unique identifier of the session.\",\"example\":\"7c9a4314-8d6f-4f6a-9bfe-2f1d56a30b6a\"},\"name\":{\"type\":\"string\",\"description\":\"Session display name.\",\"example\":\"Race\"},\"type\":{\"type\":\"string\",\"description\":\"Session type: practice, qualifying, sprint, sprint_qualifying, race or other.\",\"example\":\"race\"},\"status\":{\"type\":\"string\",\"description\":\"Lifecycle status: scheduled, ongoing or completed.\",\"example\":\"completed\"},\"startTime\":{\"type\":\"string\",\"nullable\":true,\"description\":\"Scheduled start (ISO 8601, UTC). Null when not yet scheduled.\",\"example\":\"2025-05-25T13:00:00.000Z\"},\"endTime\":{\"type\":\"string\",\"nullable\":true,\"description\":\"Scheduled end (ISO 8601, UTC). Null when not yet scheduled.\\n\\nSome feeds publish only a session start. For those series (MotoGP, Moto2,\\nMoto3, NASCAR, and Formula E sessions with no published finish) this is an\\nexpected end rather than a value the timing provider supplied: the\\nscheduled length for the session type, or for a NASCAR race its scheduled\\nlap count at that track's historical pace, which carries a median error\\naround nine minutes. Treat it as the window the session is expected to\\noccupy, not the instant the flag fell. `status` is the authoritative\\nsignal for whether a session is still running.\",\"example\":\"2025-05-25T15:00:00.000Z\"}},\"required\":[\"id\",\"name\",\"type\",\"status\",\"startTime\",\"endTime\"]}},\"id\":{\"type\":\"string\",\"description\":\"Stable unique identifier of the event.\",\"example\":\"7c9a4314-8d6f-4f6a-9bfe-2f1d56a30b6a\"},\"name\":{\"type\":\"string\",\"description\":\"Official event name.\"},\"dateStart\":{\"type\":\"string\",\"nullable\":true,\"description\":\"First day of the event (YYYY-MM-DD).\",\"example\":\"2025-05-23\"},\"dateEnd\":{\"type\":\"string\",\"nullable\":true,\"description\":\"Last day of the event (YYYY-MM-DD).\",\"example\":\"2025-05-25\"},\"status\":{\"type\":\"string\",\"description\":\"Lifecycle status: scheduled, ongoing or completed.\",\"example\":\"completed\"},\"location\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"},\"city\":{\"type\":\"string\",\"nullable\":true},\"country\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\",\"nullable\":true},\"twoCode\":{\"type\":\"string\",\"nullable\":true},\"threeCode\":{\"type\":\"string\",\"nullable\":true}}}},\"required\":[\"id\",\"name\",\"city\",\"country\"]},\"sportId\":{\"type\":\"string\",\"description\":\"Sport the event belongs to (database form, e.g. formula-1).\",\"example\":\"nascar\"},\"season\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"},\"year\":{\"type\":\"number\"}},\"required\":[\"id\",\"name\",\"year\"]},\"previousEventId\":{\"type\":\"string\",\"nullable\":true,\"description\":\"Identifier of the previous event in the same season, null at the start of the calendar.\",\"example\":\"7c9a4314-8d6f-4f6a-9bfe-2f1d56a30b6a\"},\"nextEventId\":{\"type\":\"string\",\"nullable\":true,\"description\":\"Identifier of the next event in the same season, null at the end of the calendar.\"}},\"required\":[\"schedule\",\"id\",\"name\",\"dateStart\",\"dateEnd\",\"status\",\"location\",\"sportId\",\"season\",\"previousEventId\",\"nextEventId\"]}",[],{"status":82,"status_code":83,"description":202,"schema":85,"examples":203,"example":40},"Invalid event ID — must be a UUID.",[],{"status":88,"status_code":89,"description":90,"schema":85,"examples":205,"example":40},[],{"status":93,"status_code":94,"description":95,"schema":18,"examples":207,"example":40},[],{"status":135,"status_code":136,"description":209,"schema":85,"examples":210,"example":40},"Event not found.",[],{"status":98,"status_code":99,"description":100,"schema":85,"examples":212,"example":40},[],{"x2":214,"x3":104,"x4":215,"x5":104,"uptime":103,"avg_latency":216,"avg_credits":104},"75.00","25.00","145",{"blocked":6,"hidden":6,"agent_price":18,"credits":18,"flexible_credits_description":18,"consumptions":218,"description":220,"method":43,"name":221,"url_path":222,"root_url":46,"parameters":223,"responses":232,"result_stats":246},[219],{"name":37,"slug":38,"cost":39,"label":40,"avg":41},"Return every session that belongs to a NASCAR event (practice, qualifying, sprint, race) in chronological order.","List sessions for an event","/v1/nascar/events/{eventId}/sessions",{"url":224,"header":225,"post":227,"body":228,"path":229},[],[226],{"key":67,"is_auth":17,"example":68,"example_disabled":17,"example_type":51,"name":69,"description":68,"required":17,"always_error":70},[],[],[230],{"key":231,"example":40,"example_disabled":6,"example_type":51,"value_type":51,"enum_values":18,"name":40,"description":196,"required":17},"eventId",[233,236,238,240,242,244],{"status":76,"status_code":77,"description":40,"schema":234,"examples":235,"example":40},"{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\",\"description\":\"Stable unique identifier of the session.\",\"example\":\"7c9a4314-8d6f-4f6a-9bfe-2f1d56a30b6a\"},\"name\":{\"type\":\"string\",\"description\":\"Session display name.\",\"example\":\"Race\"},\"eventId\":{\"type\":\"string\",\"description\":\"Identifier of the parent event.\",\"example\":\"7c9a4314-8d6f-4f6a-9bfe-2f1d56a30b6a\"},\"startTime\":{\"format\":\"date-time\",\"type\":\"string\",\"nullable\":true,\"description\":\"Scheduled start (ISO 8601, UTC).\",\"example\":\"2025-05-25T13:00:00.000Z\"},\"endTime\":{\"format\":\"date-time\",\"type\":\"string\",\"nullable\":true,\"description\":\"Scheduled end (ISO 8601, UTC).\\n\\nSome feeds publish only a session start. For those series (MotoGP, Moto2,\\nMoto3, NASCAR, and Formula E sessions with no published finish) this is an\\nexpected end rather than a value the timing provider supplied: the\\nscheduled length for the session type, or for a NASCAR race its scheduled\\nlap count at that track's historical pace, which carries a median error\\naround nine minutes. Treat it as the window the session is expected to\\noccupy, not the instant the flag fell. `status` is the authoritative\\nsignal for whether a session is still running.\",\"example\":\"2025-05-25T15:00:00.000Z\"},\"type\":{\"description\":\"Session type: practice, qualifying, sprint, sprint_qualifying, race or other.\",\"example\":\"race\",\"enum\":[\"race\",\"practice\",\"qualifying\",\"sprint\",\"sprint_qualifying\",\"testing\",\"shakedown\",\"special_stage\",\"power_stage\",\"other\"],\"type\":\"string\"},\"status\":{\"description\":\"Lifecycle status: scheduled, ongoing or completed.\",\"example\":\"completed\",\"enum\":[\"scheduled\",\"ongoing\",\"completed\",\"cancelled\",\"interrupted\"],\"type\":\"string\"},\"description\":{\"type\":\"string\",\"description\":\"Human-readable description of the session.\"}},\"required\":[\"id\",\"name\",\"eventId\",\"startTime\",\"endTime\",\"type\",\"status\",\"description\"]}}",[],{"status":82,"status_code":83,"description":202,"schema":85,"examples":237,"example":40},[],{"status":88,"status_code":89,"description":90,"schema":85,"examples":239,"example":40},[],{"status":93,"status_code":94,"description":95,"schema":18,"examples":241,"example":40},[],{"status":135,"status_code":136,"description":209,"schema":85,"examples":243,"example":40},[],{"status":98,"status_code":99,"description":100,"schema":85,"examples":245,"example":40},[],{"x2":103,"x3":104,"x4":104,"x5":104,"uptime":103,"avg_latency":247,"avg_credits":104},"229",{"blocked":6,"hidden":6,"agent_price":18,"credits":18,"flexible_credits_description":18,"consumptions":249,"description":251,"method":43,"name":252,"url_path":253,"root_url":46,"parameters":254,"responses":265,"result_stats":281},[250],{"name":37,"slug":38,"cost":39,"label":40,"avg":41},"Return session metadata plus the full results table for that session.","Get a single session with results","/v1/nascar/events/{eventId}/sessions/{sessionId}",{"url":255,"header":256,"post":258,"body":259,"path":260},[],[257],{"key":67,"is_auth":17,"example":68,"example_disabled":17,"example_type":51,"name":69,"description":68,"required":17,"always_error":70},[],[],[261,262],{"key":231,"example":40,"example_disabled":6,"example_type":51,"value_type":51,"enum_values":18,"name":40,"description":196,"required":17},{"key":263,"example":40,"example_disabled":6,"example_type":51,"value_type":51,"enum_values":18,"name":40,"description":264,"required":17},"sessionId","Unique identifier of the session",[266,269,272,274,276,279],{"status":76,"status_code":77,"description":40,"schema":267,"examples":268,"example":40},"{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\",\"description\":\"Stable unique identifier of the session.\",\"example\":\"7c9a4314-8d6f-4f6a-9bfe-2f1d56a30b6a\"},\"name\":{\"type\":\"string\",\"description\":\"Session display name.\",\"example\":\"Race\"},\"eventId\":{\"type\":\"string\",\"description\":\"Identifier of the parent event.\",\"example\":\"7c9a4314-8d6f-4f6a-9bfe-2f1d56a30b6a\"},\"startTime\":{\"format\":\"date-time\",\"type\":\"string\",\"nullable\":true,\"description\":\"Scheduled start (ISO 8601, UTC).\",\"example\":\"2025-05-25T13:00:00.000Z\"},\"endTime\":{\"format\":\"date-time\",\"type\":\"string\",\"nullable\":true,\"description\":\"Scheduled end (ISO 8601, UTC).\\n\\nSome feeds publish only a session start. For those series (MotoGP, Moto2,\\nMoto3, NASCAR, and Formula E sessions with no published finish) this is an\\nexpected end rather than a value the timing provider supplied: the\\nscheduled length for the session type, or for a NASCAR race its scheduled\\nlap count at that track's historical pace, which carries a median error\\naround nine minutes. Treat it as the window the session is expected to\\noccupy, not the instant the flag fell. `status` is the authoritative\\nsignal for whether a session is still running.\",\"example\":\"2025-05-25T15:00:00.000Z\"},\"type\":{\"description\":\"Session type: practice, qualifying, sprint, sprint_qualifying, race or other.\",\"example\":\"race\",\"enum\":[\"race\",\"practice\",\"qualifying\",\"sprint\",\"sprint_qualifying\",\"testing\",\"shakedown\",\"special_stage\",\"power_stage\",\"other\"],\"type\":\"string\"},\"status\":{\"description\":\"Lifecycle status: scheduled, ongoing or completed.\",\"example\":\"completed\",\"enum\":[\"scheduled\",\"ongoing\",\"completed\",\"cancelled\",\"interrupted\"],\"type\":\"string\"},\"description\":{\"type\":\"string\",\"description\":\"Human-readable description of the session.\"},\"weather\":{\"type\":\"object\",\"properties\":{\"condition\":{\"type\":\"string\",\"nullable\":true},\"temperature\":{\"type\":\"number\",\"nullable\":true},\"humidity\":{\"type\":\"number\",\"nullable\":true},\"windSpeed\":{\"type\":\"number\",\"nullable\":true}},\"required\":[\"condition\",\"temperature\",\"humidity\",\"windSpeed\"]},\"results\":{\"description\":\"Full results table, classified order first.\",\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\",\"description\":\"Unique identifier of this result row.\",\"example\":\"7c9a4314-8d6f-4f6a-9bfe-2f1d56a30b6a\"},\"position\":{\"type\":\"string\",\"description\":\"Finishing position as a string; non-numeric values such as NC, DNF or DSQ appear for unclassified entries.\",\"example\":\"1\"},\"lapTime\":{\"type\":\"string\",\"nullable\":true,\"description\":\"Best\\/representative lap time, null when not recorded.\",\"example\":\"1:12.909\"},\"displayTime\":{\"type\":\"string\",\"nullable\":true,\"description\":\"Display-formatted race time or gap as shown on the classification: the\\nwinner's elapsed time, a time gap such as +0.308, or laps down such as\\n+4 Laps.\",\"example\":\"1:38:57.094\"},\"laps\":{\"type\":\"number\",\"nullable\":true,\"description\":\"Laps completed, null when not recorded.\",\"example\":78},\"driver\":{\"description\":\"Driver who set this result.\",\"allOf\":[{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\",\"description\":\"Stable identifier for the driver across seasons and series.\",\"example\":\"6f1c1d80-1f4e-4b0e-9a2c-0f1b6d4a8e21\"},\"firstName\":{\"type\":\"string\",\"nullable\":true,\"example\":\"Lando\"},\"lastName\":{\"type\":\"string\",\"nullable\":true,\"example\":\"Norris\"},\"code\":{\"type\":\"string\",\"nullable\":true,\"description\":\"Three-letter abbreviation used on timing screens.\",\"example\":\"NOR\"},\"number\":{\"type\":\"number\",\"nullable\":true,\"description\":\"The number this driver carried in THIS session, not the one they carry\\ntoday, so a historical result keeps the number of its own era: a 2025 F1\\nresult gives Verstappen 1 and Norris 4 even though they now carry 3 and 1.\\nIdentical to the row's `carNumber`, and the field to key on when matching\\nagainst live timing. Null where the classification records no number,\\nwhich is most F1 sessions before 2006.\",\"example\":4}},\"required\":[\"id\",\"firstName\",\"lastName\",\"code\",\"number\"]}]},\"carNumber\":{\"type\":\"string\",\"nullable\":true,\"description\":\"Number on the car in this session, as recorded on the classification, and\\nthe field to key on when matching against timing data. Same value as\\ndriver.number, kept as a string because some series use numbers with\\nleading zeros.\",\"example\":\"87\"},\"team\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"name\":{\"type\":\"string\",\"nullable\":true},\"shortName\":{\"type\":\"string\",\"nullable\":true},\"color\":{\"type\":\"string\",\"nullable\":true}},\"required\":[\"id\",\"name\",\"shortName\",\"color\"]},\"chassis\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"number\"},\"name\":{\"type\":\"string\"}},\"required\":[\"id\",\"name\"]},\"engineManufacturer\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"number\"},\"name\":{\"type\":\"string\"}},\"required\":[\"id\",\"name\"]},\"fastestLap\":{\"type\":\"object\",\"properties\":{\"rank\":{\"type\":\"number\",\"nullable\":true},\"time\":{\"type\":\"string\",\"nullable\":true},\"lap\":{\"type\":\"number\",\"nullable\":true}},\"required\":[\"rank\",\"time\",\"lap\"]},\"status\":{\"type\":\"string\",\"nullable\":true,\"description\":\"Finishing status from the series' official classification. The vocabulary\\nis per sport, so branch on it per sport:\\n- F1: OK for a classified finish, else DNF, DNS or DSQ.\\n- F2, F3, Formula E: null for a classified finish, else DNF, DNS or DSQ.\\n- NASCAR (Cup, Xfinity, Truck): Running means the car was still running at\\n  the checkered flag, on the lead lap or not, and is the value for nearly\\n  every finisher. Anything else is NASCAR's retirement reason, e.g.\\n  Accident, Engine, Suspension, Brakes, DVP, Too Slow.\\n- IndyCar: Running, Contact, Mechanical, Retired, Off Course, DNS.\\n- MotoGP, Moto2, Moto3: INSTND (classified), OUTSTND (retired),\\n  NOTFINISHFIRST, NOTSTARTED, DISQUALIFIED, NOTONRESTARTGRID, OUTOFLAPS.\\n- WEC: Classified, Retired, Not classified, Disqualified.\\nLaps down and the gap to the winner are in displayTime, not here. Null\\nwhen not recorded.\",\"example\":\"Running\"},\"points\":{\"type\":\"number\",\"description\":\"Championship points awarded for this result.\",\"example\":25},\"gap\":{\"type\":\"string\",\"nullable\":true},\"interval\":{\"type\":\"string\",\"nullable\":true,\"description\":\"Interval to the car ahead, on the same basis as `gap`. Null for the\\nleader and outside enriched F1 sessions.\",\"example\":\"+1.271\"},\"pitStops\":{\"type\":\"number\",\"nullable\":true,\"description\":\"Pit stops made, null outside enriched F1 sessions.\",\"example\":2},\"bestLapTime\":{\"type\":\"string\",\"nullable\":true,\"description\":\"Best lap time from live timing, null outside enriched F1 sessions.\",\"example\":\"1:13.221\"},\"bestLapNumber\":{\"type\":\"number\",\"nullable\":true,\"description\":\"Lap on which the best time was set, null outside enriched F1 sessions.\",\"example\":71},\"sectors\":{\"type\":\"object\",\"properties\":{\"s1\":{\"type\":\"string\",\"nullable\":true},\"s2\":{\"type\":\"string\",\"nullable\":true},\"s3\":{\"type\":\"string\",\"nullable\":true}},\"required\":[\"s1\",\"s2\",\"s3\"]},\"tireStrategy\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"compound\":{\"type\":\"string\"},\"laps\":{\"type\":\"number\"},\"isNew\":{\"type\":\"boolean\"}},\"required\":[\"compound\",\"laps\",\"isNew\"]}},\"gridPosition\":{\"type\":\"number\",\"nullable\":true},\"q1Time\":{\"type\":\"string\",\"nullable\":true},\"q2Time\":{\"type\":\"string\",\"nullable\":true,\"description\":\"Q2 lap time for qualifying sessions, null otherwise.\",\"example\":\"1:11.278\"},\"q3Time\":{\"type\":\"string\",\"nullable\":true,\"description\":\"Q3 lap time for qualifying sessions, null otherwise.\",\"example\":\"1:10.954\"}},\"required\":[\"id\",\"position\",\"lapTime\",\"displayTime\",\"laps\",\"driver\",\"carNumber\",\"team\",\"chassis\",\"engineManufacturer\",\"fastestLap\",\"status\",\"points\",\"gap\",\"interval\",\"pitStops\",\"bestLapTime\",\"bestLapNumber\",\"sectors\",\"tireStrategy\",\"gridPosition\",\"q1Time\",\"q2Time\",\"q3Time\"]}}},\"required\":[\"id\",\"name\",\"eventId\",\"startTime\",\"endTime\",\"type\",\"status\",\"description\",\"weather\",\"results\"]}",[],{"status":82,"status_code":83,"description":270,"schema":85,"examples":271,"example":40},"Invalid event or session ID — must be a UUID.",[],{"status":88,"status_code":89,"description":90,"schema":85,"examples":273,"example":40},[],{"status":93,"status_code":94,"description":95,"schema":18,"examples":275,"example":40},[],{"status":135,"status_code":136,"description":277,"schema":85,"examples":278,"example":40},"Event or session not found.",[],{"status":98,"status_code":99,"description":100,"schema":85,"examples":280,"example":40},[],{"x2":282,"x3":104,"x4":282,"x5":104,"uptime":103,"avg_latency":283,"avg_credits":104},"50.00","257",{"blocked":6,"hidden":6,"agent_price":18,"credits":18,"flexible_credits_description":18,"consumptions":285,"description":290,"method":43,"name":291,"url_path":292,"root_url":46,"parameters":293,"responses":304,"result_stats":18},[286,287],{"name":37,"slug":38,"cost":39,"label":40,"avg":18},{"name":288,"slug":289,"cost":39,"label":40,"avg":18},"Premium Data","premium-data","Position-by-lap running order (car number per cell), continuous across stages (lap 0 is the start). Defaults to JSON; use ?format=csv for a pivoted grid or ?format=txt for a printed lap chart.","Get the lap chart for a session","/v1/nascar/events/{eventId}/sessions/{sessionId}/lap-chart",{"url":294,"header":297,"post":299,"body":300,"path":301},[295],{"key":59,"example":40,"schema":18,"example_disabled":6,"example_type":51,"value_type":60,"enum_values":296,"default_value":40,"required":6,"name":40,"description":40},[62,63,64],[298],{"key":67,"is_auth":17,"example":68,"example_disabled":17,"example_type":51,"name":69,"description":68,"required":17,"always_error":70},[],[],[302,303],{"key":231,"example":40,"example_disabled":6,"example_type":51,"value_type":51,"enum_values":18,"name":40,"description":40,"required":17},{"key":263,"example":40,"example_disabled":6,"example_type":51,"value_type":51,"enum_values":18,"name":40,"description":40,"required":17},[305,311,314,316],{"status":76,"status_code":77,"description":306,"schema":18,"examples":307,"example":310},"Lap chart for the session (position × lap, car number per cell).",[308],{"name":309,"summary":40,"description":40,"example":310},"default","{\"session\":{\"id\":\"3229b98b-067b-40ee-865e-3c65fd61dbcf\",\"type\":\"race\",\"event\":\"Toyota \\/ Save Mart 350\",\"totalLaps\":110},\"lapNumbers\":[0,1,2],\"rows\":[{\"position\":1,\"cars\":[\"97\",\"97\",\"12\"]},{\"position\":2,\"cars\":[\"77\",\"12\",\"97\"]}]}",{"status":88,"status_code":89,"description":312,"schema":18,"examples":313,"example":40},"Missing or invalid API key. Send your key in the `X-API-Key` header.",[],{"status":93,"status_code":94,"description":95,"schema":18,"examples":315,"example":40},[],{"status":135,"status_code":136,"description":317,"schema":18,"examples":318,"example":40},"No timing data for this session.",[],{"blocked":6,"hidden":6,"agent_price":18,"credits":18,"flexible_credits_description":18,"consumptions":320,"description":323,"method":43,"name":324,"url_path":325,"root_url":46,"parameters":326,"responses":337,"result_stats":18},[321,322],{"name":37,"slug":38,"cost":39,"label":40,"avg":18},{"name":288,"slug":289,"cost":39,"label":40,"avg":18},"Per-driver lap times (seconds) as a car×lap grid, continuous across stages. Defaults to JSON; use ?format=csv or ?format=txt for a downloadable file.","Get individual lap times for a session","/v1/nascar/events/{eventId}/sessions/{sessionId}/lap-times",{"url":327,"header":330,"post":332,"body":333,"path":334},[328],{"key":59,"example":40,"schema":18,"example_disabled":6,"example_type":51,"value_type":60,"enum_values":329,"default_value":40,"required":6,"name":40,"description":40},[62,63,64],[331],{"key":67,"is_auth":17,"example":68,"example_disabled":17,"example_type":51,"name":69,"description":68,"required":17,"always_error":70},[],[],[335,336],{"key":231,"example":40,"example_disabled":6,"example_type":51,"value_type":51,"enum_values":18,"name":40,"description":40,"required":17},{"key":263,"example":40,"example_disabled":6,"example_type":51,"value_type":51,"enum_values":18,"name":40,"description":40,"required":17},[338,343,345,347],{"status":76,"status_code":77,"description":339,"schema":18,"examples":340,"example":342},"Per-driver lap times for the session (car × lap grid, seconds).",[341],{"name":309,"summary":40,"description":40,"example":342},"{\"session\":{\"id\":\"3229b98b-067b-40ee-865e-3c65fd61dbcf\",\"type\":\"race\",\"event\":\"Toyota \\/ Save Mart 350\",\"totalLaps\":110},\"lapNumbers\":[1,2,3],\"rows\":[{\"car\":\"97\",\"driver\":\"Shane van Gisbergen\",\"times\":[\"82.145\",\"81.992\",\"82.030\"]},{\"car\":\"19\",\"driver\":\"Chase Briscoe\",\"times\":[\"82.301\",\"82.110\",\"82.045\"]}]}",{"status":88,"status_code":89,"description":312,"schema":18,"examples":344,"example":40},[],{"status":93,"status_code":94,"description":95,"schema":18,"examples":346,"example":40},[],{"status":135,"status_code":136,"description":317,"schema":18,"examples":348,"example":40},[],{"blocked":6,"hidden":6,"agent_price":18,"credits":18,"flexible_credits_description":18,"consumptions":350,"description":352,"method":43,"name":353,"url_path":354,"root_url":46,"parameters":355,"responses":366,"result_stats":380},[351],{"name":37,"slug":38,"cost":39,"label":40,"avg":41},"Return just the results array for a session. Use the parent endpoint if you also need the session metadata.","Get session results only","/v1/nascar/events/{eventId}/sessions/{sessionId}/results",{"url":356,"header":359,"post":361,"body":362,"path":363},[357],{"key":59,"example":40,"schema":18,"example_disabled":6,"example_type":51,"value_type":60,"enum_values":358,"default_value":40,"required":6,"name":40,"description":40},[62,63,64],[360],{"key":67,"is_auth":17,"example":68,"example_disabled":17,"example_type":51,"name":69,"description":68,"required":17,"always_error":70},[],[],[364,365],{"key":231,"example":40,"example_disabled":6,"example_type":51,"value_type":51,"enum_values":18,"name":40,"description":196,"required":17},{"key":263,"example":40,"example_disabled":6,"example_type":51,"value_type":51,"enum_values":18,"name":40,"description":264,"required":17},[367,370,372,374,376,378],{"status":76,"status_code":77,"description":40,"schema":368,"examples":369,"example":40},"{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\",\"description\":\"Unique identifier of this result row.\",\"example\":\"7c9a4314-8d6f-4f6a-9bfe-2f1d56a30b6a\"},\"position\":{\"type\":\"string\",\"description\":\"Finishing position as a string; non-numeric values such as NC, DNF or DSQ appear for unclassified entries.\",\"example\":\"1\"},\"lapTime\":{\"type\":\"string\",\"nullable\":true,\"description\":\"Best\\/representative lap time, null when not recorded.\",\"example\":\"1:12.909\"},\"displayTime\":{\"type\":\"string\",\"nullable\":true,\"description\":\"Display-formatted race time or gap as shown on the classification: the\\nwinner's elapsed time, a time gap such as +0.308, or laps down such as\\n+4 Laps.\",\"example\":\"1:38:57.094\"},\"laps\":{\"type\":\"number\",\"nullable\":true,\"description\":\"Laps completed, null when not recorded.\",\"example\":78},\"driver\":{\"description\":\"Driver who set this result.\",\"allOf\":[{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\",\"description\":\"Stable identifier for the driver across seasons and series.\",\"example\":\"6f1c1d80-1f4e-4b0e-9a2c-0f1b6d4a8e21\"},\"firstName\":{\"type\":\"string\",\"nullable\":true,\"example\":\"Lando\"},\"lastName\":{\"type\":\"string\",\"nullable\":true,\"example\":\"Norris\"},\"code\":{\"type\":\"string\",\"nullable\":true,\"description\":\"Three-letter abbreviation used on timing screens.\",\"example\":\"NOR\"},\"number\":{\"type\":\"number\",\"nullable\":true,\"description\":\"The number this driver carried in THIS session, not the one they carry\\ntoday, so a historical result keeps the number of its own era: a 2025 F1\\nresult gives Verstappen 1 and Norris 4 even though they now carry 3 and 1.\\nIdentical to the row's `carNumber`, and the field to key on when matching\\nagainst live timing. Null where the classification records no number,\\nwhich is most F1 sessions before 2006.\",\"example\":4}},\"required\":[\"id\",\"firstName\",\"lastName\",\"code\",\"number\"]}]},\"carNumber\":{\"type\":\"string\",\"nullable\":true,\"description\":\"Number on the car in this session, as recorded on the classification, and\\nthe field to key on when matching against timing data. Same value as\\ndriver.number, kept as a string because some series use numbers with\\nleading zeros.\",\"example\":\"87\"},\"team\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"name\":{\"type\":\"string\",\"nullable\":true},\"shortName\":{\"type\":\"string\",\"nullable\":true},\"color\":{\"type\":\"string\",\"nullable\":true}},\"required\":[\"id\",\"name\",\"shortName\",\"color\"]},\"chassis\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"number\"},\"name\":{\"type\":\"string\"}},\"required\":[\"id\",\"name\"]},\"engineManufacturer\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"number\"},\"name\":{\"type\":\"string\"}},\"required\":[\"id\",\"name\"]},\"fastestLap\":{\"type\":\"object\",\"properties\":{\"rank\":{\"type\":\"number\",\"nullable\":true},\"time\":{\"type\":\"string\",\"nullable\":true},\"lap\":{\"type\":\"number\",\"nullable\":true}},\"required\":[\"rank\",\"time\",\"lap\"]},\"status\":{\"type\":\"string\",\"nullable\":true,\"description\":\"Finishing status from the series' official classification. The vocabulary\\nis per sport, so branch on it per sport:\\n- F1: OK for a classified finish, else DNF, DNS or DSQ.\\n- F2, F3, Formula E: null for a classified finish, else DNF, DNS or DSQ.\\n- NASCAR (Cup, Xfinity, Truck): Running means the car was still running at\\n  the checkered flag, on the lead lap or not, and is the value for nearly\\n  every finisher. Anything else is NASCAR's retirement reason, e.g.\\n  Accident, Engine, Suspension, Brakes, DVP, Too Slow.\\n- IndyCar: Running, Contact, Mechanical, Retired, Off Course, DNS.\\n- MotoGP, Moto2, Moto3: INSTND (classified), OUTSTND (retired),\\n  NOTFINISHFIRST, NOTSTARTED, DISQUALIFIED, NOTONRESTARTGRID, OUTOFLAPS.\\n- WEC: Classified, Retired, Not classified, Disqualified.\\nLaps down and the gap to the winner are in displayTime, not here. Null\\nwhen not recorded.\",\"example\":\"Running\"},\"points\":{\"type\":\"number\",\"description\":\"Championship points awarded for this result.\",\"example\":25},\"gap\":{\"type\":\"string\",\"nullable\":true},\"interval\":{\"type\":\"string\",\"nullable\":true,\"description\":\"Interval to the car ahead, on the same basis as `gap`. Null for the\\nleader and outside enriched F1 sessions.\",\"example\":\"+1.271\"},\"pitStops\":{\"type\":\"number\",\"nullable\":true,\"description\":\"Pit stops made, null outside enriched F1 sessions.\",\"example\":2},\"bestLapTime\":{\"type\":\"string\",\"nullable\":true,\"description\":\"Best lap time from live timing, null outside enriched F1 sessions.\",\"example\":\"1:13.221\"},\"bestLapNumber\":{\"type\":\"number\",\"nullable\":true,\"description\":\"Lap on which the best time was set, null outside enriched F1 sessions.\",\"example\":71},\"sectors\":{\"type\":\"object\",\"properties\":{\"s1\":{\"type\":\"string\",\"nullable\":true},\"s2\":{\"type\":\"string\",\"nullable\":true},\"s3\":{\"type\":\"string\",\"nullable\":true}},\"required\":[\"s1\",\"s2\",\"s3\"]},\"tireStrategy\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"compound\":{\"type\":\"string\"},\"laps\":{\"type\":\"number\"},\"isNew\":{\"type\":\"boolean\"}},\"required\":[\"compound\",\"laps\",\"isNew\"]}},\"gridPosition\":{\"type\":\"number\",\"nullable\":true},\"q1Time\":{\"type\":\"string\",\"nullable\":true},\"q2Time\":{\"type\":\"string\",\"nullable\":true,\"description\":\"Q2 lap time for qualifying sessions, null otherwise.\",\"example\":\"1:11.278\"},\"q3Time\":{\"type\":\"string\",\"nullable\":true,\"description\":\"Q3 lap time for qualifying sessions, null otherwise.\",\"example\":\"1:10.954\"}},\"required\":[\"id\",\"position\",\"lapTime\",\"displayTime\",\"laps\",\"driver\",\"carNumber\",\"team\",\"chassis\",\"engineManufacturer\",\"fastestLap\",\"status\",\"points\",\"gap\",\"interval\",\"pitStops\",\"bestLapTime\",\"bestLapNumber\",\"sectors\",\"tireStrategy\",\"gridPosition\",\"q1Time\",\"q2Time\",\"q3Time\"]}}",[],{"status":82,"status_code":83,"description":270,"schema":85,"examples":371,"example":40},[],{"status":88,"status_code":89,"description":90,"schema":85,"examples":373,"example":40},[],{"status":93,"status_code":94,"description":95,"schema":18,"examples":375,"example":40},[],{"status":135,"status_code":136,"description":277,"schema":85,"examples":377,"example":40},[],{"status":98,"status_code":99,"description":100,"schema":85,"examples":379,"example":40},[],{"x2":282,"x3":104,"x4":282,"x5":104,"uptime":103,"avg_latency":381,"avg_credits":104},"208",{"blocked":6,"hidden":6,"agent_price":18,"credits":18,"flexible_credits_description":18,"consumptions":383,"description":385,"method":43,"name":386,"url_path":387,"root_url":46,"parameters":388,"responses":397,"result_stats":412},[384],{"name":37,"slug":38,"cost":39,"label":40,"avg":41},"Return the stage-by-stage results for a completed NASCAR Cup Series race. Each stage lists the official points-paying top 10 with the stage points earned, extended to the full field running order (stagePoints 0 from position 11) where per-lap timing data exactly confirms the official top 10; stages where the two disagree carry only the top 10. The final stage is not listed; its outcome is the race classification (see the session results endpoint). Coverage: 2020 to present (stage racing began in 2017, but the upstream data source only publishes stage results from 2020 onward).\n\n### Usage\n```bash\ncurl -X GET \"https://nascar.jojapi.net/v1/nascar/events/EVENT_UUID/sessions/SESSION_UUID/stages\" \\\n -H \"X-JoJAPI-Key: YOUR_API_KEY\"\n```","Get stage results for a race session","/v1/nascar/events/{eventId}/sessions/{sessionId}/stages",{"url":389,"header":390,"post":392,"body":393,"path":394},[],[391],{"key":67,"is_auth":17,"example":68,"example_disabled":17,"example_type":51,"name":69,"description":68,"required":17,"always_error":70},[],[],[395,396],{"key":231,"example":40,"example_disabled":6,"example_type":51,"value_type":51,"enum_values":18,"name":40,"description":196,"required":17},{"key":263,"example":40,"example_disabled":6,"example_type":51,"value_type":51,"enum_values":18,"name":40,"description":264,"required":17},[398,401,403,405,407,410],{"status":76,"status_code":77,"description":40,"schema":399,"examples":400,"example":40},"{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"stageNumber\":{\"type\":\"number\",\"example\":1,\"description\":\"Stage number. The final stage is not listed; its outcome is the race result.\"},\"results\":{\"description\":\"Stage finishing order: the official points-paying top 10, extended to the full field where per-lap timing data confirms the official result. Some stages carry only the top 10.\",\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"position\":{\"type\":\"number\",\"example\":1,\"description\":\"Finishing position in the stage.\"},\"carNumber\":{\"type\":\"string\",\"example\":\"22\",\"description\":\"Car number.\"},\"driverName\":{\"type\":\"string\",\"example\":\"Joey Logano\",\"description\":\"Driver full name.\"},\"stagePoints\":{\"type\":\"number\",\"example\":10,\"description\":\"Championship points awarded for the stage finish. Only the top 10 pay points; positions 11 and beyond carry 0.\"}},\"required\":[\"position\",\"carNumber\",\"driverName\",\"stagePoints\"]}}},\"required\":[\"stageNumber\",\"results\"]}}",[],{"status":82,"status_code":83,"description":270,"schema":85,"examples":402,"example":40},[],{"status":88,"status_code":89,"description":90,"schema":85,"examples":404,"example":40},[],{"status":93,"status_code":94,"description":95,"schema":18,"examples":406,"example":40},[],{"status":135,"status_code":136,"description":408,"schema":85,"examples":409,"example":40},"Event or session not found, or no stage results for this session (non-race sessions, exhibition events without stage points, races before 2020, or a race that has not finished yet).",[],{"status":98,"status_code":99,"description":100,"schema":85,"examples":411,"example":40},[],{"x2":282,"x3":104,"x4":282,"x5":104,"uptime":103,"avg_latency":413,"avg_credits":104},"148","NASCAR Events",{"endpoints":416,"name":480,"description":40,"ungrouped":6,"open":6},[417,447],{"blocked":6,"hidden":6,"agent_price":18,"credits":18,"flexible_credits_description":18,"consumptions":418,"description":420,"method":43,"name":421,"url_path":422,"root_url":46,"parameters":423,"responses":432,"result_stats":445},[419],{"name":37,"slug":38,"cost":39,"label":40,"avg":41},"Retrieve a paginated list of NASCAR circuit locations.\n\n### Usage\n```bash\ncurl -X GET \"https://nascar.jojapi.net/v1/nascar/locations?page=1&limit=20\" \\\n -H \"X-JoJAPI-Key: YOUR_API_KEY\"\n```","List all NASCAR circuit locations","/v1/nascar/locations",{"url":424,"header":427,"post":429,"body":430,"path":431},[425,426],{"key":50,"example":40,"schema":18,"example_disabled":6,"example_type":51,"value_type":52,"enum_values":18,"default_value":39,"required":6,"name":40,"description":53},{"key":55,"example":40,"schema":18,"example_disabled":6,"example_type":51,"value_type":52,"enum_values":18,"default_value":56,"required":6,"name":40,"description":57},[428],{"key":67,"is_auth":17,"example":68,"example_disabled":17,"example_type":51,"name":69,"description":68,"required":17,"always_error":70},[],[],[],[433,437,439,441,443],{"status":76,"status_code":77,"description":434,"schema":435,"examples":436,"example":40},"Successfully retrieved paginated list of circuits.","{\"allOf\":[{\"type\":\"object\",\"properties\":{\"data\":{\"description\":\"The page of results. Item shape depends on the endpoint.\",\"type\":\"array\",\"items\":{\"type\":\"object\"}},\"meta\":{\"description\":\"Pagination details for this response.\",\"allOf\":[{\"type\":\"object\",\"properties\":{\"page\":{\"type\":\"number\",\"description\":\"Current page (1-indexed).\",\"example\":1},\"limit\":{\"type\":\"number\",\"description\":\"Page size used for this response (max 50).\",\"example\":20},\"total\":{\"type\":\"number\",\"description\":\"Total number of items across all pages.\",\"example\":858},\"totalPages\":{\"type\":\"number\",\"description\":\"Total number of pages at this limit.\",\"example\":43}},\"required\":[\"page\",\"limit\",\"total\",\"totalPages\"]}]}},\"required\":[\"data\",\"meta\"]},{\"properties\":{\"data\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\",\"description\":\"Stable unique identifier of the circuit\\/venue.\",\"example\":\"7c9a4314-8d6f-4f6a-9bfe-2f1d56a30b6a\"},\"name\":{\"type\":\"string\",\"description\":\"Venue name.\"},\"latitude\":{\"type\":\"string\",\"nullable\":true,\"description\":\"Latitude in decimal degrees, null when unknown.\",\"example\":\"43.7347\"},\"longitude\":{\"type\":\"string\",\"nullable\":true,\"description\":\"Longitude in decimal degrees, null when unknown.\",\"example\":\"7.42056\"},\"city\":{\"type\":\"string\",\"nullable\":true,\"description\":\"City or locality, null when unknown.\",\"example\":\"Monte Carlo\"},\"timezone\":{\"type\":\"string\",\"nullable\":true,\"description\":\"IANA timezone of the venue, null when unknown.\",\"example\":\"Europe\\/Monaco\"},\"country\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\",\"nullable\":true},\"twoCode\":{\"type\":\"string\",\"nullable\":true},\"threeCode\":{\"type\":\"string\",\"nullable\":true}},\"required\":[\"name\",\"twoCode\",\"threeCode\"]}},\"required\":[\"id\",\"name\",\"latitude\",\"longitude\",\"city\",\"timezone\",\"country\"]}}}}]}",[],{"status":82,"status_code":83,"description":84,"schema":85,"examples":438,"example":40},[],{"status":88,"status_code":89,"description":90,"schema":85,"examples":440,"example":40},[],{"status":93,"status_code":94,"description":95,"schema":18,"examples":442,"example":40},[],{"status":98,"status_code":99,"description":100,"schema":85,"examples":444,"example":40},[],{"x2":103,"x3":104,"x4":104,"x5":104,"uptime":103,"avg_latency":446,"avg_credits":104},"132",{"blocked":6,"hidden":6,"agent_price":18,"credits":18,"flexible_credits_description":18,"consumptions":448,"description":450,"method":43,"name":451,"url_path":452,"root_url":46,"parameters":453,"responses":462,"result_stats":478},[449],{"name":37,"slug":38,"cost":39,"label":40,"avg":41},"Retrieve detailed information about a specific NASCAR circuit by its unique ID.","Get circuit/location details by ID","/v1/nascar/locations/{id}",{"url":454,"header":455,"post":457,"body":458,"path":459},[],[456],{"key":67,"is_auth":17,"example":68,"example_disabled":17,"example_type":51,"name":69,"description":68,"required":17,"always_error":70},[],[],[460],{"key":120,"example":40,"example_disabled":6,"example_type":51,"value_type":51,"enum_values":18,"name":40,"description":461,"required":17},"Unique identifier of the circuit",[463,466,469,471,473,476],{"status":76,"status_code":77,"description":40,"schema":464,"examples":465,"example":40},"{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\",\"description\":\"Stable unique identifier of the circuit\\/venue.\",\"example\":\"7c9a4314-8d6f-4f6a-9bfe-2f1d56a30b6a\"},\"name\":{\"type\":\"string\",\"description\":\"Venue name.\"},\"latitude\":{\"type\":\"string\",\"nullable\":true,\"description\":\"Latitude in decimal degrees, null when unknown.\",\"example\":\"43.7347\"},\"longitude\":{\"type\":\"string\",\"nullable\":true,\"description\":\"Longitude in decimal degrees, null when unknown.\",\"example\":\"7.42056\"},\"city\":{\"type\":\"string\",\"nullable\":true,\"description\":\"City or locality, null when unknown.\",\"example\":\"Monte Carlo\"},\"timezone\":{\"type\":\"string\",\"nullable\":true,\"description\":\"IANA timezone of the venue, null when unknown.\",\"example\":\"Europe\\/Monaco\"},\"country\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\",\"nullable\":true},\"twoCode\":{\"type\":\"string\",\"nullable\":true},\"threeCode\":{\"type\":\"string\",\"nullable\":true}},\"required\":[\"name\",\"twoCode\",\"threeCode\"]},\"events\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"},\"dateStart\":{\"format\":\"date-time\",\"type\":\"string\"},\"dateEnd\":{\"format\":\"date-time\",\"type\":\"string\"},\"season\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"year\":{\"type\":\"number\"}}}},\"required\":[\"id\",\"name\",\"dateStart\",\"dateEnd\",\"season\"]}}},\"required\":[\"id\",\"name\",\"latitude\",\"longitude\",\"city\",\"timezone\",\"country\",\"events\"]}",[],{"status":82,"status_code":83,"description":467,"schema":85,"examples":468,"example":40},"Invalid circuit ID — must be a UUID.",[],{"status":88,"status_code":89,"description":90,"schema":85,"examples":470,"example":40},[],{"status":93,"status_code":94,"description":95,"schema":18,"examples":472,"example":40},[],{"status":135,"status_code":136,"description":474,"schema":85,"examples":475,"example":40},"Location not found.",[],{"status":98,"status_code":99,"description":100,"schema":85,"examples":477,"example":40},[],{"x2":103,"x3":104,"x4":104,"x5":104,"uptime":103,"avg_latency":479,"avg_credits":104},"189","NASCAR Circuits",{"endpoints":482,"name":609,"description":40,"ungrouped":6,"open":6},[483,513,546,578],{"blocked":6,"hidden":6,"agent_price":18,"credits":18,"flexible_credits_description":18,"consumptions":484,"description":486,"method":43,"name":487,"url_path":488,"root_url":46,"parameters":489,"responses":498,"result_stats":511},[485],{"name":37,"slug":38,"cost":39,"label":40,"avg":41},"Retrieve a paginated list of NASCAR championship seasons.\n\n### Usage\n```bash\ncurl -X GET \"https://nascar.jojapi.net/v1/nascar/seasons?page=1&limit=20\" \\\n -H \"X-JoJAPI-Key: YOUR_API_KEY\"\n```","List all NASCAR seasons","/v1/nascar/seasons",{"url":490,"header":493,"post":495,"body":496,"path":497},[491,492],{"key":50,"example":40,"schema":18,"example_disabled":6,"example_type":51,"value_type":52,"enum_values":18,"default_value":39,"required":6,"name":40,"description":53},{"key":55,"example":40,"schema":18,"example_disabled":6,"example_type":51,"value_type":52,"enum_values":18,"default_value":56,"required":6,"name":40,"description":57},[494],{"key":67,"is_auth":17,"example":68,"example_disabled":17,"example_type":51,"name":69,"description":68,"required":17,"always_error":70},[],[],[],[499,503,505,507,509],{"status":76,"status_code":77,"description":500,"schema":501,"examples":502,"example":40},"Successfully retrieved paginated list.","{\"allOf\":[{\"type\":\"object\",\"properties\":{\"data\":{\"description\":\"The page of results. Item shape depends on the endpoint.\",\"type\":\"array\",\"items\":{\"type\":\"object\"}},\"meta\":{\"description\":\"Pagination details for this response.\",\"allOf\":[{\"type\":\"object\",\"properties\":{\"page\":{\"type\":\"number\",\"description\":\"Current page (1-indexed).\",\"example\":1},\"limit\":{\"type\":\"number\",\"description\":\"Page size used for this response (max 50).\",\"example\":20},\"total\":{\"type\":\"number\",\"description\":\"Total number of items across all pages.\",\"example\":858},\"totalPages\":{\"type\":\"number\",\"description\":\"Total number of pages at this limit.\",\"example\":43}},\"required\":[\"page\",\"limit\",\"total\",\"totalPages\"]}]}},\"required\":[\"data\",\"meta\"]},{\"properties\":{\"data\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\",\"description\":\"Stable unique identifier of the season. Use this for the season detail endpoints.\",\"example\":\"7c9a4314-8d6f-4f6a-9bfe-2f1d56a30b6a\"},\"year\":{\"type\":\"number\",\"description\":\"Championship year.\",\"example\":2025},\"sportId\":{\"type\":\"string\",\"description\":\"Sport the season belongs to.\",\"example\":\"nascar\"},\"status\":{\"type\":\"string\",\"nullable\":true,\"description\":\"Lifecycle status, null when unknown.\",\"example\":\"completed\"},\"roundCount\":{\"type\":\"number\",\"nullable\":true,\"description\":\"Number of rounds in the calendar, null when unknown.\",\"example\":24}},\"required\":[\"id\",\"year\",\"sportId\",\"status\",\"roundCount\"]}}}}]}",[],{"status":82,"status_code":83,"description":84,"schema":85,"examples":504,"example":40},[],{"status":88,"status_code":89,"description":90,"schema":85,"examples":506,"example":40},[],{"status":93,"status_code":94,"description":95,"schema":18,"examples":508,"example":40},[],{"status":98,"status_code":99,"description":100,"schema":85,"examples":510,"example":40},[],{"x2":103,"x3":104,"x4":104,"x5":104,"uptime":103,"avg_latency":512,"avg_credits":104},"160",{"blocked":6,"hidden":6,"agent_price":18,"credits":18,"flexible_credits_description":18,"consumptions":514,"description":516,"method":43,"name":517,"url_path":518,"root_url":46,"parameters":519,"responses":528,"result_stats":544},[515],{"name":37,"slug":38,"cost":39,"label":40,"avg":41},"Retrieve detailed information about a specific NASCAR season by its unique ID. Season IDs come from the season list endpoint.\n\n### Usage\n```bash\ncurl -X GET \"https://nascar.jojapi.net/v1/nascar/seasons/7c9a4314-8d6f-4f6a-9bfe-2f1d56a30b6a\" \\\n -H \"X-JoJAPI-Key: YOUR_API_KEY\"\n```","Get season details by ID","/v1/nascar/seasons/{id}",{"url":520,"header":521,"post":523,"body":524,"path":525},[],[522],{"key":67,"is_auth":17,"example":68,"example_disabled":17,"example_type":51,"name":69,"description":68,"required":17,"always_error":70},[],[],[526],{"key":120,"example":40,"example_disabled":6,"example_type":51,"value_type":51,"enum_values":18,"name":40,"description":527,"required":17},"Unique identifier of the season",[529,532,535,537,539,542],{"status":76,"status_code":77,"description":40,"schema":530,"examples":531,"example":40},"{\"type\":\"object\",\"properties\":{\"season\":{\"type\":\"object\",\"description\":\"Season identity and calendar summary.\"},\"drivers\":{\"description\":\"Final (or current) driver championship standings.\",\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"teams\":{\"description\":\"Teams the driver scored for during the season, with the rounds they participated in.\",\"type\":\"array\",\"items\":{\"type\":\"object\"}},\"id\":{\"type\":\"string\",\"description\":\"Identifier of the driver.\",\"example\":\"7c9a4314-8d6f-4f6a-9bfe-2f1d56a30b6a\"},\"position\":{\"type\":\"number\",\"description\":\"Championship position.\",\"example\":1},\"points\":{\"type\":\"number\",\"description\":\"Championship points total.\",\"example\":437},\"firstName\":{\"type\":\"string\",\"nullable\":true,\"description\":\"Given name.\",\"example\":\"Max\"},\"lastName\":{\"type\":\"string\",\"nullable\":true,\"description\":\"Family name.\",\"example\":\"Verstappen\"},\"code\":{\"type\":\"string\",\"nullable\":true,\"description\":\"Three-letter abbreviation, null when not used.\",\"example\":\"VER\"},\"number\":{\"type\":\"number\",\"nullable\":true,\"description\":\"Racing number, null when unknown.\",\"example\":1}},\"required\":[\"teams\",\"id\",\"position\",\"points\",\"firstName\",\"lastName\",\"code\",\"number\"]}},\"teams\":{\"description\":\"Final (or current) team championship standings.\",\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\",\"description\":\"Identifier of the team.\",\"example\":\"7c9a4314-8d6f-4f6a-9bfe-2f1d56a30b6a\"},\"position\":{\"type\":\"number\",\"description\":\"Championship position.\",\"example\":1},\"points\":{\"type\":\"number\",\"description\":\"Championship points total.\",\"example\":860},\"name\":{\"type\":\"string\",\"nullable\":true,\"description\":\"Common display name.\",\"example\":\"McLaren\"},\"shortName\":{\"type\":\"string\",\"nullable\":true,\"description\":\"Short display name.\",\"example\":\"McLaren\"},\"color\":{\"type\":\"string\",\"nullable\":true,\"description\":\"Primary branding color as a hex string.\",\"example\":\"#FF8000\"}},\"required\":[\"id\",\"position\",\"points\",\"name\",\"shortName\",\"color\"]}},\"schedule\":{\"description\":\"Every event in the season calendar, in order.\",\"type\":\"array\",\"items\":{\"type\":\"object\"}}},\"required\":[\"season\",\"drivers\",\"teams\",\"schedule\"]}",[],{"status":82,"status_code":83,"description":533,"schema":85,"examples":534,"example":40},"Invalid season ID — must be a UUID.",[],{"status":88,"status_code":89,"description":90,"schema":85,"examples":536,"example":40},[],{"status":93,"status_code":94,"description":95,"schema":18,"examples":538,"example":40},[],{"status":135,"status_code":136,"description":540,"schema":85,"examples":541,"example":40},"Season not found.",[],{"status":98,"status_code":99,"description":100,"schema":85,"examples":543,"example":40},[],{"x2":103,"x3":104,"x4":104,"x5":104,"uptime":103,"avg_latency":545,"avg_credits":104},"291",{"blocked":6,"hidden":6,"agent_price":18,"credits":18,"flexible_credits_description":18,"consumptions":547,"description":549,"method":43,"name":550,"url_path":551,"root_url":46,"parameters":552,"responses":562,"result_stats":576},[548],{"name":37,"slug":38,"cost":39,"label":40,"avg":41},"Retrieve driver statistics for a specific NASCAR season, including championship points, wins, podiums, pole positions, and DNFs.","Get season driver statistics","/v1/nascar/seasons/{id}/drivers",{"url":553,"header":556,"post":558,"body":559,"path":560},[554],{"key":59,"example":40,"schema":18,"example_disabled":6,"example_type":51,"value_type":60,"enum_values":555,"default_value":40,"required":6,"name":40,"description":40},[62,63,64],[557],{"key":67,"is_auth":17,"example":68,"example_disabled":17,"example_type":51,"name":69,"description":68,"required":17,"always_error":70},[],[],[561],{"key":120,"example":40,"example_disabled":6,"example_type":51,"value_type":51,"enum_values":18,"name":40,"description":527,"required":17},[563,566,568,570,572,574],{"status":76,"status_code":77,"description":40,"schema":564,"examples":565,"example":40},"{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"teams\":{\"description\":\"Teams the driver drove for during the season.\",\"type\":\"array\",\"items\":{\"type\":\"object\"}},\"id\":{\"type\":\"string\",\"description\":\"Identifier of the driver.\",\"example\":\"7c9a4314-8d6f-4f6a-9bfe-2f1d56a30b6a\"},\"firstName\":{\"type\":\"string\",\"nullable\":true,\"description\":\"Given name.\",\"example\":\"Max\"},\"lastName\":{\"type\":\"string\",\"nullable\":true,\"description\":\"Family name.\",\"example\":\"Verstappen\"},\"number\":{\"type\":\"number\",\"nullable\":true,\"description\":\"Racing number, null when unknown.\",\"example\":1},\"tla\":{\"type\":\"string\",\"nullable\":true,\"description\":\"Three-letter abbreviation, null when not used.\",\"example\":\"VER\"},\"country\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\"},\"twoCode\":{\"type\":\"string\"},\"threeCode\":{\"type\":\"string\"}},\"required\":[\"name\",\"twoCode\",\"threeCode\"]},\"position\":{\"type\":\"number\",\"description\":\"Final championship position for the season.\",\"example\":1},\"totalPoints\":{\"type\":\"number\",\"description\":\"Championship points total.\",\"example\":437},\"raceStarts\":{\"type\":\"number\",\"description\":\"Race starts.\",\"example\":24},\"raceWins\":{\"type\":\"number\",\"description\":\"Race wins.\",\"example\":9},\"racePodiums\":{\"type\":\"number\",\"description\":\"Race podium finishes (P1-P3).\",\"example\":14},\"avgRaceFinishingPosition\":{\"type\":\"number\",\"nullable\":true,\"description\":\"Mean race finishing position across classified finishes, null with no data.\",\"example\":3.2},\"topFiveFinishes\":{\"type\":\"number\",\"description\":\"Race finishes in the top five.\",\"example\":16},\"topTenFinishes\":{\"type\":\"number\",\"description\":\"Race finishes in the top ten.\",\"example\":21},\"bestRaceFinish\":{\"type\":\"number\",\"nullable\":true,\"description\":\"Best race finishing position, null with no data.\",\"example\":1},\"sprintStarts\":{\"type\":\"number\",\"description\":\"Sprint starts.\",\"example\":6},\"sprintWins\":{\"type\":\"number\",\"description\":\"Sprint wins.\",\"example\":2},\"sprintPodiums\":{\"type\":\"number\",\"description\":\"Sprint podium finishes.\",\"example\":4},\"avgSprintFinishingPosition\":{\"type\":\"number\",\"nullable\":true,\"description\":\"Mean sprint finishing position, null with no data.\",\"example\":2.5},\"bestSprintFinish\":{\"type\":\"number\",\"nullable\":true,\"description\":\"Best sprint finishing position, null with no data.\",\"example\":1},\"polePositions\":{\"type\":\"number\",\"description\":\"Pole positions.\",\"example\":8},\"avgQualifyingPosition\":{\"type\":\"number\",\"nullable\":true,\"description\":\"Mean qualifying position, null with no data.\",\"example\":2.4},\"fastestLaps\":{\"type\":\"number\",\"description\":\"Fastest laps set.\",\"example\":5},\"dnfs\":{\"type\":\"number\",\"description\":\"Did-not-finish results.\",\"example\":2},\"completionRate\":{\"type\":\"number\",\"description\":\"Share of entered races completed, 0 to 1.\",\"example\":0.92},\"totalLapsCompleted\":{\"type\":\"number\",\"description\":\"Total laps completed across the season.\",\"example\":1342},\"pointsPerRace\":{\"type\":\"number\",\"description\":\"Average points scored per race start.\",\"example\":18.2}},\"required\":[\"teams\",\"id\",\"firstName\",\"lastName\",\"number\",\"tla\",\"country\",\"position\",\"totalPoints\",\"raceStarts\",\"raceWins\",\"racePodiums\",\"avgRaceFinishingPosition\",\"topFiveFinishes\",\"topTenFinishes\",\"bestRaceFinish\",\"sprintStarts\",\"sprintWins\",\"sprintPodiums\",\"avgSprintFinishingPosition\",\"bestSprintFinish\",\"polePositions\",\"avgQualifyingPosition\",\"fastestLaps\",\"dnfs\",\"completionRate\",\"totalLapsCompleted\",\"pointsPerRace\"]}}",[],{"status":82,"status_code":83,"description":533,"schema":85,"examples":567,"example":40},[],{"status":88,"status_code":89,"description":90,"schema":85,"examples":569,"example":40},[],{"status":93,"status_code":94,"description":95,"schema":18,"examples":571,"example":40},[],{"status":135,"status_code":136,"description":540,"schema":85,"examples":573,"example":40},[],{"status":98,"status_code":99,"description":100,"schema":85,"examples":575,"example":40},[],{"x2":103,"x3":104,"x4":104,"x5":104,"uptime":103,"avg_latency":577,"avg_credits":104},"183",{"blocked":6,"hidden":6,"agent_price":18,"credits":18,"flexible_credits_description":18,"consumptions":579,"description":581,"method":43,"name":582,"url_path":583,"root_url":46,"parameters":584,"responses":594,"result_stats":608},[580],{"name":37,"slug":38,"cost":39,"label":40,"avg":41},"Retrieve team statistics for a specific NASCAR season, including championship points, wins, podiums, and 1-2 finishes.","Get season team statistics","/v1/nascar/seasons/{id}/teams",{"url":585,"header":588,"post":590,"body":591,"path":592},[586],{"key":59,"example":40,"schema":18,"example_disabled":6,"example_type":51,"value_type":60,"enum_values":587,"default_value":40,"required":6,"name":40,"description":40},[62,63,64],[589],{"key":67,"is_auth":17,"example":68,"example_disabled":17,"example_type":51,"name":69,"description":68,"required":17,"always_error":70},[],[],[593],{"key":120,"example":40,"example_disabled":6,"example_type":51,"value_type":51,"enum_values":18,"name":40,"description":527,"required":17},[595,598,600,602,604,606],{"status":76,"status_code":77,"description":40,"schema":596,"examples":597,"example":40},"{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"drivers\":{\"type\":\"array\",\"items\":{\"type\":\"object\"}},\"id\":{\"type\":\"string\",\"description\":\"Identifier of the team.\",\"example\":\"7c9a4314-8d6f-4f6a-9bfe-2f1d56a30b6a\"},\"name\":{\"type\":\"string\",\"description\":\"Common display name.\",\"example\":\"McLaren\"},\"shortName\":{\"type\":\"string\",\"nullable\":true,\"description\":\"Short display name.\",\"example\":\"McLaren\"},\"fullName\":{\"type\":\"string\",\"nullable\":true,\"description\":\"Full official entrant name.\",\"example\":\"McLaren Formula 1 Team\"},\"color\":{\"type\":\"string\",\"nullable\":true,\"description\":\"Primary branding color as a hex string.\",\"example\":\"#FF8000\"},\"country\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\"},\"twoCode\":{\"type\":\"string\"},\"threeCode\":{\"type\":\"string\"}},\"required\":[\"name\",\"twoCode\",\"threeCode\"]},\"position\":{\"type\":\"number\",\"description\":\"Final championship position for the season.\",\"example\":1},\"totalPoints\":{\"type\":\"number\",\"description\":\"Championship points total.\",\"example\":437},\"raceEntries\":{\"type\":\"number\",\"description\":\"Car entries across all races (two cars per race for most series).\",\"example\":48},\"raceWins\":{\"type\":\"number\",\"description\":\"Race wins.\",\"example\":9},\"racePodiums\":{\"type\":\"number\",\"description\":\"Race podium finishes (P1-P3).\",\"example\":14},\"avgRaceFinishingPosition\":{\"type\":\"number\",\"nullable\":true,\"description\":\"Mean race finishing position across classified finishes, null with no data.\",\"example\":3.2},\"topFiveFinishes\":{\"type\":\"number\",\"description\":\"Race finishes in the top five.\",\"example\":16},\"topTenFinishes\":{\"type\":\"number\",\"description\":\"Race finishes in the top ten.\",\"example\":21},\"bestRaceFinish\":{\"type\":\"number\",\"nullable\":true,\"description\":\"Best race finishing position, null with no data.\",\"example\":1},\"sprintEntries\":{\"type\":\"number\",\"description\":\"Car entries across all sprints.\",\"example\":12},\"sprintWins\":{\"type\":\"number\",\"description\":\"Sprint wins.\",\"example\":2},\"sprintPodiums\":{\"type\":\"number\",\"description\":\"Sprint podium finishes.\",\"example\":4},\"avgSprintFinishingPosition\":{\"type\":\"number\",\"nullable\":true,\"description\":\"Mean sprint finishing position, null with no data.\",\"example\":2.5},\"bestSprintFinish\":{\"type\":\"number\",\"nullable\":true,\"description\":\"Best sprint finishing position, null with no data.\",\"example\":1},\"polePositions\":{\"type\":\"number\",\"description\":\"Pole positions.\",\"example\":8},\"avgQualifyingPosition\":{\"type\":\"number\",\"nullable\":true,\"description\":\"Mean qualifying position, null with no data.\",\"example\":2.4},\"fastestLaps\":{\"type\":\"number\",\"description\":\"Fastest laps set.\",\"example\":5},\"dnfs\":{\"type\":\"number\",\"description\":\"Did-not-finish results.\",\"example\":2},\"completionRate\":{\"type\":\"number\",\"description\":\"Share of entered races completed, 0 to 1.\",\"example\":0.92},\"totalLapsCompleted\":{\"type\":\"number\",\"description\":\"Total laps completed across the season.\",\"example\":1342},\"pointsPerEntry\":{\"type\":\"number\",\"description\":\"Average points scored per car entry.\",\"example\":17.9}},\"required\":[\"drivers\",\"id\",\"name\",\"shortName\",\"fullName\",\"color\",\"country\",\"position\",\"totalPoints\",\"raceEntries\",\"raceWins\",\"racePodiums\",\"avgRaceFinishingPosition\",\"topFiveFinishes\",\"topTenFinishes\",\"bestRaceFinish\",\"sprintEntries\",\"sprintWins\",\"sprintPodiums\",\"avgSprintFinishingPosition\",\"bestSprintFinish\",\"polePositions\",\"avgQualifyingPosition\",\"fastestLaps\",\"dnfs\",\"completionRate\",\"totalLapsCompleted\",\"pointsPerEntry\"]}}",[],{"status":82,"status_code":83,"description":533,"schema":85,"examples":599,"example":40},[],{"status":88,"status_code":89,"description":90,"schema":85,"examples":601,"example":40},[],{"status":93,"status_code":94,"description":95,"schema":18,"examples":603,"example":40},[],{"status":135,"status_code":136,"description":540,"schema":85,"examples":605,"example":40},[],{"status":98,"status_code":99,"description":100,"schema":85,"examples":607,"example":40},[],{"x2":103,"x3":104,"x4":104,"x5":104,"uptime":103,"avg_latency":512,"avg_credits":104},"NASCAR Seasons",{"endpoints":611,"name":677,"description":40,"ungrouped":6,"open":6},[612,644],{"blocked":6,"hidden":6,"agent_price":18,"credits":18,"flexible_credits_description":18,"consumptions":613,"description":615,"method":43,"name":616,"url_path":617,"root_url":46,"parameters":618,"responses":629,"result_stats":642},[614],{"name":37,"slug":38,"cost":39,"label":40,"avg":41},"Retrieve a paginated list of every team that has competed in the NASCAR Cup Series across the coverage period. Supports pagination with a maximum limit of 50 per page.\n\n### Usage\n```bash\ncurl -X GET \"https://nascar.jojapi.net/v1/nascar/teams?page=1&limit=20\" \\\n -H \"X-JoJAPI-Key: YOUR_API_KEY\"\n```","List all NASCAR teams","/v1/nascar/teams",{"url":619,"header":624,"post":626,"body":627,"path":628},[620,621,622],{"key":50,"example":40,"schema":18,"example_disabled":6,"example_type":51,"value_type":52,"enum_values":18,"default_value":39,"required":6,"name":40,"description":53},{"key":55,"example":40,"schema":18,"example_disabled":6,"example_type":51,"value_type":52,"enum_values":18,"default_value":56,"required":6,"name":40,"description":57},{"key":59,"example":40,"schema":18,"example_disabled":6,"example_type":51,"value_type":60,"enum_values":623,"default_value":40,"required":6,"name":40,"description":40},[62,63,64],[625],{"key":67,"is_auth":17,"example":68,"example_disabled":17,"example_type":51,"name":69,"description":68,"required":17,"always_error":70},[],[],[],[630,634,636,638,640],{"status":76,"status_code":77,"description":631,"schema":632,"examples":633,"example":40},"Successfully retrieved paginated list of teams.","{\"allOf\":[{\"type\":\"object\",\"properties\":{\"data\":{\"description\":\"The page of results. Item shape depends on the endpoint.\",\"type\":\"array\",\"items\":{\"type\":\"object\"}},\"meta\":{\"description\":\"Pagination details for this response.\",\"allOf\":[{\"type\":\"object\",\"properties\":{\"page\":{\"type\":\"number\",\"description\":\"Current page (1-indexed).\",\"example\":1},\"limit\":{\"type\":\"number\",\"description\":\"Page size used for this response (max 50).\",\"example\":20},\"total\":{\"type\":\"number\",\"description\":\"Total number of items across all pages.\",\"example\":858},\"totalPages\":{\"type\":\"number\",\"description\":\"Total number of pages at this limit.\",\"example\":43}},\"required\":[\"page\",\"limit\",\"total\",\"totalPages\"]}]}},\"required\":[\"data\",\"meta\"]},{\"properties\":{\"data\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\",\"description\":\"Stable unique identifier of the team.\",\"example\":\"7c9a4314-8d6f-4f6a-9bfe-2f1d56a30b6a\"},\"name\":{\"type\":\"string\",\"nullable\":true,\"description\":\"Common display name.\",\"example\":\"Red Bull\"},\"shortName\":{\"type\":\"string\",\"nullable\":true,\"description\":\"Short display name.\",\"example\":\"Red Bull\"},\"fullName\":{\"type\":\"string\",\"nullable\":true,\"description\":\"Full official entrant name.\",\"example\":\"Oracle Red Bull Racing\"},\"sportId\":{\"type\":\"string\",\"description\":\"Sport this listing was requested for.\",\"example\":\"nascar\"},\"color\":{\"type\":\"string\",\"nullable\":true,\"description\":\"Primary branding color as a hex string.\",\"example\":\"#3671C6\"},\"city\":{\"type\":\"string\",\"nullable\":true,\"description\":\"Base city, null when unknown.\",\"example\":\"Milton Keynes\"},\"country\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\",\"nullable\":true},\"twoCode\":{\"type\":\"string\",\"nullable\":true},\"threeCode\":{\"type\":\"string\",\"nullable\":true}},\"required\":[\"name\",\"twoCode\",\"threeCode\"]}},\"required\":[\"id\",\"name\",\"shortName\",\"fullName\",\"sportId\",\"color\",\"city\",\"country\"]}}}}]}",[],{"status":82,"status_code":83,"description":84,"schema":85,"examples":635,"example":40},[],{"status":88,"status_code":89,"description":90,"schema":85,"examples":637,"example":40},[],{"status":93,"status_code":94,"description":95,"schema":18,"examples":639,"example":40},[],{"status":98,"status_code":99,"description":100,"schema":85,"examples":641,"example":40},[],{"x2":103,"x3":104,"x4":104,"x5":104,"uptime":103,"avg_latency":643,"avg_credits":104},"179",{"blocked":6,"hidden":6,"agent_price":18,"credits":18,"flexible_credits_description":18,"consumptions":645,"description":647,"method":43,"name":648,"url_path":649,"root_url":46,"parameters":650,"responses":659,"result_stats":675},[646],{"name":37,"slug":38,"cost":39,"label":40,"avg":41},"Retrieve detailed information about a specific NASCAR team, including its sport, country, and metadata.","Get team details by ID","/v1/nascar/teams/{id}",{"url":651,"header":652,"post":654,"body":655,"path":656},[],[653],{"key":67,"is_auth":17,"example":68,"example_disabled":17,"example_type":51,"name":69,"description":68,"required":17,"always_error":70},[],[],[657],{"key":120,"example":40,"example_disabled":6,"example_type":51,"value_type":51,"enum_values":18,"name":40,"description":658,"required":17},"Unique identifier of the team",[660,663,666,668,670,673],{"status":76,"status_code":77,"description":40,"schema":661,"examples":662,"example":40},"{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\",\"description\":\"Stable unique identifier of the team.\",\"example\":\"7c9a4314-8d6f-4f6a-9bfe-2f1d56a30b6a\"},\"name\":{\"type\":\"string\",\"nullable\":true,\"description\":\"Common display name.\",\"example\":\"Red Bull\"},\"fullName\":{\"type\":\"string\",\"nullable\":true,\"description\":\"Full official entrant name.\",\"example\":\"Oracle Red Bull Racing\"},\"shortName\":{\"type\":\"string\",\"nullable\":true,\"description\":\"Short display name.\",\"example\":\"Red Bull\"},\"city\":{\"type\":\"string\",\"nullable\":true,\"description\":\"Base city, null when unknown.\",\"example\":\"Milton Keynes\"},\"country\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\",\"nullable\":true},\"twoCode\":{\"type\":\"string\",\"nullable\":true},\"threeCode\":{\"type\":\"string\",\"nullable\":true}},\"required\":[\"name\",\"twoCode\",\"threeCode\"]},\"powerUnit\":{\"type\":\"string\",\"nullable\":true,\"description\":\"Current power unit supplier, null when unknown.\",\"example\":\"Honda RBPT\"},\"color\":{\"type\":\"string\",\"nullable\":true,\"description\":\"Primary branding color as a hex string.\",\"example\":\"#3671C6\"},\"sportId\":{\"type\":\"string\",\"description\":\"Sport this team was requested for.\",\"example\":\"nascar\"},\"seasonParticipations\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"year\":{\"type\":\"number\"}},\"required\":[\"id\",\"year\"]}},\"drivers\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"firstName\":{\"type\":\"string\"},\"lastName\":{\"type\":\"string\"},\"teamSeasonParticipations\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"year\":{\"type\":\"number\"}},\"required\":[\"id\",\"year\"]}}},\"required\":[\"id\",\"firstName\",\"lastName\"]}}},\"required\":[\"id\",\"name\",\"fullName\",\"shortName\",\"city\",\"country\",\"powerUnit\",\"color\",\"sportId\",\"seasonParticipations\",\"drivers\"]}",[],{"status":82,"status_code":83,"description":664,"schema":85,"examples":665,"example":40},"Invalid team ID — must be a UUID.",[],{"status":88,"status_code":89,"description":90,"schema":85,"examples":667,"example":40},[],{"status":93,"status_code":94,"description":95,"schema":18,"examples":669,"example":40},[],{"status":135,"status_code":136,"description":671,"schema":85,"examples":672,"example":40},"Team not found.",[],{"status":98,"status_code":99,"description":100,"schema":85,"examples":674,"example":40},[],{"x2":103,"x3":104,"x4":104,"x5":104,"uptime":103,"avg_latency":676,"avg_credits":104},"184","NASCAR Teams",{"endpoints":679,"name":684,"description":40,"ungrouped":6,"open":6},[680,714],{"blocked":6,"hidden":6,"agent_price":18,"credits":18,"flexible_credits_description":18,"consumptions":681,"description":686,"method":43,"name":687,"url_path":688,"root_url":46,"parameters":689,"responses":704,"result_stats":18},[682,683],{"name":37,"slug":38,"cost":39,"label":40,"avg":18},{"name":684,"slug":685,"cost":39,"label":40,"avg":18},"Bulk Export","bulk-export","Race lap-by-lap for the season: every car's lap time, speed and running position. Coverage 2020 onward.","Download a full NASCAR Cup Series season of lap-by-lap data","/v1/nascar/export/laps",{"url":690,"header":699,"post":701,"body":702,"path":703},[691,695],{"key":692,"example":40,"schema":18,"example_disabled":6,"example_type":51,"value_type":693,"enum_values":18,"default_value":40,"required":17,"name":40,"description":694},"season","number","Season year, e.g. 2024",{"key":59,"example":40,"schema":18,"example_disabled":6,"example_type":51,"value_type":60,"enum_values":696,"default_value":40,"required":6,"name":40,"description":698},[63,697],"ndjson","csv (default) or ndjson",[700],{"key":67,"is_auth":17,"example":68,"example_disabled":17,"example_type":51,"name":69,"description":68,"required":17,"always_error":70},[],[],[],[705,708,710,712],{"status":76,"status_code":77,"description":706,"schema":18,"examples":707,"example":40},"Streaming season laps file.",[],{"status":88,"status_code":89,"description":312,"schema":18,"examples":709,"example":40},[],{"status":93,"status_code":94,"description":95,"schema":18,"examples":711,"example":40},[],{"status":135,"status_code":136,"description":540,"schema":18,"examples":713,"example":40},[],{"blocked":6,"hidden":6,"agent_price":18,"credits":18,"flexible_credits_description":18,"consumptions":715,"description":718,"method":43,"name":719,"url_path":720,"root_url":46,"parameters":721,"responses":731,"result_stats":18},[716,717],{"name":37,"slug":38,"cost":39,"label":40,"avg":18},{"name":684,"slug":685,"cost":39,"label":40,"avg":18},"Every result for every session of the season as one download (CSV or NDJSON) instead of thousands of paginated calls.","Download a full NASCAR Cup Series season of session results","/v1/nascar/export/results",{"url":722,"header":726,"post":728,"body":729,"path":730},[723,724],{"key":692,"example":40,"schema":18,"example_disabled":6,"example_type":51,"value_type":693,"enum_values":18,"default_value":40,"required":17,"name":40,"description":694},{"key":59,"example":40,"schema":18,"example_disabled":6,"example_type":51,"value_type":60,"enum_values":725,"default_value":40,"required":6,"name":40,"description":698},[63,697],[727],{"key":67,"is_auth":17,"example":68,"example_disabled":17,"example_type":51,"name":69,"description":68,"required":17,"always_error":70},[],[],[],[732,735,737,739],{"status":76,"status_code":77,"description":733,"schema":18,"examples":734,"example":40},"Streaming season results file.",[],{"status":88,"status_code":89,"description":312,"schema":18,"examples":736,"example":40},[],{"status":93,"status_code":94,"description":95,"schema":18,"examples":738,"example":40},[],{"status":135,"status_code":136,"description":540,"schema":18,"examples":740,"example":40},[],{"endpoints":742,"name":836,"description":40,"ungrouped":6,"open":6},[743,777,808],{"blocked":6,"hidden":6,"agent_price":18,"credits":18,"flexible_credits_description":18,"consumptions":744,"description":746,"method":43,"name":747,"url_path":748,"root_url":46,"parameters":749,"responses":759,"result_stats":775},[745],{"name":37,"slug":38,"cost":39,"label":40,"avg":41},"Retrieve the NASCAR driver championship standings. Optionally pass a year to retrieve historical standings; if no year is provided, returns the current season.\n\n### Usage\n```bash\ncurl -X GET \"https://nascar.jojapi.net/v1/nascar/standings/drivers?year=2025\" \\\n -H \"X-JoJAPI-Key: YOUR_API_KEY\"\n```","Get NASCAR driver standings","/v1/nascar/standings/drivers",{"url":750,"header":754,"post":756,"body":757,"path":758},[751,752],{"key":157,"example":40,"schema":18,"example_disabled":6,"example_type":51,"value_type":52,"enum_values":18,"default_value":40,"required":6,"name":40,"description":40},{"key":59,"example":40,"schema":18,"example_disabled":6,"example_type":51,"value_type":60,"enum_values":753,"default_value":40,"required":6,"name":40,"description":40},[62,63,64],[755],{"key":67,"is_auth":17,"example":68,"example_disabled":17,"example_type":51,"name":69,"description":68,"required":17,"always_error":70},[],[],[],[760,763,766,768,770,773],{"status":76,"status_code":77,"description":40,"schema":761,"examples":762,"example":40},"{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"teams\":{\"description\":\"Teams the driver scored for during the season, with the rounds they participated in.\",\"type\":\"array\",\"items\":{\"type\":\"object\"}},\"id\":{\"type\":\"string\",\"description\":\"Identifier of the driver.\",\"example\":\"7c9a4314-8d6f-4f6a-9bfe-2f1d56a30b6a\"},\"position\":{\"type\":\"number\",\"description\":\"Championship position.\",\"example\":1},\"points\":{\"type\":\"number\",\"description\":\"Championship points total.\",\"example\":437},\"firstName\":{\"type\":\"string\",\"nullable\":true,\"description\":\"Given name.\",\"example\":\"Max\"},\"lastName\":{\"type\":\"string\",\"nullable\":true,\"description\":\"Family name.\",\"example\":\"Verstappen\"},\"code\":{\"type\":\"string\",\"nullable\":true,\"description\":\"Three-letter abbreviation, null when not used.\",\"example\":\"VER\"},\"number\":{\"type\":\"number\",\"nullable\":true,\"description\":\"Racing number, null when unknown.\",\"example\":1}},\"required\":[\"teams\",\"id\",\"position\",\"points\",\"firstName\",\"lastName\",\"code\",\"number\"]}}",[],{"status":82,"status_code":83,"description":764,"schema":85,"examples":765,"example":40},"Invalid `year` — must be an integer.",[],{"status":88,"status_code":89,"description":90,"schema":85,"examples":767,"example":40},[],{"status":93,"status_code":94,"description":95,"schema":18,"examples":769,"example":40},[],{"status":135,"status_code":136,"description":771,"schema":85,"examples":772,"example":40},"No standings found for that year.",[],{"status":98,"status_code":99,"description":100,"schema":85,"examples":774,"example":40},[],{"x2":103,"x3":104,"x4":104,"x5":104,"uptime":103,"avg_latency":776,"avg_credits":104},"185",{"blocked":6,"hidden":6,"agent_price":18,"credits":18,"flexible_credits_description":18,"consumptions":778,"description":780,"method":43,"name":781,"url_path":782,"root_url":46,"parameters":783,"responses":791,"result_stats":806},[779],{"name":37,"slug":38,"cost":39,"label":40,"avg":41},"Retrieve the NASCAR Manufacturers’ championship standings (Chevrolet, Ford, Toyota). Coverage: 2010 to present. Optionally pass a year for historical standings.\n\n### Usage\n```bash\ncurl -X GET \"https://nascar.jojapi.net/v1/nascar/standings/manufacturers?year=2025\" \\\n -H \"X-JoJAPI-Key: YOUR_API_KEY\"\n```","Get NASCAR manufacturer standings","/v1/nascar/standings/manufacturers",{"url":784,"header":786,"post":788,"body":789,"path":790},[785],{"key":157,"example":40,"schema":18,"example_disabled":6,"example_type":51,"value_type":52,"enum_values":18,"default_value":40,"required":6,"name":40,"description":40},[787],{"key":67,"is_auth":17,"example":68,"example_disabled":17,"example_type":51,"name":69,"description":68,"required":17,"always_error":70},[],[],[],[792,795,798,800,802,804],{"status":76,"status_code":77,"description":40,"schema":793,"examples":794,"example":40},"{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"position\":{\"type\":\"number\",\"description\":\"Championship position.\",\"example\":1},\"points\":{\"type\":\"number\",\"description\":\"Championship points total.\",\"example\":578},\"wins\":{\"type\":\"number\",\"description\":\"Wins credited to the manufacturer over the season.\",\"example\":14},\"name\":{\"type\":\"string\",\"description\":\"Manufacturer name.\",\"example\":\"Ducati\"},\"country\":{\"type\":\"string\",\"nullable\":true,\"description\":\"Manufacturer country of origin, null when unknown.\",\"example\":\"Italy\"}},\"required\":[\"position\",\"points\",\"wins\",\"name\",\"country\"]}}",[],{"status":82,"status_code":83,"description":796,"schema":85,"examples":797,"example":40},"Invalid `year`: must be an integer.",[],{"status":88,"status_code":89,"description":90,"schema":85,"examples":799,"example":40},[],{"status":93,"status_code":94,"description":95,"schema":18,"examples":801,"example":40},[],{"status":135,"status_code":136,"description":771,"schema":85,"examples":803,"example":40},[],{"status":98,"status_code":99,"description":100,"schema":85,"examples":805,"example":40},[],{"x2":103,"x3":104,"x4":104,"x5":104,"uptime":103,"avg_latency":807,"avg_credits":104},"155",{"blocked":6,"hidden":6,"agent_price":18,"credits":18,"flexible_credits_description":18,"consumptions":809,"description":811,"method":43,"name":812,"url_path":813,"root_url":46,"parameters":814,"responses":824,"result_stats":834},[810],{"name":37,"slug":38,"cost":39,"label":40,"avg":41},"Retrieve the NASCAR owner championship standings (keyed by car owner and number, distinct from the team championship). Optionally pass a year for historical standings.\n\n### Usage\n```bash\ncurl -X GET \"https://nascar.jojapi.net/v1/nascar/standings/owners?year=2026\" \\\n -H \"X-JoJAPI-Key: YOUR_API_KEY\"\n```","Get NASCAR owner standings","/v1/nascar/standings/owners",{"url":815,"header":819,"post":821,"body":822,"path":823},[816,817],{"key":157,"example":40,"schema":18,"example_disabled":6,"example_type":51,"value_type":52,"enum_values":18,"default_value":40,"required":6,"name":40,"description":40},{"key":59,"example":40,"schema":18,"example_disabled":6,"example_type":51,"value_type":60,"enum_values":818,"default_value":40,"required":6,"name":40,"description":40},[62,63,64],[820],{"key":67,"is_auth":17,"example":68,"example_disabled":17,"example_type":51,"name":69,"description":68,"required":17,"always_error":70},[],[],[],[825,828,830,832],{"status":76,"status_code":77,"description":40,"schema":826,"examples":827,"example":40},"{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"position\":{\"type\":\"number\",\"description\":\"Owner championship position.\",\"example\":1},\"points\":{\"type\":\"number\",\"description\":\"Owner points total.\",\"example\":669},\"wins\":{\"type\":\"number\",\"description\":\"Wins credited to the owner entry.\",\"example\":5},\"ownerName\":{\"type\":\"string\",\"description\":\"Owner name as published by NASCAR.\",\"example\":\"23XI Racing\"},\"vehicleNumber\":{\"type\":\"string\",\"nullable\":true,\"description\":\"Car number of the owner entry, null when unknown.\",\"example\":\"45\"}},\"required\":[\"position\",\"points\",\"wins\",\"ownerName\",\"vehicleNumber\"]}}",[],{"status":88,"status_code":89,"description":312,"schema":18,"examples":829,"example":40},[],{"status":93,"status_code":94,"description":95,"schema":18,"examples":831,"example":40},[],{"status":135,"status_code":136,"description":771,"schema":18,"examples":833,"example":40},[],{"x2":103,"x3":104,"x4":104,"x5":104,"uptime":103,"avg_latency":835,"avg_credits":104},"162","NASCAR Standings",{"endpoints":838,"name":893,"description":40,"ungrouped":6,"open":6},[839,867],{"blocked":6,"hidden":6,"agent_price":18,"credits":18,"flexible_credits_description":18,"consumptions":840,"description":843,"method":43,"name":844,"url_path":845,"root_url":46,"parameters":846,"responses":855,"result_stats":18},[841,842],{"name":37,"slug":38,"cost":39,"label":40,"avg":18},{"name":288,"slug":289,"cost":39,"label":40,"avg":18},"Retrieve the live running order for a NASCAR session: position, car number, driver, gap to leader, last lap, best lap speed, laps led and on-track status.","Get the live leaderboard for a NASCAR session","/v1/nascar/live/sessions/{sessionId}/leaderboard",{"url":847,"header":848,"post":850,"body":851,"path":852},[],[849],{"key":67,"is_auth":17,"example":68,"example_disabled":17,"example_type":51,"name":69,"description":68,"required":17,"always_error":70},[],[],[853],{"key":263,"example":40,"example_disabled":6,"example_type":51,"value_type":51,"enum_values":18,"name":40,"description":854,"required":17},"Session UUID",[856,860,862,864],{"status":76,"status_code":77,"description":857,"schema":858,"examples":859,"example":40},"Ordered live leaderboard.","{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"position\":{\"type\":\"number\",\"example\":1,\"description\":\"Running position.\"},\"carNumber\":{\"type\":\"string\",\"example\":\"24\",\"description\":\"Car number.\"},\"driverName\":{\"type\":\"string\",\"nullable\":true,\"description\":\"Driver full name.\"},\"manufacturer\":{\"type\":\"string\",\"enum\":[\"CHEVROLET\",\"FORD\",\"TOYOTA\"],\"nullable\":true,\"description\":\"Manufacturer.\"},\"gapToLeader\":{\"type\":\"string\",\"nullable\":true,\"description\":\"Gap to the leader.\"},\"lastLapTime\":{\"type\":\"string\",\"nullable\":true,\"description\":\"Last completed lap time.\"},\"bestLapSpeedMph\":{\"type\":\"number\",\"nullable\":true,\"description\":\"Best lap speed (mph).\"},\"lapsCompleted\":{\"type\":\"number\",\"nullable\":true,\"description\":\"Laps completed.\"},\"lapsLed\":{\"type\":\"number\",\"nullable\":true,\"description\":\"Laps led.\"},\"startingPosition\":{\"type\":\"number\",\"nullable\":true,\"description\":\"Starting position.\"},\"isOnTrack\":{\"type\":\"boolean\",\"example\":true,\"description\":\"Whether the car is currently on track.\"}},\"required\":[\"position\",\"carNumber\",\"driverName\",\"manufacturer\",\"gapToLeader\",\"lastLapTime\",\"bestLapSpeedMph\",\"lapsCompleted\",\"lapsLed\",\"startingPosition\",\"isOnTrack\"]}}",[],{"status":88,"status_code":89,"description":312,"schema":18,"examples":861,"example":40},[],{"status":93,"status_code":94,"description":95,"schema":18,"examples":863,"example":40},[],{"status":135,"status_code":136,"description":865,"schema":18,"examples":866,"example":40},"No NASCAR session found for this id.",[],{"blocked":6,"hidden":6,"agent_price":18,"credits":18,"flexible_credits_description":18,"consumptions":868,"description":871,"method":43,"name":872,"url_path":873,"root_url":46,"parameters":874,"responses":882,"result_stats":18},[869,870],{"name":37,"slug":38,"cost":39,"label":40,"avg":18},{"name":288,"slug":289,"cost":39,"label":40,"avg":18},"Retrieve the live status of a NASCAR session: flag state, run type, current lap and laps remaining, and the current stage (NASCAR runs staged races).","Get live race/stage status for a NASCAR session","/v1/nascar/live/sessions/{sessionId}/status",{"url":875,"header":876,"post":878,"body":879,"path":880},[],[877],{"key":67,"is_auth":17,"example":68,"example_disabled":17,"example_type":51,"name":69,"description":68,"required":17,"always_error":70},[],[],[881],{"key":263,"example":40,"example_disabled":6,"example_type":51,"value_type":51,"enum_values":18,"name":40,"description":854,"required":17},[883,887,889,891],{"status":76,"status_code":77,"description":884,"schema":885,"examples":886,"example":40},"Live status for the session.","{\"type\":\"object\",\"properties\":{\"sessionId\":{\"type\":\"string\",\"description\":\"Session identifier.\"},\"flagState\":{\"type\":\"string\",\"enum\":[\"green\",\"caution\",\"red\",\"checkered\",\"pre\",\"unknown\"],\"description\":\"Current flag state.\"},\"runType\":{\"type\":\"string\",\"nullable\":true,\"enum\":[\"practice\",\"qualifying\",\"race\"],\"description\":\"Run type.\"},\"runName\":{\"type\":\"string\",\"nullable\":true,\"description\":\"Human-readable run name.\"},\"lapNumber\":{\"type\":\"number\",\"nullable\":true,\"example\":145,\"description\":\"Current lap.\"},\"lapsToGo\":{\"type\":\"number\",\"nullable\":true,\"example\":55,\"description\":\"Laps remaining.\"},\"stage\":{\"nullable\":true,\"description\":\"Current stage, when racing.\",\"allOf\":[{\"type\":\"object\",\"properties\":{\"number\":{\"type\":\"number\",\"example\":2,\"description\":\"Current stage number (NASCAR runs staged races).\"},\"finishAtLap\":{\"type\":\"number\",\"example\":160,\"description\":\"Lap on which the current stage ends.\"},\"lapsInStage\":{\"type\":\"number\",\"example\":80,\"description\":\"Total laps in the current stage.\"}},\"required\":[\"number\",\"finishAtLap\",\"lapsInStage\"]}],\"type\":\"object\"}},\"required\":[\"sessionId\",\"flagState\",\"runType\",\"runName\",\"lapNumber\",\"lapsToGo\",\"stage\"]}",[],{"status":88,"status_code":89,"description":312,"schema":18,"examples":888,"example":40},[],{"status":93,"status_code":94,"description":95,"schema":18,"examples":890,"example":40},[],{"status":135,"status_code":136,"description":865,"schema":18,"examples":892,"example":40},[],"NASCAR Live",[895,898],{"question":896,"answer":897},"What data formats are supported?","Responses default to JSON with consistent schemas and structured error handling. Tabular endpoints (results, standings, season stats, driver/team/event lists, and the lap-chart and lap-times endpoints) also return CSV or plain text by adding ?format=csv or ?format=txt, which download as files for use in spreadsheets and analysis tools.",{"question":899,"answer":900},"Do you provide lap-by-lap data?","Yes. For NASCAR sessions, the lap-chart endpoint returns the running order lap by lap (a position-by-lap grid with the car number in each cell), and the lap-times endpoint returns each driver's individual lap times (a car-by-lap grid). Both are available as JSON, CSV, or text, and are included on all paid plans.",[],[903,921,934,946],{"type":904,"slug":905,"blocked":6,"period":906,"currency":907,"pricing":908,"rate_limit":912,"objects":915,"name":919,"display_name":919,"features":920},"periodic","r9e3pep7oe6dhlj8i2vc9wtg","1 MONTH","usd",{"price":909,"credits":909,"past_due_timeout_num":910,"past_due_timeout_type":911},0,3,"DAY",{"max_requests":913,"time_window":914},90,60,[916],{"id":917,"name":37,"slug":38,"quota":918,"tiers":18},"n5db3d5b5",7500,"Free",[],{"type":904,"slug":922,"blocked":6,"period":906,"currency":907,"pricing":923,"rate_limit":925,"objects":927,"name":932,"display_name":932,"features":933},"dq2hpd0wucvn84p9korp5zxc",{"price":924,"credits":909,"past_due_timeout_num":910,"past_due_timeout_type":911},9,{"max_requests":926,"time_window":914},300,[928,930],{"id":917,"name":37,"slug":38,"quota":929,"tiers":18},750000,{"id":931,"name":288,"slug":289,"quota":929,"tiers":18},"n590ba0b7","Hobby",[],{"type":904,"slug":935,"blocked":6,"period":906,"currency":907,"pricing":936,"rate_limit":938,"objects":940,"name":944,"display_name":944,"features":945},"412vr7yb4wlm0x5nkxotg3q4",{"price":937,"credits":909,"past_due_timeout_num":910,"past_due_timeout_type":911},14,{"max_requests":939,"time_window":914},600,[941,943],{"id":917,"name":37,"slug":38,"quota":942,"tiers":18},3000000,{"id":931,"name":288,"slug":289,"quota":942,"tiers":18},"Pro",[],{"type":904,"slug":947,"blocked":6,"period":906,"currency":907,"pricing":948,"rate_limit":950,"objects":952,"name":958,"display_name":958,"features":959},"xs22mbhn5tdxd66f7qwfw2ni",{"price":949,"credits":909,"past_due_timeout_num":910,"past_due_timeout_type":911},99,{"max_requests":951,"time_window":914},2000,[953,955,956],{"id":917,"name":37,"slug":38,"quota":954,"tiers":18},86400000,{"id":931,"name":288,"slug":289,"quota":954,"tiers":18},{"id":957,"name":684,"slug":685,"quota":954,"tiers":18},"n3738f995","Commercial",[],[],{"canonical":962,"page_title":963,"meta":964},"https://jojapi.com/hub/api/nascar","NASCAR API Documentation & Playground - JoJ API",{"description":7,"keywords":965},"API,API Documentation,API Playground,Plans & Pricing,NASCAR,blacktop-data"]