ASHDOCS as an alternative to PDFShift.
ASHDOCS vs PDFShift — REST API, structured extraction, and a visual pipeline builder.
ASHDOCS is a direct alternative to PDFShift with the same HTML-to-PDF endpoint shape, plus native structured extraction (tables, schema-driven JSON, bank statements) and a no-code pipeline builder that PDFShift does not ship. Sandbox keys never bill; per-request retention and PII redaction are built in.
How does ASHDOCS compare to PDFShift feature by feature?
| Feature | ASHDOCS | PDFShift |
|---|---|---|
| HTML-to-PDF endpoint | Yes — POST /api/v1/tools/html-to-pdf, 1 credit | Yes — POST /convert, per-page pricing |
| URL-to-PDF with SSRF guard | Yes — private IPs & metadata endpoints refused | Yes — no explicit SSRF policy documented |
| Structured PDF extraction (tables → CSV/XLSX/JSON) | Yes — /api/v1/extract/tables, 2 credits | No |
| Schema-driven data extraction (LLM) | Yes — /api/v1/extract/data, per-field confidence | No |
| PII redaction (native, not overlaid) | Yes — email/SSN/credit-card/phone, Luhn-validated | No |
| Visual pipeline builder | Yes — Make/Zapier/Airtable/n8n destinations | No |
| Sandbox keys (never billed) | Yes — issued automatically on signup | Trial credits only |
| Batch (up to 50 files) | Yes — one credit ledger entry | Sequential requests only |
| Webhooks (signed) | Yes — HMAC-SHA256, 3 retries with backoff | Yes |
| Zero-retention mode | Per-request or account-wide toggle | Manual delete only |
What are the key limitations of PDFShift?
- →PDFShift does not extract structured data — you still need a second vendor for tables, invoices, or bank statements.
- →PDFShift's rate limits are plan-tiered; ASHDOCS returns X-RateLimit-Remaining on every response so you can back off gracefully.
- →PDFShift has no visual pipeline builder — every workflow requires code, even for the ops team.
What does the code look like side by side?
# PDFShift
curl -X POST https://api.pdfshift.io/v3/convert/pdf \
-u api:sk_xxx \
-H "Content-Type: application/json" \
-d '{ "source": "<h1>Hi</h1>" }'# ASHDOCS — same shape, per-key sandbox, structured errors
curl -X POST https://www.ashdocs.com/api/v1/tools/html-to-pdf \
-H "X-API-Key: ash_test_xxx" \
-H "Content-Type: application/json" \
-d '{ "html": "<h1>Hi</h1>", "options": { "format": "A4" } }'How do I migrate from PDFShift to ASHDOCS?
- Map PDFShift's `source` field to the ASHDOCS `html` (inline markup) or `url` field — the payloads are otherwise shaped the same.
- Swap `Authorization: Basic api:sk_xxx` for the `X-API-Key` header. ASHDOCS issues separate `ash_test_` and `ash_live_` keys so staging never bills.
- Move page options (format, margins, landscape) into the `options` object — names match CSS/print conventions, so most values copy over unchanged.
- Replace response polling with a signed webhook subscription on `job.completed` — payloads are HMAC-SHA256 signed and retried three times with backoff.
Frequently asked questions
Is ASHDOCS a drop-in replacement for PDFShift?+
For HTML-to-PDF and URL-to-PDF, yes — the request shape is nearly identical. You swap the Authorization header for X-API-Key, wrap page options in an `options` object, and you are done.
How is pricing different from PDFShift?+
ASHDOCS charges credits per tool (1 credit for HTML-to-PDF, 2 for extraction, 3 for schema-driven or bank-statement). Sandbox test keys never charge. See /pricing for tier detail.
Can I keep using PDFShift and ASHDOCS side-by-side while I migrate?+
Yes. ASHDOCS uses separate live and test keys, its own webhook signing header (X-ASHDOCS-Signature), and its own destinations — nothing in your PDFShift integration is touched.
Does ASHDOCS support structured data extraction that PDFShift does not?+
Yes. /api/v1/extract/tables returns CSV/XLSX/JSON with per-cell confidence. /api/v1/extract/data returns schema-typed JSON via Claude Sonnet 5 with per-field confidence and cross-field validation.
Competitor pricing verified 1 August 2026 from the vendor's public pricing page. Pricing changes frequently — check PDFShift's pricing page for current rates before deciding.