Index
Edit

API CDN

Sanity provides two APIs:

  1. api.sanity.io: the live, uncached API. This is the default and will always give you the freshest data, but requests will be slower because they need to reach our backend on every request. Requests are also more costly, because they will trigger more computation on our servers.
  2. apicdn.sanity.io: the CDN-distributed, cached API, which is an opt-in feature that will give you very fast responses to requests that have been cached. We encourage most users to use this API for their front-ends unless there is a good reason not to.

To use the API CDN, simply use apicdn.sanity.io instead of api.sanity.io. Most clients provide a useCdn option that makes this switch seamless.

Cache Policy

The API CDN is primarily meant to cache public query results, and as such the following requests are not cached:

  • Non-GET/HEAD/OPTIONS requests are rejected, including mutations (document writes)
  • Listeners are redirected to the live API (subscriptions to real-time updates)
  • Cookies are removed from requests, including authentication cookies
  • Requests with Authorization headers are rejected, i.e. authenticated requests
  • Responses larger than 10 MB are not cached
  • Non-200 responses are not cached

All official clients will automatically fall back to using the live API where appropriate.

Invalidation

The API CDN currently caches requests for 1 hour, and the entire cache for a dataset is invalidated whenever there is a write to a non-draft document in the dataset. Invalidation may take up to 30 seconds to propagate fully, and clients may be served stale data while new data is fetched in the background for an additional 20 seconds.

Locations

Sanity currently has CDN nodes in these locations:

  • Europe: Belgium
  • United States: Oregon and Northern Virginia
  • Asia: Singapore

Additionally, data is cached throughout Google's worldwide CDN for 15 seconds to better serve high-volume projects We also use Google's global load balancers to reduce initial connection setup latency, as well as their globally distributed DNS servers for fast DNS lookups.

Previous: WebhooksNext: Keeping your data safe