Documentation
ScanKit documentation
Everything you need to put a clean scan into your own pipeline: the quickstart, the request contract of the scanning API, credits, limits and error codes.
Start here
Quickstart: first scan in five minutes
Get a key, send one photo, save the cleaned result. cURL, Python, Node and the browser SDK.
Open the quickstartInteractive API reference
Every endpoint with its parameters, live in the browser playground. No account needed to look.
Open the referenceBrowser SDK
Drop the ScanKit SDK into a web app and let your users capture documents on their phone.
Open the SDK pageHosted scanners
A scanner page without code and without an account for the recipient: send a link, get cleaned scans.
Open hosted scannersEndpoint reference
POST /scan/crop
Every parameter, both response formats, the error codes and a multi-page example.
Open the crop referencePOST /scan/extract_text
The recognised text of a document photo as JSON, for one page or several.
Open the OCR referencePOST /scan/scan_pdf
A PDF with a text layer from one photo or from a whole stack of pages.
Open the PDF referenceHosted scanner webhooks
What ScanKit posts to your endpoint when a hosted scanner finishes a document.
Open the webhook referenceWhat you need
- An account. Signup includes 50 free credits and needs no card.
- An API key from the dashboard. Keys live under API keys.
- A document photo, JPEG or PNG. Phone photos are exactly the input ScanKit is built for.
Three ways in
| Path | Use it when | Docs |
|---|---|---|
| REST API | Your backend or workflow does the scanning | Quickstart, section "First API call" |
| Browser SDK | Your users capture documents in your own web app | Quickstart, section "Browser SDK" |
| Hosted scanner | You want a link that works without code or an account | /instant-scanners |
Where your documents go
Uploads are processed to produce the scan and are not stored afterwards. The application runs in the EU (eu-west-1, Ireland), the image processing runs in the EU too (eu-central-1, Frankfurt).