Skip to main content
The Descript API is organized around REST. It accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes and authentication.

Base URL

https://descriptapi.com/v1

Authentication

All requests require a bearer token in the Authorization header:
-H "Authorization: Bearer YOUR_API_TOKEN"
Create tokens in your Descript settings. See Authentication for details.

Endpoints

Import

MethodPathDescription
POST/jobs/import/project_mediaImport media and create a project

Agent

MethodPathDescription
POST/jobs/agentRun an AI-powered edit on a project

Jobs

MethodPathDescription
GET/jobsList recent jobs
GET/jobs/{job_id}Get job status
DELETE/jobs/{job_id}Cancel a running job

Status

MethodPathDescription
GET/statusCheck API status (work in progress)

Partner APIs

These endpoints require contacting Descript for access.
MethodPathDescription
POST/edit_in_descript/schemaCreate an import URL for partner integrations
GET/published_projects/{slug}Get published project metadata

Request format

Send request bodies as JSON with the Content-Type: application/json header.

Async operations

All import and agent operations are asynchronous. They return immediately with a job_id. Poll the job status endpoint or use a callback_url for webhook notifications. See Working with Jobs.

Rate limits

The API enforces rate limits. Exceeding them returns 429 Too Many Requests with a Retry-After header. See Error Codes.