Extract API
The Extract API lets you programmatically manage your data pipelines — sources, destinations, connections, and more.
For the full interactive reference, see the API Reference.
Base URL
All API requests should be made to:
https://api.extract.to
Authentication
Every request must include a Bearer token in the Authorization header:
Authorization: Bearer <your-token>
To find your API key in the Extract app, open the account menu and go to Profile, or visit:
https://app.extract.to/users/edit/me
Then copy the API Key field.
This API key represents your user, should be kept secret, and is valid for 90 days.
Permissions
Most read operations (GET) are available to any authenticated user. Write operations (create, update, delete) require additional permissions based on your role:
| Permission | Required for |
|---|---|
| Any authenticated user | Read endpoints (list, get) |
| Creator or Admin role | Create, update, and delete resources (connections, sources, destinations, triggers) |
| Billing permission | View plans and usage data |
Roles are managed in the Extract platform under Settings > Roles & Permissions.
Resource IDs
All resource IDs in the Extract API are opaque UUID-format strings, for example:
a1b2c3d4-e5f6-7890-abcd-ef1234567890
Always treat IDs as opaque strings — do not parse or construct them.
Error Format
Errors return a JSON body with a detail field and an appropriate HTTP status code:
{
"detail": "Connection not found"
}
Common status codes:
| Code | Meaning |
|---|---|
| 400 | Bad request — invalid parameters |
| 401 | Unauthorized — missing or invalid token |
| 402 | Payment required — account plan limit reached |
| 404 | Not found |
| 500 | Internal server error |