PDF.co · Schema
PDF.co Document Parser Request
Request payload for the PDF.co Document Parser endpoint (/v1/pdf/documentparser). Extracts structured data from PDF or image documents using a stored template (templateId) or inline template (template).
PDFDocument AutomationAIOCRInvoice ParsingDocument ParsingConversionFormsBarcodesE-Signature
Properties
| Name | Type | Description |
|---|---|---|
| url | string | URL to the source PDF or image file. Use this OR a previously uploaded file token. |
| templateId | string | ID of a stored document parser template. Fetch templates via /v1/pdf/documentparser/templates. |
| template | string | Inline template definition (YAML) describing fields to extract. |
| outputFormat | string | Output format for the extracted data. |
| async | boolean | Run as an asynchronous job. When true, poll status via /v1/job/check. |
| callback | string | Optional webhook URL to receive job completion notifications. |
| name | string | Optional output file name. |
| password | string | Password for an encrypted source PDF. |
| httpusername | string | |
| httppassword | string | |
| profiles | string | Optional advanced parser profiles (JSON-encoded). |
| expiration | integer | Output file link expiration in minutes. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/pdf-co/main/json-schema/pdf-co-document-parser-schema.json",
"title": "PDF.co Document Parser Request",
"description": "Request payload for the PDF.co Document Parser endpoint (/v1/pdf/documentparser). Extracts structured data from PDF or image documents using a stored template (templateId) or inline template (template).",
"type": "object",
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "URL to the source PDF or image file. Use this OR a previously uploaded file token."
},
"templateId": {
"type": "string",
"description": "ID of a stored document parser template. Fetch templates via /v1/pdf/documentparser/templates."
},
"template": {
"type": "string",
"description": "Inline template definition (YAML) describing fields to extract."
},
"outputFormat": {
"type": "string",
"enum": ["JSON", "XML", "YAML", "CSV"],
"description": "Output format for the extracted data."
},
"async": {
"type": "boolean",
"default": false,
"description": "Run as an asynchronous job. When true, poll status via /v1/job/check."
},
"callback": {
"type": "string",
"format": "uri",
"description": "Optional webhook URL to receive job completion notifications."
},
"name": {
"type": "string",
"description": "Optional output file name."
},
"password": {
"type": "string",
"description": "Password for an encrypted source PDF."
},
"httpusername": {"type": "string"},
"httppassword": {"type": "string"},
"profiles": {
"type": "string",
"description": "Optional advanced parser profiles (JSON-encoded)."
},
"expiration": {
"type": "integer",
"description": "Output file link expiration in minutes."
}
},
"anyOf": [
{"required": ["url"]},
{"required": ["file"]}
],
"oneOf": [
{"required": ["templateId"]},
{"required": ["template"]}
],
"additionalProperties": true
}