zdr=enabled on a request:
- Shared caches are bypassed end-to-end for that request.
- Usage logs record operational metadata only, with no request body, response body, query values, user-agent, or tags.
- Uploaded bytes (parse) and captured screenshots are handled in memory and are never staged in shared object storage.
- The response carries
X-Context-ZDR: trueso you can confirm ZDR was honored.
Zero data retention is a per-organization entitlement. Contact [email protected] to have it enabled on your account before sending ZDR requests.
Supported endpoints
ZDR is only accepted on the endpoints below. Every other endpoint rejects the parameter withZDR_NOT_SUPPORTED.
Sending
zdr in the wrong location (for example, in the crawl query string or a scrape body) returns 400 INPUT_VALIDATION_ERROR.
Enable ZDR on a request
zdr accepts two values: enabled and disabled. Any other value returns 400 INPUT_VALIDATION_ERROR. Omitting the parameter is equivalent to disabled and behaves exactly like a normal request.
Query-parameter endpoints
- Webpage
- Document
Body-parameter endpoint (crawl)
Confirm ZDR was honored
Successful ZDR responses include the CORS-exposed response header:Trade-offs
Because ZDR skips shared caches and richer processing paths, expect:- No shared cache reuse. Repeated ZDR requests cannot reuse a shared cached result, so they may take longer than standard requests.
- No search-assisted sitemap discovery.
GET /v1/web/scrape/sitemapunder ZDR relies on direct crawling only. - No usage tags. Request
tagsare dropped from usage logs. Track ZDR usage in your own systems if you need per-workload attribution.
Errors
Related
Request tags
Understand usage attribution and why tags are dropped under ZDR.
Rate limits
Pace ZDR requests within the standard rate limits.