Response headers
Every /stable response carries headers describing how fresh the data is and how much rate-limit and quota capacity you have left. Header names are case-insensitive.
Freshness and cache
| Header | Meaning |
|---|---|
| X-Data-Version | The version of the data, formatted YYYYMMDDTHHMMSSZ (UTC, e.g. 20261020T090000Z). Two responses with the same value were built from the same data. The value changes when the data is updated, so you can use it to decide whether to re-sync. |
| X-Data-As-Of | The point in time of the data used to build that version, as an ISO 8601 UTC timestamp (e.g. 2026-10-20T08:10:00.000Z); price endpoints use the latest trading date (YYYY-MM-DD). It advances together with X-Data-Version. |
| X-Cache | HIT means the response was served from the Edge cache; MISS means it was generated at the origin. Quota is consumed either way (same cost). |
Rate limit and quota
| Header | Meaning |
|---|---|
| X-RateLimit-Limit | Requests per minute allowed by your plan |
| X-RateLimit-Remaining | Requests remaining in the current window |
| X-RateLimit-Reset | UNIX time (seconds) when the window resets |
| X-Monthly-Quota-Limit | Monthly token quota of your plan |
| X-Monthly-Quota-Remaining | Tokens remaining this month. Resets on the 1st (UTC). |
HTTP/2 200 content-type: application/json; charset=utf-8 x-data-version: 2026-10-19T07:30:00Z x-data-as-of: 2026-10-17 x-cache: HIT x-ratelimit-limit: 60 x-ratelimit-remaining: 42 x-ratelimit-reset: 1755500000 x-monthly-quota-limit: 100000 x-monthly-quota-remaining: 98213
warning
Edge cache entries live from a few minutes to a few hours depending on the endpoint. Data changes are checked every 15 minutes, and when the data has changed X-Data-Version and X-Data-As-Of advance together. If you need the very latest numbers right after an earnings release, check these two headers. Both can be read from a browser fetch. There is no cache-bypass parameter.

