Try it right now, with no key
One domain, no signup, real signed data. Keyless calls are throttled to 1 request every 15 seconds per IP - useful for "does this work?", useless for real work. An API key removes the throttle.
curl https://domaindrift.io/connor/v1/domains/netflix.com
The response carries X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset. Go too fast and you get a 429 with Retry-After - a boundary, not a bug. Lists, history, and exports need a key.
What is free, what is metered
DomainDrift states its price at the door. Every metered response carries its own meter in the headers, so you never have to guess where you stand.
Free / webNOT METERED
Free
Anyone. No key, no card, no signup.
How it is metered: Not metered. Rate limited per IP only, to keep the wire up.
/health /t/:domain (the time machine) /changes/today, /changes/:date /changes.rss, /changes.json /connor/v1/tapeKeyless API (no key, no signup)NOT METERED
Free
A developer who wants to see it work before signing up for anything.
How it is metered: Not metered against an account, because there is no account. It is THROTTLED instead: 1 request every 15 seconds per IP, under a shared daily ceiling across all keyless callers. Every response carries X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset; a throttled call gets a 429 with Retry-After and a link back here. If the shared daily ceiling is spent, the lane closes to a plain "sign in" - never an error.
GET /connor/v1/domains/:domain (one domain, latest, signed)Keyed API (included allowance)METERED
Included with the account
A signed-in DRM3 account, using a key minted for that account.
How it is metered: ONE request = ONE unit, counted against your account (all your keys share one allowance). Enforced on TWO axes and the tighter one wins: a MONTHLY allowance and a DAILY burst cap. Both reset on UTC boundaries. Every response carries X-Connor-Usage, X-Connor-Remaining, X-Connor-Usage-Day and X-Connor-Daily-Remaining, so you never have to guess. Over allowance = HTTP 402 naming which axis tripped; it never silently drops your data.
/connor/v1/domains /connor/v1/domains/:domain /connor/v1/changes /connor/v1/stream /connor/v1/domains/:domain/provenancePay per call (x402)METERED
Per call, USDC on Base
A keyless agent that would rather pay than sign up.
How it is metered: Priced per call in USDC on Base. No key and no account: present an X-PAYMENT header, we verify it, serve the call, and queue the settlement. A keyless call with no payment gets a 402 that IS the price menu.
Any /connor/v1/* readOperatorNOT METERED
Not available
DomainDrift operators and service keys only.
How it is metered: Not metered, because it is not for sale. Non-admin keys get a 403.
/connor/v1/bq/* /connor/v1/enrich-batch /connor/v1/opt-out /connor/v1/domains (POST) /connor/v1/queue/*Never metered:
- Service + scanner keys (they run the pipeline, they are not a customer).
- The public web surfaces above (they carry no key at all).
- Keyless single-domain lookups, which are throttled per IP instead of metered.
- x402 payers, who already paid for the call at the door.
The web, without an account
The free web surface is a real slice of the product, not a screenshot. Where a list is truncated, DomainDrift shows you the true size of what it is holding back - never a silent cut.
Free, no accountOPEN
- The landing page, the daily change feed (+ RSS/JSON), and the public analytics pages.
- The Time Machine for any domain at /t/<domain>: the LATEST signed observation.
- The embeddable signed badge, universal search, the verifier, and these docs.
- The TOP 3 of every list - with the true, live total shown next to it.
With a free accountSIGN IN
- Every list in full: the catalog, the change wire, services, certificate issuers.
- Domain detail pages, and ALL point-in-time history / time-series.
- Exports: CSV, signed evidence bundles, and change alerts.
Request
Headers
Response
Headers
Body
Select an endpoint and press RUN
cURL
Select an endpoint to see the cURL command