Quickstart
Create a parser, get an API token and parse your first document in about five minutes.
By the end of this page you will have sent a real document to the SimplyParse API and read back structured JSON.
You need: a SimplyParse account (sign up free), a sample PDF or image, and a terminal. New accounts include introductory credits, so you can test without topping up.
Create a parser
A parser defines which fields to extract from one kind of document. The fastest way to get one is to start from a template:
- Open the template library and pick the closest match, such as an invoice or receipt.
- Click Use template. This creates a private copy in your account that you can edit.
- On the Test Parser tab, run the sample document to see the output.
No template that fits? Create a parser from scratch and define the fields yourself. See Create a parser.
Then open the parser's Integrations tab. API Details shows its endpoint URLs. The last path segment before /parse is the parser's slug:
https://api.simplyparse.com/dapi/v1/parser/a1b2c3/parse
^^^^^^ slugCreate an API token
Go to Settings → API Tokens, click Generate Token, give it a name such as local-dev, and copy the token.
Export both values in your terminal so the examples below work as written:
export SIMPLYPARSE_API_TOKEN="paste-your-token-here"
export PARSER_SLUG="a1b2c3"Keep the token on your server. Anyone with it can process documents on your account. Never put it in browser or mobile app code.
Send a document
Send the file as multipart/form-data in a field named file:
curl -X POST "https://api.simplyparse.com/dapi/v1/parser/$PARSER_SLUG/parse" \
-H "Authorization: Token $SIMPLYPARSE_API_TOKEN" \
-F "file=@invoice.pdf"The request returns once the document has been processed.
Read the response
{
"status": "success",
"code": "document_processed",
"message": "Document processed successfully",
"data": [
{
"document_id": "8f14e45f-ceea-467f-a8e6-3c1d2f0b9a51",
"status": "completed",
"is_valid": true,
"parsed_data": {
"invoice_number": "INV-20418",
"invoice_date": "2026-03-12",
"vendor_name": "Northwind Supplies",
"total_amount": 48250,
"line_items": [
{ "description": "Steel brackets", "quantity": 50, "amount": 48250 }
]
},
"validation_errors": []
}
]
}statusissuccessorerror. Some errors come back with HTTP 200, so always check it.datais a list of entries. A document usually produces one entry.parsed_dataholds your fields, keyed by the field names in your parser.is_validandvalidation_errorsreport your parser's validation rules.
The document also appears in the dashboard under the parser's View data tab, so you can compare the output against the source file.
Where to go next
Process large files asynchronously
Queue documents and poll, so long files never hit a request timeout.
Receive results by webhook
Have each result pushed to your server as soon as it is ready.
Handle errors
The error codes you will see and what to do about each.
Go-live checklist
What to check before you send production traffic.