curl -X POST 'https://api.anyformat.ai/v3/parse/' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-F 'file=@/path/to/invoice.pdf'
import requests
url = "https://api.anyformat.ai/v3/parse/"
headers = {"Authorization": "Bearer YOUR_API_KEY"}
with open("invoice.pdf", "rb") as f:
triggered = requests.post(url, headers=headers, files={"file": f}).json()
print(triggered["run_id"])
interface RunTriggered {
run_id: string;
document_packet_id: string;
workflow_id: string;
status: 'queued' | 'in_progress' | 'processed' | 'error' | 'cancelled';
}
const formData = new FormData();
formData.append('file', fileInput.files[0]);
const response = await fetch('https://api.anyformat.ai/v3/parse/', {
method: 'POST',
headers: { 'Authorization': 'Bearer YOUR_API_KEY' },
body: formData,
});
if (!response.ok) {
throw new Error(`API error: ${response.status}`);
}
const triggered: RunTriggered = await response.json();
console.log(triggered.run_id);
{
"run_id": "069dcc2c-e14c-7606-8000-2ee4fb17b4fa",
"document_packet_id": "069dcc2c-e14c-7606-8000-2ee4fb17b4e1",
"workflow_id": "0686bb97-8c30-70f0-8000-97669e000eb8",
"status": "queued"
}
Parse
Parse a Document
Parse one document with the platform’s fast lite parse
POST
/
v3
/
parse
/
curl -X POST 'https://api.anyformat.ai/v3/parse/' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-F 'file=@/path/to/invoice.pdf'
import requests
url = "https://api.anyformat.ai/v3/parse/"
headers = {"Authorization": "Bearer YOUR_API_KEY"}
with open("invoice.pdf", "rb") as f:
triggered = requests.post(url, headers=headers, files={"file": f}).json()
print(triggered["run_id"])
interface RunTriggered {
run_id: string;
document_packet_id: string;
workflow_id: string;
status: 'queued' | 'in_progress' | 'processed' | 'error' | 'cancelled';
}
const formData = new FormData();
formData.append('file', fileInput.files[0]);
const response = await fetch('https://api.anyformat.ai/v3/parse/', {
method: 'POST',
headers: { 'Authorization': 'Bearer YOUR_API_KEY' },
body: formData,
});
if (!response.ok) {
throw new Error(`API error: ${response.status}`);
}
const triggered: RunTriggered = await response.json();
console.log(triggered.run_id);
{
"run_id": "069dcc2c-e14c-7606-8000-2ee4fb17b4fa",
"document_packet_id": "069dcc2c-e14c-7606-8000-2ee4fb17b4e1",
"workflow_id": "0686bb97-8c30-70f0-8000-97669e000eb8",
"status": "queued"
}
Rate limit tier: submission, 60 requests/min. See Rate limits.
The platform’s fast lite parse handles one document per call. It is a one-call shortcut over the workflow upload and run primitives. It runs on your organization’s system parse workflow, which the platform provisions on first use.
Send the file as multipart form data under the
file field. The response references a run. Poll GET /v3/runs/{run_id}/ until status is processed. The parsed markdown sits at results.parse.markdown.
The results envelope carries the first file’s parse output. For a multi-file extraction workflow, use workflow upload and document-packets/run directly.
curl -X POST 'https://api.anyformat.ai/v3/parse/' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-F 'file=@/path/to/invoice.pdf'
import requests
url = "https://api.anyformat.ai/v3/parse/"
headers = {"Authorization": "Bearer YOUR_API_KEY"}
with open("invoice.pdf", "rb") as f:
triggered = requests.post(url, headers=headers, files={"file": f}).json()
print(triggered["run_id"])
interface RunTriggered {
run_id: string;
document_packet_id: string;
workflow_id: string;
status: 'queued' | 'in_progress' | 'processed' | 'error' | 'cancelled';
}
const formData = new FormData();
formData.append('file', fileInput.files[0]);
const response = await fetch('https://api.anyformat.ai/v3/parse/', {
method: 'POST',
headers: { 'Authorization': 'Bearer YOUR_API_KEY' },
body: formData,
});
if (!response.ok) {
throw new Error(`API error: ${response.status}`);
}
const triggered: RunTriggered = await response.json();
console.log(triggered.run_id);
{
"run_id": "069dcc2c-e14c-7606-8000-2ee4fb17b4fa",
"document_packet_id": "069dcc2c-e14c-7606-8000-2ee4fb17b4e1",
"workflow_id": "0686bb97-8c30-70f0-8000-97669e000eb8",
"status": "queued"
}
Authorizations
API key issued from app.anyformat.ai/api-key. Send as Authorization: Bearer <key>.
Headers
Optional caller-supplied key (Stripe convention). Retrying the request with the same key replays the original packet AND run — no duplicate upload, no second extraction.
Body
multipart/form-data
The document to parse.
Response
Successful Response
202 response for both run triggers (upload/run/ and
document-packets/{id}/run/).
Unique identifier of the new run (hyphenated UUID).
Example:
"069dcc2c-e14c-7606-8000-2ee4fb17b4f9"
The document packet the run executes on (hyphenated UUID).
Example:
"069dcc2c-e14c-7606-8000-2ee4fb17b4e1"
The workflow being run (hyphenated UUID).
Example:
"0686bb97-8c30-70f0-8000-97669e000eb8"
Status at acceptance time — normally queued.
Available options:
queued, in_progress, processed, error, cancelled Example:
"queued"

