Loading
Loading
Compress a PDF file to reduce its file size while preserving quality.
The PDF Compress API reduces PDF file size using configurable compression levels. Choose from low, balanced, high, or extreme compression to balance quality and file size.
Note: Compression results depend on document content. Image-heavy files typically see significantly higher reduction rates than text-based files. Refer to the Compression Optimization Guide below to select the right level for your needs.
Pass your API key as the apiKey parameter in every request.
This is version v1.0 of the API.
The PDF Compress API accepts a file upload, query parameters, and request headers described below.
The request body is a single optional file upload sent as multipart/form-data. All other parameters (including compression_level and file_id) are passed as query parameters, not in the request body.
{
"file": "/path/to/document.pdf"
}fileoptionalmultipart/form-dataThe PDF file to process.
All parameters must be included as query parameters. Any parameters sent in the form data will be ignored.
formatoptionalStringdefault: jsonResponse format: 'json' (default) or 'xml'.
compression_levelrequiredStringControls compression intensity. Available options: low (preserves maximum quality), balanced (optimal quality-to-size ratio), high (significant size reduction), extreme (maximum compression).
destroyoptionalBooleandefault: falseIf true, we delete the input file immediately after generating the output.
file_idoptionalStringThe unique ID of a PDF file already present on our server. Use this instead of uploading the file again. Either file or file_id must be provided.
outputoptionalStringdefault: compressed_pdfName of the output PDF (without extension).
webhook_urloptionalStringThe URL where we'll send the webhook notification after the task completes. Authentication parameters in the URL (e.g., ?auth=token123) are passed as-is.
webhook_failure_notificationoptionalBooleandefault: falseIf true, we'll send an email notification if the webhook request fails after 3 retries. The email goes to the requesting user or their org admin if user is part of an organization.
Optional custom headers for webhook authorization
X-Webhook-AuthorizationoptionalStringCustom authorization header sent with the webhook request. Format: Key:Value (e.g., Authorization:Bearer token123).
A successful request returns a 200 OK response with a JSON object containing the task ID and input file IDs.
taskIdUnique identifier for the PDF task, used to check status.
inputIdsArray of file IDs referencing input files used for the task. Not returned when destroy=true.
See the HTTP Status Codes documentation for a complete reference of common API errors and HTTP status codes.
Please provide a valid PDF file. Other file types are not supported.
Please provide either a file or a file ID.
Please provide a valid compression level. Allowed values are: low, balanced, high, extreme.
Please provide a valid file ID.
These errors might appear in the task-status response if the background job fails.
The provided file is not a valid PDF file.
An unknown error occurred while saving the file. Try again later.
An unknown error occurred while generating the PDF. Try again later.
Internal Server Error Occurred.
The provided PDF file is encrypted. Please decrypt it first to perform operations.
Please provide a valid compression level. Allowed values are: low, balanced, high, extreme.