Skip to main content

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:

PermissionRequired for
Any authenticated userRead endpoints (list, get)
Creator or Admin roleCreate, update, and delete resources (connections, sources, destinations, triggers)
Billing permissionView 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:

CodeMeaning
400Bad request — invalid parameters
401Unauthorized — missing or invalid token
402Payment required — account plan limit reached
404Not found
500Internal server error

Quick Start

1. List available connectors

curl -H "Authorization: Bearer $TOKEN" \
https://api.extract.to/connectors

2. List your connections

curl -H "Authorization: Bearer $TOKEN" \
https://api.extract.to/connections

3. Trigger a connection run

curl -X POST -H "Authorization: Bearer $TOKEN" \
https://api.extract.to/connections/{connection_id}/run