Professional PDF Automation. Zero Complexity.

Integrate the world's most versatile PDF toolkit directly into your application. Instead of managing dozens of different libraries, use one single universal endpoint to process, convert, and use AI on your documents.

POST https://pdfjin-api.run.app/{tool_name}

Authentication

All API requests must include your secret API key in the X-API-Key HTTP header. You can find your API key in the User Dashboard under the Developer tab.

headers = {
    "X-API-Key": "pj_live_xxxxxxxxxxxx",
    "Content-Type": "application/json"
}

Universal Implementation

One function for all 30+ tools. Simply change the tool_name variable to switch between merging, splitting, OCR, or AI rewriting.

import requests

def pdfjin_process(tool, file_path, api_key, **params):
    url = f"https://pdfjin-api.run.app/{tool}"
    headers = {"X-API-Key": api_key}
    files = {"files": open(file_path, "rb")}
    
    response = requests.post(url, headers=headers, files=files, data=params)
    
    if response.status_code == 200:
        with open("result.pdf", "wb") as f:
            f.write(response.content)
        return True
    return False

# Usage Example
pdfjin_process("pdf-to-word", "invoice.pdf", "YOUR_API_KEY")
const axios = require('axios');
const fs = require('fs');
const FormData = require('form-data');

async function processPDF(tool, filePath, apiKey) {
    const form = new FormData();
    form.append('files', fs.createReadStream(filePath));

    const response = await axios.post(`https://pdfjin-api.run.app/${tool}`, form, {
        headers: { ...form.getHeaders(), 'X-API-Key': apiKey },
        responseType: 'arraybuffer'
    });

    fs.writeFileSync('result.pdf', response.data);
}
curl -X POST "https://pdfjin-api.run.app/merge-pdf" \
     -H "X-API-Key: YOUR_API_KEY" \
     -F "files=@document.pdf" \
     --output result.pdf

Endpoint Reference

Replace {tool_name} in your request with any of the identifiers below.

STANDARD TOOLS

merge-pdf
split-pdf
compress-pdf
repair-pdf
rotate-pdf
protect-pdf

CONVERSION TOOLS

pdf-to-word
word-to-pdf
pdf-to-excel
excel-to-pdf
pdf-to-jpg
jpg-to-pdf

AI & INTELLIGENCE

ai-smart-rewrite
ai-pdf-chat
ai-semantic-extract
translate-pdf
ai-form-filler

Common Parameters

Parameter Type Description
files* Binary The file to process (PDF, DOCX, JPG, etc)
password String Required for encrypted PDF files
tone String Specific to AI tools (e.g., 'formal', 'casual')

Error Handling

PDFjin uses standard HTTP response codes to indicate the success or failure of an API request.

Code Meaning
200 Success
400 Bad Request - Check parameters
401 Unauthorized - Invalid API Key
429 Too Many Requests - Rate limit exceeded
500 Server Error - Something went wrong on our end

Rate Limits

Free tier users are limited to 50 tasks per day. Pro users enjoy unlimited tasks with a concurrency limit of 5 simultaneous requests.

Need a custom workflow?

Enterprise users get access to shared engineering support for complex agentic pipelines and high-volume processing.

Contact Support