{"generated_at_utc":"2026-08-30T20:01:20.370755+00:00","source":"watch_probes table, written by scripts/watch_probe.py","methodology":{"summary":"Reachability of public endpoints measured from our production server in Falkenstein, Germany, every 5 minutes. This is not an official status page for any provider listed, ours included. A 401 from a keyed endpoint counts as reachable: the vendor's edge answered, we just did not present an API key. Our own API is measured the same way and shown the same way.","vantage_point":"ParlayAPI production server, Falkenstein, Germany","interval_minutes":5,"timeout_seconds":10,"requests_per_run_per_endpoint":1,"up_definition":"any HTTP response with status under 500 within the timeout; 401/403 from keyed endpoints count as reachable","down_definition":"no HTTP response within the timeout (timeout, DNS, connect, TLS failure) or a 5xx response","state_rule":"last 3 probes: all up = up, none up = down, mixed = degraded","uptime_window_hours":24,"probe_list_provenance":"endpoints chosen the same way the odds-api-benchmarks repo chose its probe targets: https://github.com/JacobiusMakes/odds-api-benchmarks","caveat":"one vantage point measuring public-endpoint reachability; not a provider's true global availability and not a statement about data quality or odds update speed","latency_caveat":"latency is measured from our own production network, and the ParlayAPI endpoints run on the same server that sends the probes, so our latency numbers have a home advantage; latency is not comparable across providers on this page","run_by":"ParlayAPI, which is one of the providers measured on this page; this is not third-party monitoring"},"providers":[{"provider":"parlayapi_healthz","name":"ParlayAPI","ours":true,"site":"https://parlay-api.com","endpoint":"https://parlay-api.com/healthz","endpoint_label":"GET /healthz","keyed_endpoint":false,"note":"Our own health check endpoint. Returns 200 when the API is serving.","state":"up","uptime_24h_percent":100.0,"probes_24h":55,"last_checked_utc":"2026-08-30T20:00:01.360901+00:00","last_status_code":200,"last_latency_ms":395,"latency_points":[[1788103919,69],[1788104100,109],[1788104401,351],[1788104702,321],[1788105001,89],[1788105300,276],[1788105600,298],[1788105901,138],[1788106200,269],[1788106500,260],[1788106800,99],[1788107100,68],[1788107400,102],[1788107700,385],[1788108000,99],[1788108300,87],[1788108601,73],[1788108900,81],[1788109200,97],[1788109501,325],[1788109801,69],[1788110101,318],[1788110401,81],[1788110711,120],[1788111001,139],[1788111301,210],[1788111601,216],[1788111901,256],[1788112201,193],[1788112511,97],[1788112800,73],[1788113101,88],[1788113400,86],[1788113700,245],[1788114000,324],[1788114300,131],[1788114601,67],[1788114901,197],[1788115200,67],[1788115501,77],[1788115800,271],[1788116113,242],[1788116401,785],[1788116700,63],[1788117000,225],[1788117301,355],[1788117601,373],[1788117901,119],[1788118202,570],[1788118501,74],[1788118801,148],[1788119101,276],[1788119401,116],[1788119701,254],[1788120001,395]]},{"provider":"parlayapi_v1_sports","name":"ParlayAPI","ours":true,"site":"https://parlay-api.com","endpoint":"https://parlay-api.com/v1/sports","endpoint_label":"GET /v1/sports","keyed_endpoint":false,"note":"Our own API edge, the sports list endpoint.","state":"up","uptime_24h_percent":100.0,"probes_24h":55,"last_checked_utc":"2026-08-30T20:00:01.756429+00:00","last_status_code":200,"last_latency_ms":96,"latency_points":[[1788103919,54],[1788104100,90],[1788104401,52],[1788104702,50],[1788105001,61],[1788105301,73],[1788105600,71],[1788105901,52],[1788106200,55],[1788106500,67],[1788106800,58],[1788107100,60],[1788107400,54],[1788107700,66],[1788108000,55],[1788108300,79],[1788108601,43],[1788108900,48],[1788109200,60],[1788109501,52],[1788109801,81],[1788110101,49],[1788110401,62],[1788110711,560],[1788111001,93],[1788111301,52],[1788111601,44],[1788111901,76],[1788112201,71],[1788112511,55],[1788112800,40],[1788113101,55],[1788113400,51],[1788113700,50],[1788114000,119],[1788114300,52],[1788114601,51],[1788114901,46],[1788115200,56],[1788115501,62],[1788115800,90],[1788116113,74],[1788116402,78],[1788116700,68],[1788117000,294],[1788117301,88],[1788117601,80],[1788117901,54],[1788118202,60],[1788118501,95],[1788118801,69],[1788119101,52],[1788119401,45],[1788119701,62],[1788120001,96]]},{"provider":"the_odds_api","name":"The Odds API","ours":false,"site":"https://the-odds-api.com","endpoint":"https://api.the-odds-api.com/v4/sports","endpoint_label":"GET /v4/sports","keyed_endpoint":true,"note":"API edge. Answers 401 without a key; a 401 counts as reachable.","state":"up","uptime_24h_percent":100.0,"probes_24h":55,"last_checked_utc":"2026-08-30T20:00:01.852725+00:00","last_status_code":401,"last_latency_ms":159,"latency_points":[[1788103919,146],[1788104100,130],[1788104401,146],[1788104702,135],[1788105001,136],[1788105301,181],[1788105600,174],[1788105901,159],[1788106200,131],[1788106500,141],[1788106800,142],[1788107100,141],[1788107400,136],[1788107701,176],[1788108000,138],[1788108300,147],[1788108601,165],[1788108900,145],[1788109200,139],[1788109501,151],[1788109801,136],[1788110101,132],[1788110401,146],[1788110712,233],[1788111001,166],[1788111301,163],[1788111601,143],[1788111901,142],[1788112201,173],[1788112511,154],[1788112800,174],[1788113101,139],[1788113400,148],[1788113700,153],[1788114000,131],[1788114300,132],[1788114601,137],[1788114901,131],[1788115200,134],[1788115501,148],[1788115801,142],[1788116113,148],[1788116402,137],[1788116700,148],[1788117001,150],[1788117301,143],[1788117601,133],[1788117901,135],[1788118202,141],[1788118501,150],[1788118801,147],[1788119101,135],[1788119401,132],[1788119701,143],[1788120001,159]]},{"provider":"therundown","name":"TheRundown","ours":false,"site":"https://therundown.io","endpoint":"https://therundown.io/api/v2/sports","endpoint_label":"GET /api/v2/sports","keyed_endpoint":false,"note":"Keyless reference-data endpoint from their public docs.","state":"up","uptime_24h_percent":100.0,"probes_24h":55,"last_checked_utc":"2026-08-30T20:00:02.012282+00:00","last_status_code":200,"last_latency_ms":222,"latency_points":[[1788103919,181],[1788104100,527],[1788104401,215],[1788104702,140],[1788105002,235],[1788105301,167],[1788105600,649],[1788105901,176],[1788106200,151],[1788106501,194],[1788106800,153],[1788107100,150],[1788107400,210],[1788107701,174],[1788108000,204],[1788108300,197],[1788108601,239],[1788108900,143],[1788109200,239],[1788109501,285],[1788109801,249],[1788110101,246],[1788110401,191],[1788110712,152],[1788111002,258],[1788111301,195],[1788111601,207],[1788111902,168],[1788112201,278],[1788112511,480],[1788112800,202],[1788113101,205],[1788113400,171],[1788113701,535],[1788114000,463],[1788114300,133],[1788114601,203],[1788114901,204],[1788115200,169],[1788115502,229],[1788115801,245],[1788116113,209],[1788116402,547],[1788116700,191],[1788117001,262],[1788117301,254],[1788117601,167],[1788117901,220],[1788118203,208],[1788118501,197],[1788118801,262],[1788119101,170],[1788119401,159],[1788119701,191],[1788120002,222]]},{"provider":"oddspapi","name":"OddsPapi","ours":false,"site":"https://oddspapi.io","endpoint":"https://api.oddspapi.io/v4/sports","endpoint_label":"GET /v4/sports","keyed_endpoint":true,"note":"API edge. Answers 401 without a key; a 401 counts as reachable.","state":"up","uptime_24h_percent":100.0,"probes_24h":55,"last_checked_utc":"2026-08-30T20:00:02.234730+00:00","last_status_code":401,"last_latency_ms":54,"latency_points":[[1788103919,43],[1788104101,42],[1788104401,95],[1788104702,70],[1788105002,45],[1788105301,49],[1788105601,39],[1788105902,97],[1788106200,51],[1788106501,48],[1788106800,64],[1788107100,59],[1788107401,63],[1788107701,59],[1788108000,63],[1788108300,66],[1788108601,57],[1788108901,58],[1788109201,42],[1788109502,61],[1788109802,62],[1788110101,56],[1788110402,70],[1788110712,58],[1788111002,68],[1788111301,44],[1788111601,61],[1788111902,72],[1788112202,36],[1788112512,44],[1788112800,58],[1788113101,68],[1788113400,49],[1788113701,47],[1788114001,46],[1788114300,60],[1788114601,39],[1788114902,44],[1788115200,82],[1788115502,64],[1788115801,43],[1788116113,59],[1788116402,58],[1788116700,72],[1788117001,64],[1788117302,61],[1788117602,66],[1788117901,51],[1788118203,72],[1788118501,67],[1788118802,67],[1788119101,59],[1788119401,57],[1788119701,90],[1788120002,54]]},{"provider":"sportsgameodds","name":"SportsGameOdds","ours":false,"site":"https://sportsgameodds.com","endpoint":"https://api.sportsgameodds.com/v2/sports","endpoint_label":"GET /v2/sports","keyed_endpoint":true,"note":"API edge. Answers 401 without a key; a 401 counts as reachable.","state":"up","uptime_24h_percent":100.0,"probes_24h":55,"last_checked_utc":"2026-08-30T20:00:02.289530+00:00","last_status_code":401,"last_latency_ms":234,"latency_points":[[1788103919,160],[1788104101,183],[1788104401,168],[1788104702,175],[1788105002,207],[1788105301,163],[1788105601,2567],[1788105902,195],[1788106200,240],[1788106501,191],[1788106800,189],[1788107100,215],[1788107401,177],[1788107701,971],[1788108000,177],[1788108301,184],[1788108601,1197],[1788108901,220],[1788109201,2986],[1788109502,200],[1788109802,295],[1788110101,3734],[1788110402,191],[1788110712,227],[1788111002,368],[1788111301,236],[1788111601,209],[1788111902,235],[1788112202,199],[1788112512,172],[1788112800,470],[1788113101,174],[1788113400,239],[1788113701,2802],[1788114001,388],[1788114300,224],[1788114601,301],[1788114902,210],[1788115200,186],[1788115502,196],[1788115801,2383],[1788116114,193],[1788116403,172],[1788116700,195],[1788117001,224],[1788117302,231],[1788117602,166],[1788117901,189],[1788118203,218],[1788118501,235],[1788118802,231],[1788119101,262],[1788119401,831],[1788119702,3080],[1788120002,234]]}]}