We process it. We never keep it.
Zero data retention keeps your inputs and outputs out of our logs, caches, and storage. We record that a request was made. Everything else is gone before the request completes.
What a request leaves behind.
One line of metadata, so your usage and billing still add up. None of the content.
What we log
The same line you see in your usage logs.
- request_id
- req_7f3a9c21
- time
- 2026-10-17 14:02:11 UTC
- endpoint
- POST /v1/web/scrape
- status
- 200
- latency
- 412 ms
- credits
- 1
- api_key
- key_…4f2a
What we never keep
Gone before the request completes.
- URLs, queries, and parameters you send
- Page content, Markdown, and HTML
- Screenshots and images
- Search results and answers
- Uploaded files
- User agent and request tags
- Headers and cookies you pass along
From request to gone.
Every ZDR request runs the same way, from the moment it arrives to the moment it completes.
- 01
You send one field
Add
zdr: "enabled"on a supported endpoint. Organizations without ZDR turned on are rejected. - 02
Content stays in memory
Pages, files, and screenshots are processed in memory. Shared caches are skipped, and AI steps run with zero retention.
- 03
Discarded on the way out
Your results go back to you, and the content is discarded before the request completes.
- 04
One line of metadata
We keep the time, endpoint, status, latency, and credits, and confirm ZDR in a response header.
Scrubbed from our own logs.
ZDR covers more than your usage log. Inside a ZDR request, our server logs keep only operational fields like status and latency, and our traces drop URLs, content, headers, and error messages before they leave the server.
INFO scrape completed
url=https://example.com/pricing
user_agent=acme-sync/2.1 tags=pricing,nightly
status=200 latency=412 credits_used=1
TRACE GET example.com/pricing http.url=https://example.com/pricingINFO ZDR request event
status=200 latency=412 credits_used=1
TRACE ZDR operation zdr=trueOne field per request.
Once ZDR is on for your organization, add zdr: "enabled" to any request you want covered. It costs the same credits as a standard request, and every response tells you it was applied.
Works on
- Scrape
- Crawl
- Search
- Answers
- Parse
- Map URLs
- People Enrich
- Styleguide
import ContextDev from 'context.dev';
const client = new ContextDev({ apiKey: 'YOUR_API_KEY' });
const page = await client.web.scrape({
url: 'https://example.com/pricing',
formats: { markdown: true },
zdr: 'enabled',
});
if (page.cache_metadata.status !== 'zdr') {
throw new Error('ZDR was not applied');
}Almost nobody offers ZDR policies and so I decided to give Context.dev a try when I saw that they had a clear and comprehensive ZDR offering.
Sacha Servan-SchreiberCo-founder, TinfoilRead the case studyA few things to know.
More details in the API documentation.
How do I turn on zero data retention?
ZDR is enabled per organization. Book a call or email support@context.dev. Once it’s on, send zdr: "enabled" on each request you want covered.
Does ZDR cost extra?
No. A ZDR request costs the same credits as a standard one.
How can I tell ZDR was applied?
Successful responses include the X-Context-ZDR: true header. Scrape also returns cache_metadata.status set to "zdr". Check it before you record that ZDR was applied.
Which endpoints support ZDR?
Scrape, Crawl, Search, Answers, Parse, Map URLs, People Enrich, and Styleguide. Batches and Monitors store results so you can collect them later, so they reject ZDR with ZDR_NOT_SUPPORTED instead of quietly keeping your data.
What shows up in my usage logs?
Each ZDR request appears with its time, endpoint, status, latency, and credits. Its input and response are marked as not stored.
Can ZDR content be used to train models?
No. Nothing from a ZDR request is kept, so there is nothing to train on. AI steps run on model configurations that retain nothing.
What works differently under ZDR?
Requests can take longer because cached results aren’t reused. Screenshots come back inline instead of as hosted links, images keep their original URLs, PDF OCR is skipped, and Highlights and browser profiles aren’t available.
Does ZDR cover my own systems?
No. ZDR covers what Context.dev retains. Your application is still responsible for anything it stores or logs. See our DPA and trust center for the rest of our data handling.
Build on the web. Keep nothing.
Start with 1,000 free credits, then talk to us when you’re ready to turn on zero data retention.



