# Document Operation API > A stateless document-operation API. Send markup or a file over HTTP, get bytes back. Nothing is stored: work happens in a tmpfs workspace that is unlinked before the response is sent. Paid for with one-time credit packs that never expire — no subscription, and no feature gating between tiers. ## Pricing Credits are bought once and **never expire**. There is no subscription and no feature gating between packs: the only difference is volume. | Pack | Price | Credits | Notes | |---|---|---|---| | Free | $0 | 25 | one-time grant on signup | | Starter | $4.99 | 100 | $0.050 per credit | | Standard | $14.99 | 500 | $0.030 per credit | | Pro | $39.99 | 2,000 | $0.020 per credit | | Business | $79.99 | 5,000 | $0.016 per credit | ## Credit cost per operation | Operation | Endpoint | Credits | |---|---|---| | Render markup to PDF | POST /api/v1/render | 1 per document, +1 per 10 pages over 10 | | Render many documents | POST /api/v1/render/batch | 1 per document, failures refunded | | Render a stored template | POST /api/v1/render/from-template | 1 per document | | Merge PDFs | POST /api/v1/pdf/merge | 1 per operation | | Split a PDF | POST /api/v1/pdf/split | 1 per operation, returns a ZIP | | Compress a PDF | POST /api/v1/pdf/compress | 1 per operation | | Rotate pages | POST /api/v1/pdf/rotate | 1 per operation | | Watermark pages | POST /api/v1/pdf/watermark | 1 per operation | | Reorder pages | POST /api/v1/pdf/reorder | 1 per operation | | Extract pages | POST /api/v1/pdf/extract-pages | 1 per operation | | Unlock a PDF | POST /api/v1/pdf/unlock | 1 per operation, password required | | Strip metadata | POST /api/v1/metadata/strip | 1 per operation | | Redact text, patterns or regions | POST /api/v1/redact | 2 per operation | | Inspect metadata | POST /api/v1/metadata/inspect | free, no API key | | Parse a document to markdown | POST /api/v1/parse | 1 per 10 text pages, 1 per OCR page | | Parse many documents | POST /api/v1/parse/batch | same rates, failures refunded | | Convert a document | POST /api/v1/convert | 1 per document | | Convert one small document | POST /api/v1/convert/free | free, no API key | | Extract tables from a PDF | POST /api/v1/tables | 3 per table-bearing page | | Find the tables and the price first | POST /api/v1/tables/detect | free, no API key | | Capture a URL as evidence | POST /api/v1/capture | 1, or 5 retained with a timestamp and manifest | | Verify a capture | GET /api/v1/capture/{id}/verify | free, no API key | | Capture a URL repeatedly | POST /api/v1/capture/schedule | priced per capture | | Read a web page | POST /api/v1/extract | 1 per page | | Read one page, truncated | POST /api/v1/extract/preview | free, no API key | | Clean a spreadsheet | POST /api/v1/spreadsheet/clean | 2 plus 1 per 500 rows | | Preview what cleaning would change | POST /api/v1/spreadsheet/preview | free, no API key | | Turn a chat or mail export into an archive | POST /api/v1/archive | 2 per export | | Get a YouTube transcript | POST /api/v1/youtube | 1 per video | | Get a transcript, truncated | POST /api/v1/youtube/preview | free, no API key | | Store, list, update, delete templates | /api/v1/templates | free | ## Limits | Limit | Value | |---|---| | Max upload | 100 MB | | Max pages per document | 500 | | Max items per batch | 200 | | Request timeout | 30 s | | Rate limit, single requests | 60 per minute per key | | Rate limit, batch requests | 10 per minute per key | | Concurrent requests per key | 5 single, 2 batch | | Max API keys per account | 3 | ## Docs - [Full description](https://api.docufinery.com/llms-full.txt): everything below, in one file - [OpenAPI 3.1](https://api.docufinery.com/openapi.json): machine-readable spec for every endpoint - [Postman collection](https://api.docufinery.com/postman/collection.json): importable, one variable to set - [Facts](https://api.docufinery.com/facts): what this product does and does not do, with structured data ## Optional - [Interactive docs](https://api.docufinery.com/docs): Swagger UI