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.