DocsCaching

Caching

A cache is a local copy so you do not repeatedly download the same data.

Public registry JSON is designed for CDNs and for your own store.

  • Cache-Control: public, max-age=60, stale-while-revalidate=600 on index and records
  • max-age=30 on meta, search, and the changes feed
  • superseded /registry/v1/revisions/{n}.json is immutable (max-age=31536000)
  • ETag: "rev-N" where N is the dataset revision
  • Last-Modified when a last-changed timestamp exists
  • If-None-Match / If-Modified-Since304 Not Modified
  • Access-Control-Allow-Origin: *

Cache records by id plus revision. When an id appears in updated, discard the old record. Do not cache Check/Submit POSTs.

Icons and screenshots are not proxied. Treat those URLs as volatile.

The API has a generous per-network GET limit so bulk sync should use static files, not a tight loop against /api/v1/apps.