Papercuts /parse/ API allows you to extract structured data from a wide range of unstructured file formats using a unified endpoint.

It supports OCR, audio transcription, and LLM-based parsing to convert files like PDFs, images, or audio recordings into structured JSON based on a template JSON schema you provide.

This output can be directly consumed by downstream systems such as:

  • LLM agents requiring structured context for planning or reasoning
  • ETL pipelines and data warehouses for analytics ingestion
  • No-code tools or APIs for workflow automation and process integration
  • Document understanding systems for classification, extraction, and routing

By aligning the parsed result to your custom schema, the Parse API ensures interoperability with your backend systems and AI workflows.

✅ Supported File Types

  • Documents: .pdf, .docx, .pptx
  • Images: .png, .jpg, .jpeg, .bmp, .tiff
  • Audio: .mp3, .wav, .ogg, .m4a
  • Video (Beta): .mp4, .mov, .avi, .mkv

Note: File size must be less than 32MB.


⚡ Quickstart

🔐 Authentication

All requests must include an x-api-key header with a valid API key.

Papercuts is currently in closed beta. To get access, contact us at aditya@papercuts.ai.

🔧 Request

Send a POST request to /parse/ with:

  • file: The input file to be parsed (as multipart/form-data)
  • template_json: A JSON string describing the expected output schema
curl -X POST https://demo.papercuts.ai/v1/parse \
  -H "x-api-key: YOUR_API_KEY" \
  -F "file=@/path/to/bill.pdf" \
  -F 'template_json={
    "shop_name": "",
    "date": "",
    "bill_total": 0.0,
    "no_of_items": 0,
    "items": [
        {
          "item_name": "",
          "quantity": 0,
          "price": 0.000,
          "amount": 0.00,
          "currency": ""
        }
    ]
}'
Response
{
  "shop_name": "Angala Groceries",
  "date": "2025-05-26",
  "items": [
    {
      "item_name": "BEANS",
      "quantity": 0,
      "price": 100.0,
      "amount": 35.0,
      "currency": "INR"
    },
    {
      "item_name": "POTATO",
      "quantity": 1,
      "price": 80.0,
      "amount": 58.35,
      "currency": "INR"
    },
    {
      "item_name": "TAMATO",
      "quantity": 1,
      "price": 20.0,
      "amount": 34.5,
      "currency": "INR"
    },
  ],
  "bill_total": 426.0,
  "no_of_items": 16
}

Next Steps

Parse API

Start using the API