Delivery modes:inline returns file data URL payload, url returns temporary url + expiresAt, and auto selects based on payload size (default when omitted: inline).
File size limits: Maximum response size is approximately 4MB when using inline. Use delivery=url or delivery=auto for larger outputs.
Limitations
Scanned PDFs: PDFs without a text layer (scanned images) are not supported — OCR is not implemented
Encrypted PDFs: Password-protected or encrypted PDFs are not supported
Text extraction quality: Quality depends on PDF structure; complex layouts may have degraded extraction
DOCX conversion: Preserves basic formatting only (no complex layouts, tables, or embedded media)
File size: Maximum input file size is 10MB (Vercel serverless limit)
Timeout: Processing timeout is 30 seconds by default
Common Errors
Error Code
Cause
Solution
MISSING_FILE
No file provided in request
Ensure file is included in multipart/form-data body
INVALID_FORMAT
Unsupported format parameter
Use text or docx only
FILE_TOO_LARGE
File exceeds 10MB size limit
Compress PDF or split into smaller files
PROCESSING_TIMEOUT
Processing took longer than 30 seconds
Reduce file size or complexity
INVALID_PDF
Corrupted or invalid PDF file
Verify file is a valid PDF, try re-saving from source
For authentication and billing errors, see the Errors section.
File size limits: Maximum response size is approximately 4MB due to JSON payload limits. For larger files, consider compressing individual PDFs before merging.
Limitations
File count: Minimum 2 files, maximum 10 files per request
Format: All files must be valid PDFs (no mixed formats)
Encrypted PDFs: Password-protected or encrypted PDFs are not supported
Total size: Combined file size limit is 25MB
Metadata: Only metadata from the first PDF is preserved in the merged output
Timeout: Processing timeout is 30 seconds by default
Common Errors
Error Code
Cause
Solution
INSUFFICIENT_FILES
No files provided in request
Ensure at least 2 PDF files are included in multipart/form-data body
INSUFFICIENT_FILES
Fewer than 2 or more than 10 files
Provide between 2 and 10 PDF files
FILE_TOO_LARGE
Combined file size exceeds 25MB limit
Reduce individual file sizes or merge fewer files
INVALID_PDF
Corrupted or invalid PDF file
Verify all files are valid PDFs, try re-saving from source
For authentication and billing errors, see the Errors section.
File size limits: Maximum response size is approximately 4MB due to JSON payload limits. For large PDFs with many pages, consider splitting into smaller batches.
Limitations
Input: Single PDF input only (use merge for multi-file operations)
Page ranges: Must be valid format (e.g., "1,3,5" or "1-5"); invalid ranges return errors
Encrypted PDFs: Password-protected or encrypted PDFs cannot be split
File size: Maximum input file size is 10MB
Timeout: Processing timeout is 30 seconds by default
Common Errors
Error Code
Cause
Solution
MISSING_FILE
No file provided in request
Ensure file is included in multipart/form-data body
MISSING_PAGES
Pages parameter not provided
Provide comma-separated page numbers (e.g., "1,3,5")
INVALID_PAGES
Invalid page numbers or format
Use comma-separated integers; page numbers must exist in document
FILE_TOO_LARGE
File exceeds 10MB size limit
Compress PDF or split into smaller files first
INVALID_PDF
Corrupted or invalid PDF file
Verify file is a valid PDF, try re-saving from source
For authentication and billing errors, see the Errors section.
File size limits: Maximum response size is approximately 4MB due to JSON payload limits. For very large full-page screenshots, consider using a smaller viewport or capturing specific sections.
Limitations
JavaScript-heavy sites: Sites with heavy client-side rendering may require longer timeout or may not render correctly
Headless browser blocking: Some sites detect and block headless browser access
Authentication: Login flows are not supported; use pre-authenticated URLs or pass cookies
Viewport: Maximum viewport dimensions are 3840×2160 (4K)
Timeout: Navigation timeout is 30 seconds by default (configurable up to 60s)
File size: Large full-page screenshots may exceed 4MB response limit
Common Errors
Error Code
Cause
Solution
MISSING_INPUT
Neither url nor html provided
Provide either url or html (mutually exclusive)
NAVIGATION_TIMEOUT
Page took too long to load
Increase timeout parameter or check URL accessibility
INVALID_URL
URL format is invalid or unreachable
Verify URL is accessible and properly formatted
INVALID_FORMAT
Unsupported output format
Use png, jpeg, or pdf
For authentication and billing errors, see the Errors section.
The following optional parameters provide fine-grained control over PDF generation. These are supported by the underlying Puppeteer library and can be included in the options object:
File size limits: Maximum response size is approximately 4MB due to JSON payload limits. For very large HTML documents, consider splitting into multiple requests or using external assets via URLs.
Limitations
CSS complexity: Complex CSS layouts (flexbox, grid, complex floats) may not render perfectly
External resources: Images, fonts, and other assets must be accessible (CORS restrictions apply)
JavaScript: Execution limited to page load; no async operations or dynamic content after render
HTML size: Maximum HTML input size is 1MB
Timeout: Navigation timeout is 30 seconds by default (configurable up to 60s)
File size: Large HTML documents may exceed 4MB response limit
Common Errors
Error Code
Cause
Solution
MISSING_INPUT
Neither html nor url provided
Provide either html or url (mutually exclusive)
NAVIGATION_TIMEOUT
Page took too long to render
Increase timeout parameter or simplify HTML content
INVALID_URL
URL format is invalid or unreachable
Verify URL is accessible and properly formatted
HTML_TOO_LARGE
HTML input exceeds 1MB limit
Reduce HTML size or use URL-based conversion
INVALID_OPTIONS
Invalid PDF generation options
Check options object format and parameter values
For authentication and billing errors, see the Errors section.
See Also:
POST /screenshot — Take screenshots of websites (PNG, JPEG, or PDF)