Developer API

Programmatic PDF processing interfaces for developers and systems integration.

1. Authentication

All developer API endpoints require an API Key supplied in the request headers. You can generate API keys directly in the User Dashboard.

X-API-Key: your_live_api_key_string

2. Upload Document (Step 1)

Before executing any conversion or editing operation, you must upload the raw binary file to our ingestion endpoint. This returns a file ID.

curl -X POST https://www.ilovepdf.store/api/v1/upload \
  -H "X-API-Key: your_live_api_key_string" \
  -F "file=@/path/to/document.pdf"

Response JSON:

{
  "status": "success",
  "data": {
    "id": "file_982347291038",
    "filename": "document.pdf",
    "size": 1048576,
    "expiresAt": "2026-05-25T12:59:32.000Z"
  }
}

3. Dispatch Job (Step 2)

Submit the uploaded file ID to the specific tool endpoint to trigger processing. Here is an example of running PDF compression:

curl -X POST https://www.ilovepdf.store/api/v1/tools/compress-pdf \
  -H "X-API-Key: your_live_api_key_string" \
  -H "Content-Type: application/json" \
  -d '{
    "fileId": "file_982347291038",
    "options": {
      "quality": "medium"
    }
  }'

Response JSON:

{
  "status": "success",
  "data": {
    "jobId": "job_ocr_98327429",
    "status": "PENDING"
  }
}

4. Query Status & Download (Step 3)

Query the job status using the job ID. Once the status transitions to COMPLETED, the response will contain the result download URI.

curl -X GET https://www.ilovepdf.store/api/v1/job/job_ocr_98327429 \
  -H "X-API-Key: your_live_api_key_string"

Response JSON:

{
  "status": "success",
  "data": {
    "id": "job_ocr_98327429",
    "status": "COMPLETED",
    "progress": 100,
    "result": {
      "downloadUrl": "https://www.ilovepdf.store/api/v1/job/job_ocr_98327429/download",
      "filename": "document_compressed.pdf",
      "size": 524288
    }
  }
}