Auth

CrawlPipe has two separate auth planes. This page covers the one you'll use as an API consumer.

API keys (/v1/*)

Every request to the public API authenticates with a bearer API key:

Authorization: Bearer dp_live_a1b2c3d4e5f6…

Keys are org-scoped — every key belongs to an organization, never a single user. Format is dp_live_ followed by 32 random base62 characters.

One-time display

The full key is only ever shown once, at creation time, in the portal. After that, CrawlPipe stores only a sha256 hash and can display just the first few characters (the prefix) for identification. If you lose a key, revoke it and create a new one — there's no way to recover the original value.

Email verification is required before you can create any key (this keeps the free tier from being abused by disposable accounts).

Scopes

ScopeGrants
readAll GET /v1/{domain}/* data endpoints (search, documents, changes, …)
manageWebhook management and usage endpoints via the API

New keys default to {read}. Request manage explicitly when creating a key if your integration needs to create/list/delete webhooks through the API instead of the portal UI.

Revocation

Revoking a key in the portal takes effect immediately in the database; an in-process cache on the API means propagation is bounded at 60 seconds. After that, requests with a revoked key get 401 invalid_key.

Portal sessions (/portal/*)

The portal itself (this site) authenticates with an httpOnly session cookie plus a CSRF double-submit token — this is not part of the public API and isn't something you use from your own integration.

Rate limits & plans

Every response carries X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset (unix timestamp) headers, independent of the units model covered in Metering & idempotency. Limits are per plan — see Pricing.

Auth — CrawlPipe Docs