Skip to main content
Zero data retention (ZDR) is an opt-in mode on selected Context.dev endpoints. When you set zdr=enabled on a request:
  • Shared caches are bypassed end-to-end for that request.
  • Usage logs record operational metadata only — no request body, no response body, no query values, no user-agent, no 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: true so you can confirm ZDR was honored.
Use it for regulated workloads, customer-uploaded documents, or any request where the source or response content must not persist on our infrastructure.
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 with ZDR_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

Body-parameter endpoint (crawl)

cURL

Confirm ZDR was honored

Successful ZDR responses include the CORS-exposed response header:
If the header is missing, the request was processed in standard mode — either you sent zdr=disabled (or omitted it) or the request was rejected before ZDR could take effect. Always check the header when you need to prove retention behavior to a compliance workflow.

Trade-offs

Because ZDR skips shared caches and richer processing paths, expect:
  • Higher latency — scrape HTML cache, screenshot cache, DNS resolution cache, and single-flight deduplication are all bypassed. Repeated ZDR requests to the same URL don’t get faster.
  • No search-assisted sitemap discoveryGET /v1/web/scrape/sitemap under ZDR relies on direct crawling only.
  • Reduced observability on your side — request tags are dropped from usage logs, so you can’t attribute ZDR spend by tag in the dashboard. Track ZDR usage in your own systems if you need per-workload attribution.
Pricing and rate limits are unchanged.

Errors