Extract Invoice Data from PDFs in 5 Minutes with the REST API
This guide walks through the fastest path from zero to a live invoice API using ParseApi. You'll need a free account, five minutes, and a PDF invoice.
1. Create your account and pick a username
Sign in at app.parseapi.dev with Google or GitHub. On first login you'll be prompted to pick a username. This becomes your permanent API namespace — choose something short and lowercase like acme or yourname.
Your invoice API will live at https://api.parseapi.dev/v1/{username}/invoices, so pick accordingly.
2. Create the invoices folder
From the dashboard, click New folder. Set:
- Name: Customer Invoices
- Slug:
invoices - Auth mode: API key
Click Create folder.
3. Upload a sample invoice
Click Upload documents and drag in a PDF invoice. Processing takes 5–15 seconds depending on document complexity and page count.
When the status indicator turns green, click the document to see the extracted data. For a typical vendor invoice you'll see something like:
{
"invoice_number": "INV-2024-00841",
"vendor_name": "Acme Supplies Ltd.",
"vendor_address": "14 Commerce Street, New York, NY 10001",
"bill_to": "Contoso Corp.",
"invoice_date": "2024-11-14",
"due_date": "2024-12-14",
"subtotal": 4250.00,
"tax": 382.50,
"total": 4632.50,
"line_items": [
{
"description": "Office chairs (qty 5)",
"unit_price": 425.00,
"quantity": 5,
"total": 2125.00
},
{
"description": "Standing desk (qty 2)",
"unit_price": 1062.50,
"quantity": 2,
"total": 2125.00
}
]
}
If anything is wrong, click the field and edit it inline. The correction is saved immediately.
4. Generate an API key
In the sidebar, navigate to API keys and click New key. Name it dev-key, set the environment to Test, and save. Copy the key — you'll only see it once.
5. Query the API
With your key and username ready:
curl https://api.parseapi.dev/v1/yourname/invoices \
-H "Authorization: Bearer pk_test_your_key_here"
Response:
{
"data": [
{
"id": "01HZB2VQ9S4KFWMEC3GRX7YNJ5",
"document_id": "01HZB2VQ9S4KFWMEC3GRX7YNJ4",
"filename": "invoice-00841.pdf",
"extracted_at": "2024-11-15T09:22:14Z",
"result": {
"invoice_number": "INV-2024-00841",
"vendor_name": "Acme Supplies Ltd.",
"total": 4632.50
}
}
],
"pagination": {
"total": 1,
"next_cursor": null
}
}
6. Upload more invoices
The real value emerges as you accumulate documents. Upload 20 invoices and the same endpoint returns all of them. Use cursor-based pagination to walk through large datasets:
curl "https://api.parseapi.dev/v1/yourname/invoices?limit=50&cursor=01HZB2VQ9S" \
-H "Authorization: Bearer pk_test_..."
Or pull just the latest:
curl https://api.parseapi.dev/v1/yourname/invoices/latest \
-H "Authorization: Bearer pk_test_..."
7. Automate uploads via the API
Once past manual uploads, push documents programmatically:
curl -X POST https://api.parseapi.dev/v1/yourname/invoices/documents \
-H "Authorization: Bearer pk_test_..." \
-F "file=@invoice-00842.pdf"
This is the same endpoint your billing team, email-forwarding integration, or accounts-payable system will use.
8. Get the auto-generated OpenAPI spec
Every folder automatically gets a typed OpenAPI spec reflecting its current schema:
curl https://api.parseapi.dev/v1/yourname/invoices/openapi.json
You can import this into Postman, Insomnia, or any code generator to get a typed client for your language of choice.
What's next
- Set up a webhook to get notified when a new invoice is processed
- Use the /search endpoint to filter by vendor name, amount range, or due date
- Switch to a live API key when you're ready for production
- Upgrade to the Hobby plan for 1,000 pages/month if you outgrow the free tier
The full API reference is at docs.parseapi.dev.