Developer Docs
REST API
Full programmatic access to creator search, scoring, outreach generation, and list management. Authenticate with an API key and call any endpoint from your agent or script.
Authentication
Every request must include an Authorization header. Two token types are accepted:
Long-lived. Prefix cdp_. Generate from Settings → Developer. Best for agents and scripts.
Short-lived (7d). Returned from /api/auth/login. Best for frontend sessions.
curl /api/search \
-H "Authorization: Bearer cdp_your_api_key_here" \
-H "Content-Type: application/json" \
-d '{"query": "fitness creators under 500k subs"}'Rate limits
Every authenticated endpoint is subject to two independent limits: a plan-tier limit based on your subscription, and an absolute hard cap that applies to all plans equally to prevent runaway automation. Both limits are keyed to your user account (not your IP), so agents deployed in cloud environments won't collide with each other.
When a limit is hit the API returns 429 with a Retry-After header (seconds) and a JSON body indicating which limit was exceeded. Successful responses include RateLimit-Limit, RateLimit-Remaining, and RateLimit-Reset headers.
| Endpoint | Window | Free Trial | Pay As You Go | Subscription | Hard Cap (all plans) |
|---|---|---|---|---|---|
| POST /api/search | 60 s | 3 / min | 8 / min | 15 / min | 30 / min |
| GET /api/creators/:id | 60 s | 5 / min | 10 / min | 20 / min | 30 / min |
| GET /api/creators/:id/stats | 60 s | 8 / min | 15 / min | 30 / min | 40 / min |
| POST /api/outreach/generate | 60 s | 2 / min | 5 / min | 10 / min | 15 / min |
| POST /api/outreach/generate-bulk | 5 min | 1 / 5 min | 3 / 5 min | 10 / 5 min | 15 / 5 min |
| POST /api/outreach/reveal-email | 60 s | 5 / min | 10 / min | 20 / min | 30 / min |
| POST/PATCH/DELETE /api/lists | 60 s | 10 / min | 20 / min | 40 / min | 60 / min |
| POST /api/user/api-keys | 1 hr | 2 / hr | 5 / hr | 10 / hr | 10 / hr |
| All routes (IP firewall) | 60 s | — | — | — | 100 / min IP |
HTTP/1.1 429 Too Many Requests
Retry-After: 42
Content-Type: application/json
{
"error": "Rate limit for your plan reached.",
"retryAfter": 42,
"plan": "free_trial",
"hint": "Upgrade your plan for higher limits."
}Search
Creators
Outreach
Lists
API Keys
API keys start with cdp_ and are shown once on creation — store them securely.
Errors
All errors return JSON with an error field and a standard HTTP status code.
400Bad RequestMissing or invalid parameters401UnauthorizedMissing, invalid, or expired token403ForbiddenAction requires a higher plan or more credits404Not FoundResource does not exist429Rate LimitedToo many requests — back off and retry500Server ErrorSomething went wrong on our end{ "error": "No search credits remaining", "upgradeRequired": true }