API Reference
Interact with Paperful programmatically, from any application or workflow.
The Paperful API gives you programmatic access to documents, their content, structure, search, and processing capabilities.
Use the API to upload and process documents, retrieve structured content, search across your workspace, and integrate Paperful into your applications and AI workflows.
Base URL
All API requests are made to:
https://api.paperful.io/v1For example:
curl https://api.paperful.io/v1/papers \
-H "Authorization: Bearer $PAPERFUL_API_KEY"Authentication
Paperful uses API keys to authenticate requests.
Send your API key using the Authorization header:
Authorization: Bearer YOUR_API_KEYYou can create and manage API keys from the Console.
Requests
The API follows standard HTTP conventions and uses JSON for request and response bodies unless otherwise specified.
Some endpoints, such as document uploads, accept binary file data.
curl -X POST https://api.paperful.io/v1/papers \
-H "Authorization: Bearer $PAPERFUL_API_KEY" \
-H "Content-Type: application/pdf" \
--data-binary @document.pdfResponses
Successful requests return standard HTTP status codes and JSON responses.
{
"id": "00000000-0000-0000-0000-000000000000",
"fileName": "document.pdf",
"status": "ready",
"pages": 12
}When a request fails, Paperful returns a structured error that can be handled programmatically.
{
"error": {
"code": "papers.not_found",
"message": "The requested paper could not be found."
}
}Pagination
Endpoints that return collections may use pagination.
Pagination information is included alongside the returned resources, allowing you to request additional results without loading an entire collection at once.
{
"total": 0,
"cursor": {
"previous": "",
"next": ""
},
"items": []
}Versioning
The current API version is v1.
The API version is included directly in the request URL.
We aim to make backwards-compatible improvements whenever possible. Breaking changes will be introduced through a new API version.
SDKs
You can use the REST API directly or interact with Paperful through one of our SDKs.