The file goes here.
The data comes back.
Choose a PDF or image. Follow processing, inspect the JSON, and download the result. Review flagged values before they enter your books.
Open the playground ↗THE INVOICE → JSON WORKSPACE
From a supplier’s PDF to your next API call. JotJet extracts invoice details into structured JSON you can review, download, and build with.
PDF, PNG or JPEG in the playground.
No code needed to try it. API key required.
{
"vendor_name": "Northline Studio",
"invoice_number": "INV-0042",
"currency": "USD",
"grand_total": "250.00",
"amount_paid": "0.00",
"total_due": "250.00"
}Printed invoice totals become decimal strings. No floating-point surprises.
ONE PRODUCT. TWO WAYS IN.
Explore an invoice in your browser, or make extraction part of the software you already use.
MORE THAN A WALL OF TEXT
Vendors, invoice numbers, dates, line items and taxes — in a consistent contract. Printed totals and outstanding balances stay separate.
Inspect the JSON Schema ↗vendor_nameWho sent the invoiceline_items[]Descriptions, quantities & pricesgrand_totalThe printed invoice totaltotal_dueWhat remains to be paidnullUnknown stays unknownTHE REQUEST LIFECYCLE
Start a job with your API key and an idempotency key.
POST /v1/jobsSend your PDF using its short-lived upload capability.
PUT /v1/uploads/{id}Poll until completed or needs_review. Inspect flagged values.
GET /v1/jobs/{id}Download the JSON, request deletion, and track purge status.
GET /v1/results/{id}BEFORE YOUR FIRST REQUEST
One invoice per PDF, up to 10 MiB and 20 pages. The playground also converts PNG/JPEG images to a single-page PDF in browser memory. Your plan may apply lower limits.
Named fields your software can read directly: vendor, invoice number, dates, line items, currency and totals. Use the JSON in your own accounting integrations, databases or automations.
Pages are reserved after file validation. Completed and needs_review results settle the reserved pages. Failures release unsettled reservations. Track available, reserved and used pages in your console.
Access ends 15 minutes before the job’s original 24-hour expiry. Download results before that cutoff. You can request earlier deletion and check the console for verified purge status.
No. Review issues and the processing version returned by the API. Ambiguous or inconsistent values require review; mock mode returns synthetic data and does not extract your invoice.
YOUR NEXT INVOICE, STRUCTURED.
Try a request in the JotJet playground.
DEVELOPER GUIDE
Start with a server-side API key. No model setup is needed in your client application.
Save as invoice.mjs. Use Node.js 22+ and run with INVOICE_ORIGIN, API_KEY, and a PDF path. Keep keys on your server, never in shipped frontend code.
| Method | Path | Purpose |
|---|---|---|
| POST | /v1/jobs | Create; Idempotency-Key required |
| PUT | /v1/uploads/{id} | PDF bytes; upload capability |
| GET | /v1/jobs/{id} | Status, deadlines and billing |
| POST | /v1/jobs/{id}/result-access | Short-lived result ticket |
| GET | /v1/results/{id} | Download invoice JSON |
| DELETE | /v1/jobs/{id} | Revoke access and begin deletion |
| GET | /v1/usage | Reserved and settled pages |
Upload tickets last at most 10 minutes; result tickets at most 2 minutes. Content access ends 15 minutes before the original 24-hour expiry. Retries never extend these deadlines.
A page is reserved after PDF preflight. Completed and needs_review jobs settle their pages; failure, cancellation or expiry releases unsettled reservations. Your plan may set lower limits.
Use the returned management capability for status, result access and deletion after admission, including when marketplace request quota is exhausted. Store it securely until the job expires. Webhook delivery is metadata-only; polling remains available.
On HTTP 429 or 503, retry with bounded backoff. Reuse an idempotency key only with identical creation parameters. A 409 means that key was used with different parameters.
YOUR JOTJET WORKSPACE
Sign in to see your account.
Online credit purchases are not configured. Contact your account administrator to arrange credits or change your allowance. No payment is collected here.
Receive metadata-only job notifications at your HTTPS endpoint.
Use scoped keys in your integrations. Newly created keys cannot administer other keys.
Latest 100 jobs. Content is never previewed or persisted in this dashboard.
| Job | State / billing | Pages | Available until | Deletion | Action |
|---|
Sign in with an account API key to view usage and manage your integrations.
API PLAYGROUND
Test the full workflow with a PDF or image. Uses your account’s page credits.
No file selected.
Images become a one-page PDF in browser memory. Maximum image dimensions: 4,096 × 4,096 and 4 million pixels. No browser storage or persistent previews.
Generated per run. The API response reports the actual processing version; mock mode does not extract your document.
JSON will appear here after processing. Meaningful ambiguities return needs_review.
// Send a request to inspect the API response.