GET/v1/status/freshnessDEVELOPER+
/v1/status/freshness
Per-market data freshness and an overall status roll-up. Response is snake_case.
An operational read, not a pricing one: per-market delay_seconds since the last ingested event plus an overall_status roll-up. Use it to decide whether to trust a given market's numbers right now. Response is snake_case.
Parameters
No query parameters.
Response fields
FreshnessResponsePer-market ingest freshness + an overall roll-up. snake_case.
marketsMarketFreshness[]
One row per ingested market.overall_statusstring
Roll-up: healthy | degraded | ….checked_atstring (date-time)
When freshness was sampled.Nested and shared shapes link to the API Objects reference.
Response 200
{
"markets": [
{
"market": "dmarket",
"delay_seconds": 0,
"last_update": "2026-06-23T22:00:00.000Z",
"status": "healthy"
},
{
"market": "steamcommunity",
"delay_seconds": 0,
"last_update": "2026-06-23T22:00:00.000Z",
"status": "healthy"
}
],
"overall_status": "healthy",
"checked_at": "2026-06-23T22:04:00.118Z"
}Errors
401 / 403Missing, invalid, or insufficient-plan API key.
429Rate limit exceeded; see Retry-After + X-RateLimit-* headers.
5xxUpstream snapshot unavailable or a server-side issue. Retry with backoff.
Companion endpoints
GET/v1/status/market-latency
Per-market ingest latency and reliability: avg_latency_ms, p95_latency_ms, p99_latency_ms, fetch_count, error_rate, and slo_breach_rate per market, plus window_hours and measured_at. snake_case, like the rest of status.
curl "https://pricing.skinpricer.com/v1/status/freshness" \
-H "Authorization: ApiKey sk_live_•••••••••••"Authenticated endpoint — call it with your API key from your own client (see the code sample).
Response headers
X-RateLimit-Limit: <per-minute, set by your plan>
X-RateLimit-Remaining: <remaining this minute>
X-RateLimit-Reset: <seconds to reset>
X-Request-ID: req_xxxxxxxxxxxxxxxx