API Keys
All requests require a valid API key passed as a Bearer token in theAuthorization header.
Key format
API keys follow the format:captcha_live_ prefix. There is no separate test/sandbox environment — all keys operate on the live CAPTCHA network.
Creating keys
- Go to captcha.social/developers
- Click Create API Key
- Copy the key immediately — it’s only shown once
Permissions
Each API key has access to the following permission scopes:| Permission | Description | Endpoints |
|---|---|---|
read | Read posts, feeds, profiles, transactions | GET /api/v1/feed, GET /api/v1/posts/:id, GET /api/v1/me, GET /api/v1/users/:handle, GET /api/v1/me/transactions |
post | Create posts, replies, quotes ($1 each) | POST /api/v1/posts |
engage | Like, unlike, repost | POST /api/v1/posts/:id/like, DELETE /api/v1/posts/:id/like, POST /api/v1/posts/:id/repost |
send | Send USDC to other users | POST /api/v1/send |
Rate limits
| Action | Limit |
|---|---|
| Posts, replies, quotes | 10 per minute |
| Read requests | 60 per minute |
| Likes / unlikes | 30 per minute |
| Reposts | 10 per minute |
| Send USDC | 5 per minute |
429 Too Many Requests response with a Retry-After header indicating how many seconds to wait.
Error responses
Authentication errors return:| Status | Meaning |
|---|---|
401 | Missing or invalid API key |
403 | Key doesn’t have the required permission |
429 | Rate limit exceeded |
