Skip to main content

Caching & limits

  • The Worker caches GNews responses at the edge for 10 minutes and sends Cache-Control: public, max-age=300, s-maxage=600.
  • Upstream timeouts differ by provider: GNews, Unsplash, and newsletter calls time out after 8 seconds; GDELT calls time out after 20 seconds on the Worker and 21 seconds client-side (GDELT's DOC API regularly takes 5–15 s to respond).
  • GDELT responses are edge-cached for 120 seconds; Unsplash photo responses are cached for 1 hour.
  • Data routes only accept requests from NovaReport origins, and are rate-limited per IP (60 requests per minute). The newsletter route has a stricter limit of 5 requests per minute per IP.
  • Rate limits are tracked in memory per Worker isolate. Cloudflare may run the Worker on several isolates simultaneously, so the effective ceiling is a small multiple of the listed limit.
  • These limits exist to protect provider free-tier quotas; they are not a public API service level.