Skip to main content
POST
/
v2
/
extract
/
jobs
cURL
curl -X POST 'https://api.ade.landing.ai/v2/extract/jobs' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -F 'markdown=@parse-output.md' \
  -F 'schema={"type":"object","properties":{"revenue":{"type":"string","description":"Q1 2024 revenue"}}}'
import json
import requests

url = 'https://api.ade.landing.ai/v2/extract/jobs'
headers = {'Authorization': 'Bearer YOUR_API_KEY'}

files = {'markdown': open('parse-output.md', 'rb')}
data = {
'schema': json.dumps({
'type': 'object',
'properties': {
'revenue': {'type': 'string', 'description': 'Q1 2024 revenue'}
}
})
}

response = requests.post(url, headers=headers, files=files, data=data)
print(response.json())
const axios = require('axios');
const FormData = require('form-data');
const fs = require('fs');

const form = new FormData();
form.append('markdown', fs.createReadStream('parse-output.md'));
form.append('schema', JSON.stringify({
type: 'object',
properties: {
revenue: { type: 'string', description: 'Q1 2024 revenue' }
}
}));

axios.post('https://api.ade.landing.ai/v2/extract/jobs', form, {
headers: { 'Authorization': 'Bearer YOUR_API_KEY', ...form.getHeaders() }
})
.then(response => console.log(response.data))
.catch(error => console.error(error));
{
  "job_id": "<string>",
  "created_at": "<string>"
}

Body

Input to V2ExtractOperationWorkflow.

Provide the markdown as an inline markdown string, as a multipart file part named markdown (for large inputs — the gateway stages the upload internally), or via a public markdown_url. Exactly one source must be supplied.

schema
Schema · object
required

JSON Schema describing the fields to extract. The schema must be an object type with a properties map of field names to their types and descriptions.

Example:
{
"properties": {
"revenue": {
"description": "Q1 revenue figure",
"type": "string"
},
"summary": {
"description": "Executive summary",
"type": "string"
}
},
"type": "object"
}
markdown
string | null

Markdown string to extract from, or a multipart FILE part carrying the markdown (large inputs — uploads are staged by the gateway). Can come from any source — LandingAI parse output, a third-party parser, or hand-authored text. When the markdown was produced by POST /v2/parse, it ends with a <!-- doc_id=<id> --> comment that the service reads automatically and echoes as metadata.doc_id.

markdown_url
string | null

URL to fetch the markdown from. Must be a public http(s) URL; private/loopback IPs are rejected at submit time.

model
string | null

The version of the model to use for extraction. Use extract-latest to use the latest version.

options
V2ExtractOptions · object | null

Extraction options (strict). Omit for defaults.

service_tier
enum<string> | null

Async service tier. priority runs in the fast lane at the sync billing rate; absent → standard.

Available options:
standard,
priority

Response

202 - application/json

Job created

job_id
string
status
enum<string>
Available options:
pending,
processing,
completed,
failed
created_at
string | null