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.
View JSON Schema on GitHub

JSON Schema

pdf-co-document-parser-schema.json Raw ↑
{
  "$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
}