Turn any URL or HTML
into a production PDF.

Batch conversion, configurable output, credit-based billing. Two API calls and you're done.

# Convert a URL to PDF in two requests
curl -X POST https://docuqueue.com/api/v1/convert \
  -H "api-key: wp2_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{"urls": ["https://example.com"]}'

# {"job_id": "a1b2c3d4", "status": "queued"}

curl https://docuqueue.com/api/v1/download/a1b2c3d4 \
  -H "api-key: wp2_your_key_here" -o output.pdf
Three steps. No SDK required.
1

Register

Sign up with your email. Get 25 free credits instantly. No credit card required.

2

Send a request

POST URLs or raw HTML to the API. Each request consumes 1 credit regardless of URL count.

3

Download your PDF

Your PDFs are processed in the background. Check status, then download when ready.

Built for developers who ship.
📄

URL to PDF

Submit 1–10 URLs in a single request. Each page is converted and merged into one clean PDF.

</>

HTML to PDF

Paste raw HTML up to 500KB. Get pixel-perfect PDF output matching your markup exactly.

Batch Processing

Send multiple URLs at once. Everything is handled automatically — just submit and download.

💰

Credit Billing

Pay only for what you use. Free tier included. Upgrade, downgrade, or cancel anytime.

Configurable Output

Set page format, margins, orientation, scale, and background rendering per request.

🔒

Simple Auth

One API key per account. Register with your email and start converting in seconds.

📄

AI PDF Form Filler

Auto-detect fields and fill PDF forms programmatically. Learn more →

Drop-in code for your stack.
# Convert any webpage to PDF
curl -X POST https://docuqueue.com/api/v1/convert \
  -H "api-key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"urls": ["https://example.com"]}'

# Fill a template with JSON data
curl -X POST https://docuqueue.com/api/v1/templates/{template_id}/fill \
  -H "api-key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"data": {"company_name": "Acme", "total": "$1,200"}}'

# Generate multiple PDFs from CSV data
curl -X POST https://docuqueue.com/api/v1/templates/{template_id}/fill-batch \
  -H "api-key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"records": [{"company_name": "Acme"}, {"company_name": "Beta"}]}'

# Download PDF
curl -o output.pdf https://docuqueue.com/api/v1/download/{job_id} \
  -H "api-key: YOUR_KEY"
import requests

API_KEY = "YOUR_KEY"
BASE = "https://docuqueue.com/api/v1"
HEADERS = {"api-key": API_KEY, "Content-Type": "application/json"}

# Convert any webpage to PDF
r = requests.post(f"{BASE}/convert", headers=HEADERS,
    json={"urls": ["https://example.com"]})
job_id = r.json()["job_id"]

# Fill a template with JSON data
r = requests.post(f"{BASE}/templates/{template_id}/fill",
    headers=HEADERS,
    json={"data": {"company_name": "Acme", "total": "$1,200"}})

# Generate multiple PDFs from CSV data
r = requests.post(f"{BASE}/templates/{template_id}/fill-batch",
    headers=HEADERS,
    json={"records": [{"company_name": "Acme"}, {"company_name": "Beta"}]})

# Download PDF
pdf = requests.get(f"{BASE}/download/{job_id}", headers=HEADERS)
open("output.pdf", "wb").write(pdf.content)
const API_KEY = "YOUR_KEY";
const BASE = "https://docuqueue.com/api/v1";
const headers = {"api-key": API_KEY, "Content-Type": "application/json"};

// Convert any webpage to PDF
const res = await fetch(`${BASE}/convert`, {
  method: "POST", headers,
  body: JSON.stringify({urls: ["https://example.com"]})
});
const {job_id} = await res.json();

// Fill a template with JSON data
const fillRes = await fetch(`${BASE}/templates/${templateId}/fill`, {
  method: "POST", headers,
  body: JSON.stringify({data: {company_name: "Acme", total: "$1,200"}})
});

// Generate multiple PDFs from CSV data
const batchRes = await fetch(`${BASE}/templates/${templateId}/fill-batch`, {
  method: "POST", headers,
  body: JSON.stringify({records: [{company_name: "Acme"}, {company_name: "Beta"}]})
});

// Download PDF
const pdf = await fetch(`${BASE}/download/${job_id}`, {headers});
const buf = await pdf.arrayBuffer();
writeFileSync("output.pdf", Buffer.from(buf));
Simple plans. No surprises.

Free

$0/mo
25 credits · 5 req/min
  • HTML to PDF
  • URL to PDF
  • Template Fill
  • Up to 3 URLs per request
  • Standard output
  • Community support
Try it free

Starter

$9/mo
250 credits · 20 req/min
  • HTML to PDF
  • URL to PDF
  • Template Fill
  • Batch Processing
  • Up to 5 URLs per request
  • Standard output
  • Email support
Try it free

Business

$99/mo
5,000 credits · 100 req/min
  • HTML to PDF
  • URL to PDF
  • Template Fill
  • Batch Processing
  • Up to 10 URLs per request
  • Priority output
  • Dedicated support
Try it free
Common questions.

What counts as 1 credit?

Each successful conversion request consumes 1 credit, regardless of how many URLs are included. Failed requests do not consume credits.

Is there a free plan?

Yes. The Free plan gives you 25 credits per month with no credit card required. Upgrade anytime.

Do failed requests get refunded?

Yes. Credits are pre-deducted but refunded if the conversion fails due to an error on our end.

Can I change plans?

Yes. Upgrades take effect immediately with a prorated charge. Downgrades take effect at the start of your next billing cycle.

What payment methods are accepted?

We accept credit/debit cards (Visa, Mastercard).

Is there a free trial for paid plans?

The Free plan is available indefinitely. You can upgrade to a paid plan at any time.

From the DocuQueue blog.

Tutorials, tips, and updates on PDF generation, template automation, and the DocuQueue API.

Read the Blog →