{"info":{"description":"Read-only JSON used by requeststoken.org: token market data relayed from DexScreener, Requests download figures, and the download observatory. Figures are informational, may be delayed or unavailable, and are not financial advice or a promise of any return. No authentication; please cache responses and poll gently. JSON endpoints negotiate on the Accept header: JSON by default, YAML when YAML is preferred (application/yaml, application/x-yaml or text/yaml); responses carry Vary: Accept. Errors are application/problem+json. Operational routes: /health (readiness, 200 or 503) and /metrics (Prometheus text).","title":"requeststoken.org public API","version":"1.0.0"},"paths":{"/api/token":{"get":{"responses":{"200":{"description":"Market data, or an `available: false` placeholder","content":{"application/json":{"schema":{"type":"object","properties":{"available":{"type":"boolean","description":"False when market data could not be fetched; display fields then hold a dash."},"stale":{"type":"boolean","description":"True when a previously fetched value is being reused."},"source":{"type":"string"},"source_label":{"type":"string"},"name":{"type":"string"},"symbol":{"type":"string"},"contract":{"type":"string"},"price_native_symbol":{"type":"string"},"change_direction":{"type":"string"},"price_display":{"type":"string"},"price_native_display":{"type":"string"},"market_cap_display":{"type":"string"},"change_display":{"type":"string"},"liquidity_display":{"type":"string"},"volume_display":{"type":"string"},"buys_display":{"type":"string"},"sells_display":{"type":"string"},"activity_display":{"type":"string"},"status_display":{"type":"string"},"chain":{"type":["string","null"]},"chain_display":{"type":["string","null"]},"dex":{"type":["string","null"]},"dex_display":{"type":["string","null"]},"price_usd":{"type":["string","null"]},"price_native":{"type":["string","null"]},"pair_url":{"type":["string","null"]},"pair_address":{"type":["string","null"]},"listed_on":{"type":["string","null"]},"detail":{"type":["string","null"]},"fetched_at":{"type":["string","null"]},"fetched_at_display":{"type":["string","null"]},"market_cap_usd":{"type":["number","null"]},"change_h24_pct":{"type":["number","null"]},"liquidity_usd":{"type":["number","null"]},"volume_h24_usd":{"type":["number","null"]},"buys_h24":{"type":["integer","null"]},"sells_h24":{"type":["integer","null"]}},"required":["available","source","contract"]}},"application/yaml":{"schema":{"type":"object","properties":{"available":{"type":"boolean","description":"False when market data could not be fetched; display fields then hold a dash."},"stale":{"type":"boolean","description":"True when a previously fetched value is being reused."},"source":{"type":"string"},"source_label":{"type":"string"},"name":{"type":"string"},"symbol":{"type":"string"},"contract":{"type":"string"},"price_native_symbol":{"type":"string"},"change_direction":{"type":"string"},"price_display":{"type":"string"},"price_native_display":{"type":"string"},"market_cap_display":{"type":"string"},"change_display":{"type":"string"},"liquidity_display":{"type":"string"},"volume_display":{"type":"string"},"buys_display":{"type":"string"},"sells_display":{"type":"string"},"activity_display":{"type":"string"},"status_display":{"type":"string"},"chain":{"type":["string","null"]},"chain_display":{"type":["string","null"]},"dex":{"type":["string","null"]},"dex_display":{"type":["string","null"]},"price_usd":{"type":["string","null"]},"price_native":{"type":["string","null"]},"pair_url":{"type":["string","null"]},"pair_address":{"type":["string","null"]},"listed_on":{"type":["string","null"]},"detail":{"type":["string","null"]},"fetched_at":{"type":["string","null"]},"fetched_at_display":{"type":["string","null"]},"market_cap_usd":{"type":["number","null"]},"change_h24_pct":{"type":["number","null"]},"liquidity_usd":{"type":["number","null"]},"volume_h24_usd":{"type":["number","null"]},"buys_h24":{"type":["integer","null"]},"sells_h24":{"type":["integer","null"]}},"required":["available","source","contract"]}}}},"400":{"description":"Bad Request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"404":{"description":"Not Found","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"405":{"description":"Method Not Allowed","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"500":{"description":"Internal Server Error","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"413":{"description":"Content Too Large","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"tags":["Token"],"summary":"Token market data","description":"Price, market cap, liquidity, 24h volume and trade counts for the token pair, relayed from DexScreener. Cached for 15 seconds.","operationId":"get_api_token"}},"/api/requests":{"get":{"responses":{"200":{"description":"Download figures","content":{"application/json":{"schema":{"type":"object","properties":{"available":{"type":"boolean"},"stale":{"type":"boolean"},"package":{"type":"string"},"source":{"type":"string"},"source_label":{"type":"string"},"source_url":{"type":"string"},"total_downloads":{"type":["integer","null"]},"figures":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"downloads":{"type":"integer"},"display":{"type":"string"},"note":{"type":"string"}}}},"series":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string","format":"date"},"downloads":{"type":"integer"}},"required":["date","downloads"]}},"series_caption":{"type":"string"},"detail":{"type":["string","null"]},"fetched_at":{"type":["string","null"]}}}},"application/yaml":{"schema":{"type":"object","properties":{"available":{"type":"boolean"},"stale":{"type":"boolean"},"package":{"type":"string"},"source":{"type":"string"},"source_label":{"type":"string"},"source_url":{"type":"string"},"total_downloads":{"type":["integer","null"]},"figures":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"downloads":{"type":"integer"},"display":{"type":"string"},"note":{"type":"string"}}}},"series":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string","format":"date"},"downloads":{"type":"integer"}},"required":["date","downloads"]}},"series_caption":{"type":"string"},"detail":{"type":["string","null"]},"fetched_at":{"type":["string","null"]}}}}}},"400":{"description":"Bad Request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"404":{"description":"Not Found","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"405":{"description":"Method Not Allowed","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"500":{"description":"Internal Server Error","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"413":{"description":"Content Too Large","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"tags":["Downloads"],"summary":"Requests download figures","description":"Headline download figures and a recent daily series for the Requests package. Cached for 5 minutes.","operationId":"get_api_requests"}},"/api/observatory":{"get":{"responses":{"200":{"description":"Observatory snapshot","content":{"application/json":{"schema":{"type":"object","properties":{"snapshot":{"type":"object","description":"Retained daily download snapshot for the Requests package (UTC dates).","properties":{"package":{"type":"string"},"firstDate":{"type":"string","format":"date"},"latestDate":{"type":"string","format":"date"},"rawTotal":{"type":"integer","description":"Sum of all reported daily downloads."},"rawLatest":{"type":"integer"},"fetchedAt":{"type":"string","format":"date-time"},"daily":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string","format":"date"},"downloads":{"type":"integer"}},"required":["date","downloads"]}},"source":{"type":"string"},"queries":{"type":"object","description":"Source queries used to build the snapshot.","additionalProperties":{"type":"string"}}}},"checkedAt":{"type":"string","format":"date-time"},"status":{"type":"string","enum":["current","cached","fallback"]},"serverTime":{"type":"string","format":"date-time"},"refreshing":{"type":"boolean"},"message":{"type":["string","null"]}},"required":["snapshot","checkedAt","status"]}},"application/yaml":{"schema":{"type":"object","properties":{"snapshot":{"type":"object","description":"Retained daily download snapshot for the Requests package (UTC dates).","properties":{"package":{"type":"string"},"firstDate":{"type":"string","format":"date"},"latestDate":{"type":"string","format":"date"},"rawTotal":{"type":"integer","description":"Sum of all reported daily downloads."},"rawLatest":{"type":"integer"},"fetchedAt":{"type":"string","format":"date-time"},"daily":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string","format":"date"},"downloads":{"type":"integer"}},"required":["date","downloads"]}},"source":{"type":"string"},"queries":{"type":"object","description":"Source queries used to build the snapshot.","additionalProperties":{"type":"string"}}}},"checkedAt":{"type":"string","format":"date-time"},"status":{"type":"string","enum":["current","cached","fallback"]},"serverTime":{"type":"string","format":"date-time"},"refreshing":{"type":"boolean"},"message":{"type":["string","null"]}},"required":["snapshot","checkedAt","status"]}}}},"400":{"description":"Bad Request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"404":{"description":"Not Found","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"405":{"description":"Method Not Allowed","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"500":{"description":"Internal Server Error","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"413":{"description":"Content Too Large","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"tags":["Downloads"],"summary":"Download observatory snapshot","description":"The full daily download history behind /observatory, with its freshness status. Not cached.","operationId":"get_api_observatory"}}},"openapi":"3.1.0","components":{"schemas":{"ProblemDetails":{"type":"object","required":["type","title","status"],"properties":{"type":{"type":"string","format":"uri-reference"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"},"instance":{"type":"string","format":"uri-reference"},"request_id":{"type":"string"},"errors":{"type":"array","items":{"type":"object","additionalProperties":true}}},"additionalProperties":true}}}}