import requests
url = 'https://api.ade.landing.ai/v2/parse/jobs'
headers = {'Authorization': 'Bearer YOUR_API_KEY'}
files = {'document': open('document.pdf', 'rb')}
data = {'model': 'dpt-3-pro-latest'}
response = requests.post(url, headers=headers, files=files, data=data)
print(response.json())curl -X POST 'https://api.ade.landing.ai/v2/parse/jobs' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-F 'document=@document.pdf' \
-F 'model=dpt-3-pro-latest'const axios = require('axios');
const FormData = require('form-data');
const fs = require('fs');
const form = new FormData();
form.append('document', fs.createReadStream('document.pdf'));
form.append('model', 'dpt-3-pro-latest');
axios.post('https://api.ade.landing.ai/v2/parse/jobs', form, {
headers: { 'Authorization': 'Bearer YOUR_API_KEY', ...form.getHeaders() }
})
.then(response => console.log(response.data))
.catch(error => console.error(error));{
"job_id": "<string>",
"status": "pending",
"created_at": "<string>"
}{
"code": "<string>",
"message": "<string>"
}ADE Parse Jobs
Parse a document asynchronously. Returns a job ID; use it to poll for the job’s status and retrieve the parse result once processing completes.
import requests
url = 'https://api.ade.landing.ai/v2/parse/jobs'
headers = {'Authorization': 'Bearer YOUR_API_KEY'}
files = {'document': open('document.pdf', 'rb')}
data = {'model': 'dpt-3-pro-latest'}
response = requests.post(url, headers=headers, files=files, data=data)
print(response.json())curl -X POST 'https://api.ade.landing.ai/v2/parse/jobs' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-F 'document=@document.pdf' \
-F 'model=dpt-3-pro-latest'const axios = require('axios');
const FormData = require('form-data');
const fs = require('fs');
const form = new FormData();
form.append('document', fs.createReadStream('document.pdf'));
form.append('model', 'dpt-3-pro-latest');
axios.post('https://api.ade.landing.ai/v2/parse/jobs', form, {
headers: { 'Authorization': 'Bearer YOUR_API_KEY', ...form.getHeaders() }
})
.then(response => console.log(response.data))
.catch(error => console.error(error));{
"job_id": "<string>",
"status": "pending",
"created_at": "<string>"
}{
"code": "<string>",
"message": "<string>"
}Body
The file to parse. The file must be a PDF or image; see the list of supported file types. Provide either document or document_url, not both.
A publicly accessible URL to the file to parse. The file must be a PDF or image; see the list of supported file types. Provide either document or document_url, not both.
The DPT-3 model snapshot to use for this request. Accepts a dated snapshot (for example, dpt-3-pro-20260710), a -latest alias, or a bare family name (equivalent to that family's -latest). Two families are available: dpt-3-pro for highest quality, and dpt-3-fast for lower-latency parsing without vision-model captioning. Defaults to the latest DPT-3 Pro snapshot.
Optional object that customizes the parse. Use it to select which pages to process, adjust how content appears in the Markdown, or control how much detail the response includes. Sent as a JSON-serialized string in form data.
Show child attributes
Show child attributes
Public URL the full response is delivered to; the API response then carries output_url instead of inline data. A presigned URL must stay valid until the job COMPLETES, not just past submit: an already-expired URL, or one whose remaining validity is too short for the document's page count, is rejected at submit (422). By default the URL must retain at least 15 minutes of validity at submit, plus 3 seconds per document page; the 422 message names the exact window required. Sign with credentials that outlive the expected job duration — a URL signed with temporary (assumed-role/session) credentials dies when that session expires, regardless of the URL's stated expiry.
Async service tier (POST /jobs only). priority runs in the fast lane at the sync billing rate; absent → standard.
standard, priority Response
Job created
The unique identifier for the created parse job. Poll GET /v2/parse/jobs/{job_id} for its status and result. Format: <service>-<26-character Crockford base32 ULID> matching ^(parse|extract)-[0-9a-hjkmnp-tv-z]{26}$. Opaque, server-minted, and stable for the life of the job — the same id is returned on the sync response, the async 202, and every poll. Treat it as opaque; older id formats remain accepted indefinitely and are never re-issued.
The job's status at creation — normally pending (a just-created job that is still running is reported as pending), but may already be a terminal completed / failed if the job finished before the create response was rendered.
pending, processing, completed, failed ISO-8601 timestamp for when the job was created.
Was this page helpful?