Link Search Menu Expand Document

PDF Compress and Optimize

Optimize PDF document to reduce its size.

Available Methods

[POST] /pdf/optimize

  • url required. URL to the source PDF. Supports links from Google Drive, Dropbox and from built-in files storage.

    For uploading files via API please check Files Upload section.

    If you are randomly getting Too Many Requests or Access Denied error for your input url, please try to add cache: to enable built-in url caching.

    You can also encrypt data for output files and decrypt data input files with user-controlled data encryption (uses strong AES encryption with your own keys). Click here to learn more.
  • httpusername optional - http auth user name if required to access source url.
  • httppassword optional - http auth password if required to access source url.
  • name optional. File name for generated output. Must be a String.
  • expiration optional. Output link expiration in minutes. Default is 60 (i.e. 60 minutes or 1 hour). After this delay generated output file(s) (if any) will be auto-removed from temporary files storage. Max allowed expiration period depends on your current subscription plan. To store permanent input files (e.g. re-usable images, pdf, documents), please use built-in Files Storage instead.
  • password optional. Password of PDF file. Must be a String.
  • async optional. Runs processing asynchronously. Returns JobId that you may use with /job/check to check state of the background job (possible states: working, failed, aborted and success). Must be one of: true, false.
  • profiles optional. Must be a String. Use this parameter to set additional configuration for fine tuning and extra options. You can adjust PDF compression and optimization configuration using this parameter. Check this KB article for compression configuration details or Explore knowledgebase for all profile examples.

  • Method: POST
  • URL: /v1/pdf/optimize

Query parameters

No query parameters accepted.

Body payload

    "url": "",
    "name": "output.pdf",
    "profiles": "{ 'ImageOptimizationFormat': 'JPEG', 'JPEGQuality': 25, 'ResampleImages': true, 'ResamplingResolution': 120, 'GrayscaleImages': false }",
    "async": false

Example responses

    "url": "",
    "fileSize": 798621,
    "pageCount": 5,
    "error": false,
    "status": 200,
    "name": "sample-compressed.pdf",
    "credits": 105,
    "duration": 2886,
    "remainingCredits": 98256037

Code Snippet

curl --location --request POST '' \
--header 'Content-Type: application/json' \
--header 'x-api-key: ' \
--data-raw '{
    "url": "",
    "name": "output.pdf",
    "profiles": "{ '\''ImageOptimizationFormat'\'': '\''JPEG'\'', '\''JPEGQuality'\'': 25, '\''ResampleImages'\'': true, '\''ResamplingResolution'\'': 120, '\''GrayscaleImages'\'': false }",
    "async": false