PDF.co · Capability

PDF.co Extraction API

PDF.co Extraction API. AI Invoice Parser, Document Parser, parser templates, and PDF attachment extraction. Self-contained Naftiko capability over the PDF.co Extraction business surface.

PDF.co Extraction API is a Naftiko capability published by PDF.co, one of 9 capabilities the APIs.io network indexes for this provider. It bundles 5 operations across the POST and GET methods.

The capability includes 2 read-only operations and 3 state-changing operations. Lead operation: AI invoice parser. Can be deployed as a REST endpoint, MCP tool, or Agent Skill via Naftiko.

Tagged areas include PDF.co, Extraction, Invoice Parsing, and Document Parsing.

Run with Naftiko PDF.coExtractionInvoice ParsingDocument Parsing

What You Can Do

POST
Parseinvoice
/v1/ai-invoice-parser
POST
Parsedocument
/v1/pdf/documentparser
GET
Listtemplates
/v1/pdf/documentparser/templates
GET
Gettemplate
/v1/pdf/documentparser/templates/{id}
POST
Extractattachments
/v1/pdf/attachments/extract

MCP Tools

pdfco-parse-invoice

AI invoice parser.

pdfco-parse-document

Template-driven document parser.

pdfco-list-parser-templates

List parser templates.

read-only idempotent
pdfco-get-parser-template

Get a parser template by ID.

read-only idempotent
pdfco-extract-attachments

Extract attachments from a PDF.

Capability Spec

extraction.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: PDF.co Extraction API
  description: PDF.co Extraction API. AI Invoice Parser, Document Parser, parser templates, and PDF attachment
    extraction. Self-contained Naftiko capability over the PDF.co Extraction business surface.
  tags:
  - PDF.co
  - Extraction
  - Invoice Parsing
  - Document Parsing
  created: '2026-05-25'
  modified: '2026-05-25'
binds:
- namespace: env
  keys:
    PDFCO_API_KEY: PDFCO_API_KEY
capability:
  consumes:
  - type: http
    namespace: extraction
    baseUri: https://api.pdf.co
    description: PDF.co Extraction business capability. Self-contained, no shared references.
    resources:
    - name: ai-invoice-parser
      path: /v1/ai-invoice-parser
      operations:
      - name: parseInvoice
        method: POST
        description: AI-powered invoice and receipt parser (zero-template).
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          required: true
    - name: document-parser
      path: /v1/pdf/documentparser
      operations:
      - name: parseDocument
        method: POST
        description: Template-driven document parser.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          required: true
    - name: parser-templates
      path: /v1/pdf/documentparser/templates
      operations:
      - name: listTemplates
        method: GET
        description: List available document parser templates.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: parser-template-by-id
      path: /v1/pdf/documentparser/templates/{id}
      operations:
      - name: getTemplate
        method: GET
        description: Get a parser template by ID.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
    - name: attachments-extract
      path: /v1/pdf/attachments/extract
      operations:
      - name: extractAttachments
        method: POST
        description: Extract embedded attachments from PDFs.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          required: true
    authentication:
      type: apikey
      key: x-api-key
      value: '{{env.PDFCO_API_KEY}}'
      placement: header
  exposes:
  - type: rest
    namespace: extraction-rest
    port: 8080
    description: REST adapter for PDF.co Extraction.
    resources:
    - path: /v1/ai-invoice-parser
      name: ai-invoice-parser
      operations:
      - method: POST
        name: parseInvoice
        call: extraction.parseInvoice
        with:
          body: rest.body
    - path: /v1/pdf/documentparser
      name: document-parser
      operations:
      - method: POST
        name: parseDocument
        call: extraction.parseDocument
        with:
          body: rest.body
    - path: /v1/pdf/documentparser/templates
      name: parser-templates
      operations:
      - method: GET
        name: listTemplates
        call: extraction.listTemplates
    - path: /v1/pdf/documentparser/templates/{id}
      name: parser-template-by-id
      operations:
      - method: GET
        name: getTemplate
        call: extraction.getTemplate
        with:
          id: rest.path.id
    - path: /v1/pdf/attachments/extract
      name: attachments-extract
      operations:
      - method: POST
        name: extractAttachments
        call: extraction.extractAttachments
        with:
          body: rest.body
  - type: mcp
    namespace: extraction-mcp
    port: 9090
    transport: http
    description: MCP adapter for PDF.co Extraction.
    tools:
    - name: pdfco-parse-invoice
      description: AI invoice parser.
      hints: {readOnly: false, destructive: false, idempotent: false}
      call: extraction.parseInvoice
      with: {body: tools.body}
    - name: pdfco-parse-document
      description: Template-driven document parser.
      hints: {readOnly: false, destructive: false, idempotent: false}
      call: extraction.parseDocument
      with: {body: tools.body}
    - name: pdfco-list-parser-templates
      description: List parser templates.
      hints: {readOnly: true, destructive: false, idempotent: true}
      call: extraction.listTemplates
    - name: pdfco-get-parser-template
      description: Get a parser template by ID.
      hints: {readOnly: true, destructive: false, idempotent: true}
      call: extraction.getTemplate
      with: {id: tools.id}
    - name: pdfco-extract-attachments
      description: Extract attachments from a PDF.
      hints: {readOnly: false, destructive: false, idempotent: false}
      call: extraction.extractAttachments
      with: {body: tools.body}