01
Send a document
Post a PDF, PNG, or JPEG as base64 to one endpoint, or call the parse_document tool over MCP.
Send a PDF or a photo, describe the fields you want, and get clean, typed JSON back. One API call from your code, or one MCP tool for your agents.
Free to try. PDF, PNG, and JPEG. Free files up to 10 MB.
42 Harbour Rd · Portland, OR 97201
INVOICE
No. INV-1042
Issued 25 Oct 2026
Bill to
Acme Robotics Ltd9 Market Street, Austin, TX
How it works
doc2json reads documents the way a person does, so a new vendor layout or a crumpled photo does not break your pipeline.
01
Post a PDF, PNG, or JPEG as base64 to one endpoint, or call the parse_document tool over MCP.
02
Name a saved schema, send one inline, or send none and let the model pick the fields.
03
Values come back in your types. Dates are ISO yyyy-mm-dd. Anything the document does not say is null, not a guess.
Schema editor
Point and click the JSON you want back. No JSON Schema to learn, no prompt to tune. The model fills your keys and nothing else.
New schema
name: invoice
For developers and agents
POST /api/v1/parse with a bearer key. JSON in, JSON out, clear status codes.
Give your agent a parse_document tool in one line of config.
The console, REST, and MCP run the same operation, with the same validation and the same JSON.
curl -X POST https://doc2json.manoonlabs.com/api/v1/parse \
-H "Authorization: Bearer bk_live_..." \
-H "Content-Type: application/json" \
-d '{
"schema": "invoice",
"document": "<base64 PDF, PNG, or JPEG>"
}'Everything around the parse
Keys, logs, schemas, and teams come with every workspace, so you can ship the feature instead of the plumbing.
Two front doors, one engine. Call it from a backend job or hand it to an AI agent as a tool. Both use the same key and return the same JSON.
The file is read for the parse and then dropped. Logs keep metadata only: status, duration, key, and schema name.
Build a schema once in the editor and reuse it by name everywhere.
Keys belong to a workspace, are shown once, stored hashed, and can be revoked any time.
Every call with its status, timing, key, and schema, from the API, MCP, and the Playground.
Values match your types. Dates are normalized. Missing means null, never invented.
Every account gets a personal workspace, and you can create more. Each workspace has its own plan, and paid workspaces can invite a team by email to share schemas and activity.
Pricing
One credit parses one page. An image is one page, and a 3-page PDF is three credits.
For trying the API on your own files.
No credit card required
Get started with:
Start here: a few hundred pages a month for a side project or a small team.
About $0.030 per page at full use
Everything in Free, plus:
For products that parse documents every day.
About $0.019 per page at full use
Everything in Starter, plus:
For teams running documents through a pipeline.
About $0.016 per page at full use
Everything in Pro, plus:
Prices in USD. 1 credit is 1 page, and an image is 1 page. A plan covers one workspace, and its pages are shared by everyone in it. Free pages apply only to your personal workspace.
FAQ
PDF, PNG, and JPEG. Free allows 10 MB and 10 pages per file; paid plans allow 25 MB and 50 pages. Invoices, receipts, statements, forms, résumés, scans, and phone photos all work. If a person can read it, doc2json can structure it.
No. Without a schema, the model returns the fields it finds. A schema makes the output predictable: you get exactly your keys, in your types, every time.
It comes back as null. doc2json does not invent values to fill your schema, so you can tell missing data from real data.
No. The file is read for the parse and then dropped. The activity log keeps metadata only: status, duration, the API key, and the schema name. Never the document or the extracted text.
doc2json is an MCP server. Add it to your agent, and it gets a parse_document tool that uses your saved schemas.
Yes. The Playground, the schema editor, and the API docs are open to everyone. Sign in when you want an API key or want to parse your own files.
Open the Playground, drop in an invoice, and watch it turn into JSON. Sign up free to start.