Skip to main content
GET REST responses are cached in the server process. A cache hit skips the Monid call entirely, so it costs nothing and returns faster than a fresh call would. Every response carries an X-Cache header telling you which one happened.
curl
Call the same URL again with the same key before the TTL runs out, and the header reads X-Cache: hit, with no Monid call behind it.

What makes two requests “the same”

A cache entry is keyed on your API key plus the request path plus the query parameters, sorted. Two different keys never share a cached response for the same query. Parameter order does not matter: ?ticker=AAPL&limit=1 and ?limit=1&ticker=AAPL hit the same entry.

How long entries live

What never gets cached

Non-GET requests, POST /financials/search/screener is the only one, are never cached. Error responses, anything with a status of 400 or higher, are never cached either. The MCP transport at /mcp and /api is never cached, regardless of method. Caching here is in-process and best effort. It uses a bounded, oldest-first eviction cache with no persistence across restarts. Treat it as a latency and cost optimization, not a guarantee that a given response will still be there in an hour.