Parsli documentation

Get documents in

From another system

Send documents programmatically — with an API key from code you control, or via the inbound webhook from a no-code tool.


Two ways for another system to push documents into a Parser. The right one depends on whether that system can set an HTTP header.

The inbound webhook

Every parser has a unique URL that accepts documents with no authentication headers at all. The token is in the URL.

Find it in the parser's Settings, under API Keys & WebhooksInbound Webhook.

bash
curl -X POST https://parsli.co/api/inbound/webhook/YOUR_TOKEN \
  -F "file=@invoice.pdf"

It also accepts JSON with base64 content, for tools that cannot send multipart:

bash
curl -X POST https://parsli.co/api/inbound/webhook/YOUR_TOKEN \
  -H "Content-Type: application/json" \
  -d '{ "file": { "name": "invoice.pdf", "type": "application/pdf", "data": "JVBERi0..." } }'

Use it when the sending tool only lets you paste a URL — Zapier, Make, Power Automate, a form builder, a scanner appliance, a legacy system whose HTTP client you cannot change.

It accepts documents; it does not return data. The response tells you the document was received, not what was extracted. To get results back, add an outbound Webhook or poll the API. See receiving results.

Important: The token is in the URL, so it will be captured by server logs, browser history, and referrer headers in ways an Authorization header will not. Treat the whole URL as a secret. If it leaks, regenerate it — anyone holding it can send documents and consume your credits.

The API

For code you control, use the API instead. It is better in every way that matters:

  • Authenticates with a header rather than a URL, so the credential stays out of logs
  • Returns extracted data directly
  • Supports many keys per parser, so you can revoke one system without breaking the others
  • Handles files of any size via upload-and-poll
bash
curl -X POST https://parsli.co/api/v1/extract \
  -H "Authorization: Bearer ext_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "file": { "name": "invoice.pdf", "type": "application/pdf", "data": "JVBERi0..." } }'

Choosing

Inbound webhookAPI
CredentialIn the URLAuthorization header
Returns extracted dataNoYes
Multiple revocable credentialsNoYes
Large filesLimitedYes, via upload-and-poll
Needs codeNoYes

If you can set a header, use the API. Use the inbound webhook when you genuinely cannot.

Connecting through an automation tool

Zapier, Make, and Power Automate can do either side — send documents in, or receive results out.

To send in, point the tool's HTTP action at the inbound webhook URL.

To get results out, add the matching integration under the parser's Outbound and paste the tool's catch-hook URL. See send data out.

Many setups use both: a Zap picks a file out of Dropbox and posts it to the inbound webhook, and an outbound webhook returns the extracted data to a different Zap that files it.

Something here wrong or missing? Tell us — we treat it as a bug.