Test-PDF API
Generate test PDFs and download collection ZIPs programmatically. No API key. No account. Integrate into CI pipelines, test suites, and automation scripts.
01GENERATE A PDF
Generate a PDF
GET https://examplepdf.com/api/pdf02EXAMPLES
Examples
# Basic: 1 MB plain PDF
$ curl -O "https://examplepdf.com/api/pdf?size=1mb"# Custom: 5 MB, 10 pages, with tables and form fields
$ curl -O "https://examplepdf.com/api/pdf?size=5mb&type=tables&pages=10&form=true"# Small: minimal file for upload-limit testing
$ curl -O "https://examplepdf.com/api/pdf?size=1kb"03DOWNLOAD A TEST COLLECTION
Download a Test Collection
GET https://examplepdf.com/api/collections/{name}
Names: rag, ocr, parser, security, render
$ curl -O "https://examplepdf.com/api/collections/rag"TAP A NAME TO COPY ITS CURL COMMAND.
04RESPONSE DETAILS
Response Details
Success (200):
Content-Type: application/pdf
Content-Disposition: attachment; filename="examplepdf-{size}-{type}.pdf"
X-Generated-By: examplepdf-worker/2.0.0
Cache-Control: no-storeError (400):
{ "error": { "code": "INVALID_SIZE", "message": "Size must be between 1kb and 100mb. Got: 200mb", "param": "size" } }Rate limit (429):
{ "error": { "code": "RATE_LIMITED", "message": "100 requests/min exceeded. Retry after 60s." } }Unknown collection (404):
{ "error": { "code": "NOT_FOUND", "message": "Unknown collection: foobar. Valid: rag, ocr, parser, security, render" } }05HEALTH CHECK
Health Check
GET https://examplepdf.com/api/health
→ { "status": "ok", "version": "2.0.0" }06LIMITS & NOTES
Limits & Notes
- 01Rate limit: 100 requests/min/IP (Cloudflare WAF). No API key required.
- 02Large files (> 10 MB): streamed from server. Allow up to 30s.
- 03CORS: Access-Control-Allow-Origin: * (call from any origin).
- 04No storage: files are generated on demand and never persisted.
- 05Security collection: the ZIP includes its own AUP. API access does not bypass the AUP.
07INTERESTED IN HIGHER LIMITS?
Higher Limits
The free API serves most testing needs. If you need higher rate limits, larger files via API, or early access to new collections, a paid Developer tier is planned.
[WAITLIST — IMPLEMENTATION PENDING COMPLIANCE REVIEW]
No. The API is open and keyless in v1. Rate limiting (100 req/min/IP) is enforced at the infrastructure level.
Yes. That's the primary use case. Replace committed binary test fixtures with on-demand API calls. curl and wget both work out of the box.
You receive HTTP 429 with a JSON error body. Wait 60 seconds and retry. The limit resets per minute per IP.