Overview
What it does
Use Cases
Quick Start
Get your API key
- Visit PDF.co Dashboard
- Sign up for a free account (no credit card required)
- Copy your API key from the dashboard
- 300 credits per month
- Most operations cost 1-3 credits
- Perfect for testing and light usage
Add to NimbleBrain Studio
- Open NimbleBrain Studio
- Navigate to MCP Servers in the sidebar
- Find PDF.co in the Document Processing category
- Click Enable
- Paste your API key when prompted
- Click Save
Test your connection
Available Tools
PDF.co provides 18 tools organized into 6 categories for comprehensive document processing.PDF Conversion Tools
pdf_to_text
pdf_to_text
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| url | string | Yes | - | URL or base64 encoded PDF |
| pages | string | No | All pages | Page range (e.g., “1-3” or “1,3,5”) |
| async_mode | boolean | No | false | Process asynchronously for large files |
pdf_to_json
pdf_to_json
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| url | string | Yes | - | URL or base64 encoded PDF |
| pages | string | No | All pages | Page range to process |
pdf_to_html
pdf_to_html
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| url | string | Yes | - | URL or base64 encoded PDF |
| pages | string | No | All pages | Page range to convert |
| simple | boolean | No | false | Use simple HTML mode (plain text) |
pdf_to_csv
pdf_to_csv
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| url | string | Yes | - | URL or base64 encoded PDF |
| pages | string | No | All pages | Page range containing tables |
PDF Manipulation Tools
pdf_merge
pdf_merge
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| urls | array[string] | Yes | - | List of PDF URLs or base64 encoded PDFs |
| name | string | No | ”merged.pdf” | Output filename |
| async_mode | boolean | No | false | Process asynchronously for large files |
pdf_split
pdf_split
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| url | string | Yes | - | URL or base64 encoded PDF |
| pages | string | No | All pages | Page ranges to extract (e.g., “1-3,5-7”) |
| split_by_pages | boolean | No | false | Split into individual pages |
pdf_rotate
pdf_rotate
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| url | string | Yes | - | URL or base64 encoded PDF |
| angle | integer | Yes | - | Rotation angle (90, 180, 270, or -90) |
| pages | string | No | All pages | Page range to rotate |
pdf_compress
pdf_compress
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| url | string | Yes | - | URL or base64 encoded PDF |
| compression_level | string | No | ”balanced” | Compression level: “low”, “balanced”, “high”, “extreme” |
pdf_add_watermark
pdf_add_watermark
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| url | string | Yes | - | URL or base64 encoded PDF |
| text | string | Yes | - | Watermark text |
| x | integer | No | 100 | X position in points |
| y | integer | No | 100 | Y position in points |
| font_size | integer | No | 24 | Font size in points |
| color | string | No | ”FF0000” | Hex color without # (e.g., “FF0000” for red) |
| opacity | float | No | 0.5 | Opacity from 0.0 to 1.0 |
| pages | string | No | ”0-” | Page range (e.g., “0-” for all pages) |
| name | string | No | ”watermarked.pdf” | Output filename |
PDF Security Tools
pdf_protect
pdf_protect
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| url | string | Yes | - | URL or base64 encoded PDF |
| owner_password | string | Yes | - | Owner password for full access |
| user_password | string | No | null | User password for restricted access |
| allow_print | boolean | No | true | Allow printing |
| allow_copy | boolean | No | false | Allow copying text |
pdf_unlock
pdf_unlock
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| url | string | Yes | - | URL or base64 encoded PDF |
| password | string | Yes | - | PDF password to unlock |
PDF Information
pdf_info
pdf_info
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| url | string | Yes | - | URL or base64 encoded PDF |
Document Creation Tools
html_to_pdf
html_to_pdf
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| html | string | Yes | - | HTML content or URL |
| name | string | No | ”document.pdf” | Output filename |
| margins | string | No | null | Margins in format “top,right,bottom,left” (e.g., “10mm,10mm,10mm,10mm”) |
| orientation | string | No | ”Portrait” | Page orientation: “Portrait” or “Landscape” |
| page_size | string | No | ”Letter” | Page size: “Letter”, “A4”, “Legal”, etc. |
url_to_pdf
url_to_pdf
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| url | string | Yes | - | Web page URL |
| name | string | No | ”webpage.pdf” | Output filename |
| orientation | string | No | ”Portrait” | Page orientation: “Portrait” or “Landscape” |
| page_size | string | No | ”Letter” | Page size: “Letter”, “A4”, “Legal”, etc. |
image_to_pdf
image_to_pdf
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| images | array[string] | Yes | - | List of image URLs or base64 encoded images |
| name | string | No | ”images.pdf” | Output filename |
Barcode Tools
barcode_generate
barcode_generate
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| value | string | Yes | - | Barcode value/text to encode |
| barcode_type | string | No | ”QRCode” | Type: “QRCode”, “Code128”, “Code39”, “EAN13”, “EAN8”, “UPCA”, “UPCE” |
| format | string | No | ”png” | Output format: “png”, “jpg”, “svg” |
barcode_read
barcode_read
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| url | string | Yes | - | Image URL or base64 encoded image |
| barcode_types | array[string] | No | All common types | List of barcode types to detect |
OCR Tools
ocr_pdf
ocr_pdf
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| url | string | Yes | - | URL or base64 encoded PDF |
| pages | string | No | All pages | Page range to OCR |
| lang | string | No | ”eng” | Language code: “eng”, “spa”, “fra”, “deu”, “chi”, etc. |
Authentication & Configuration
API Key Setup
PDF.co requires an API key for all operations. The service uses a credit-based system where operations consume credits from your monthly quota.Create Account
- No credit card required for free tier
- Email verification needed
- Instant API key generation
Get API Key
- Log in to PDF.co Dashboard
- Your API key is displayed prominently on the dashboard
- Click “Copy” to copy your key
- Keep it secure - treat it like a password
Add to Studio
- Navigate to MCP Servers → PDF.co
- Click Enable
- Paste your API key in the configuration field
- Click Save
Credit-Based Pricing
PDF.co operates on a credit system where each operation consumes credits. Most operations cost 1 credit, with OCR costing 3 credits.- Free Tier
- Starter ($9/month)
- Professional ($49/month)
- Business ($199/month)
- Enterprise (Custom)
- 300 operations/month (most tools)
- 100 OCR operations/month
- 10 requests per minute
- 50MB maximum file size
- All 18 tools available
- 24-hour file storage
- Testing the service
- Personal projects
- Light document processing
- Prototyping workflows
- Cannot be used for production at scale
- Rate limited to 10 req/min
- Files auto-deleted after 24 hours
Credit Consumption
Understanding credit usage helps you plan your monthly budget:| Tool Category | Operation | Credit Cost | Free Tier Usage |
|---|---|---|---|
| Conversion | pdf_to_text | 1 credit | 300 operations |
| Conversion | pdf_to_json | 1 credit | 300 operations |
| Conversion | pdf_to_html | 1 credit | 300 operations |
| Conversion | pdf_to_csv | 1 credit | 300 operations |
| Manipulation | pdf_merge | 1 credit | 300 operations |
| Manipulation | pdf_split | 1 credit | 300 operations |
| Manipulation | pdf_rotate | 1 credit | 300 operations |
| Manipulation | pdf_compress | 1 credit | 300 operations |
| Manipulation | pdf_add_watermark | 1 credit | 300 operations |
| Security | pdf_protect | 1 credit | 300 operations |
| Security | pdf_unlock | 1 credit | 300 operations |
| Information | pdf_info | 1 credit | 300 operations |
| Creation | html_to_pdf | 1 credit | 300 operations |
| Creation | url_to_pdf | 1 credit | 300 operations |
| Creation | image_to_pdf | 1 credit | 300 operations |
| Barcodes | barcode_generate | 1 credit | 300 operations |
| Barcodes | barcode_read | 1 credit | 300 operations |
| OCR | ocr_pdf | 3 credits | 100 operations |
Rate Limits
API rate limits vary by plan tier:| Plan | Requests/Minute | Burst Limit | File Size | File Retention |
|---|---|---|---|---|
| Free | 10 | 20 | 50 MB | 24 hours |
| Starter | 30 | 60 | 100 MB | 7 days |
| Professional | 60 | 120 | 200 MB | 30 days |
| Business | 120 | 240 | 500 MB | 90 days |
| Enterprise | Custom | Custom | Custom | Custom |
Security Best Practices
API Key Security
API Key Security
- Never commit API keys to version control
- Don’t share keys in chat logs or screenshots
- Rotate keys regularly (every 90 days)
- Use separate keys for development and production
- Monitor usage for unauthorized activity
Data Privacy
Data Privacy
- All files are transmitted over HTTPS
- Files are automatically deleted after retention period
- No files are used for training or analytics
- GDPR compliant data processing
- SOC 2 Type II certified
Password Protection
Password Protection
- Never hardcode passwords in Studio conversations
- Use strong, unique passwords for protected PDFs
- Store passwords in secure password managers
- Implement password rotation for long-term protected files
- Consider using owner/user password combinations
Example Workflows
Real-world scenarios showing how to use PDF.co tools in NimbleBrain Studio.- Invoice Processing
- Contract Generation
- Document Archival
- Receipt Scanning
- Report Distribution
- QR Code Campaign
- Form Extraction
- Document Redaction
- Multi-Language OCR
- Presentation Archival
- Barcode Inventory
- Legal Document Prep
- Extract text: “Extract text from this invoice PDF: [invoice-url]”
- Parse data: “Extract the invoice number, date, total amount, and vendor name from this text”
- Validate: “Check if all required fields are present”
pdf_to_text, pdf_to_jsonCredit Cost: 2 credits per invoiceTime Saved: 5 minutes manual work → 30 seconds automatedExample Prompt:Troubleshooting
API Key Invalid
API Key Invalid
- Verify you copied the complete API key from the dashboard
- Check for extra spaces before/after the key
- Log in to PDF.co Dashboard and confirm the key
- Generate a new API key if needed
- In Studio, disable and re-enable PDF.co with the new key
- Partial key copied
- Key regenerated but not updated in Studio
- Account suspended for non-payment
Credit Limit Exceeded
Credit Limit Exceeded
- Check your current credit balance at PDF.co Dashboard
- Wait for monthly reset (1st of each month)
- Upgrade to a higher tier plan
- Purchase additional credit packs
- Monitor usage dashboard regularly
- Set up usage alerts in your account
- Implement credit budgeting in workflows
- Consider upgrading before hitting limits
Rate Limit Errors
Rate Limit Errors
- Reduce request frequency
- Implement delays between operations (1-2 seconds)
- Studio will automatically retry with backoff
- Upgrade plan for higher rate limits
- Free: 10 requests/minute
- Starter: 30 requests/minute
- Professional: 60 requests/minute
- Business: 120 requests/minute
File Too Large
File Too Large
- Compress PDF before uploading
- Split large PDF into smaller chunks
- Reduce image quality for image-to-PDF conversions
- Upgrade plan for larger file limits
- Free: 50 MB
- Starter: 100 MB
- Professional: 200 MB
- Business: 500 MB
- Enterprise: Custom
OCR Quality Issues
OCR Quality Issues
- Ensure scanned document has sufficient resolution (300 DPI minimum)
- Specify correct language code (lang parameter)
- Pre-process images to improve contrast
- Rotate images to correct orientation before OCR
- Try scanning again with better lighting
- Use 300 DPI or higher resolution
- Ensure good lighting and contrast
- Avoid shadows and glare
- Straighten skewed documents
- Specify language for better accuracy
PDF Generation Timeout
PDF Generation Timeout
- Use
async_mode: truefor large files - Split operations into smaller chunks
- Reduce page count (use page range parameters)
- Check file URL accessibility (must be publicly accessible)
- Try again during off-peak hours
- PDFs with 50+ pages
- Large merge operations (5+ files)
- OCR operations on multi-page documents
- Files larger than 10 MB
Watermark Not Visible
Watermark Not Visible
- Adjust opacity (try 0.3-0.7 range)
- Change watermark color for better contrast
- Increase font size
- Adjust x/y position coordinates
- Verify page range includes desired pages
- Most PDFs use 612x792 points (Letter size)
- Center position: x=306, y=396
- Try different positions to find optimal placement
- Use lighter colors (higher opacity) for visibility
Merge Failed
Merge Failed
- Verify all PDF URLs are accessible
- Check that all files are valid PDFs
- Try merging fewer files at once (batch in groups of 5)
- Unlock password-protected PDFs before merging
- Use async_mode for large merge operations
- One or more source PDFs corrupted
- Protected/encrypted PDFs in the list
- Network issues downloading source files
- Total merged size exceeds file limit
Tools Not Triggering
Tools Not Triggering
- Be more explicit: mention “PDF.co” or specific tool names
- Verify server shows “Active” status in Studio
- Check API key is correctly configured
- Provide file URLs directly (don’t ask Studio to find them)
- Use clear action verbs: “extract”, “convert”, “merge”, etc.
- ✅ “Extract text from this PDF: [url]”
- ✅ “Merge these two PDFs: [url1], [url2]”
- ✅ “Generate a QR code for: [url]”
- ❌ “What’s in this document?” (might not trigger pdf_to_text)
- ❌ “Can you help with a PDF?” (no action specified)
Links & Resources
Getting Started
- PDF.co Dashboard - Manage API keys and monitor usage
- API Documentation - Complete API reference
- Pricing Plans - Compare plans and upgrade
- Support Portal - Help center and FAQs
Tool-Specific Documentation
- PDF Conversion APIs - Text, JSON, HTML, CSV extraction
- PDF Manipulation - Merge, split, rotate, compress
- Document Generation - HTML to PDF, URL to PDF
- OCR API - Optical character recognition
- Barcode API - Generate and read barcodes
Support
- Status Page - Service uptime and incidents
- Email Support - Technical support
- Community Forum - User discussions
- GitHub Examples - Code samples
Learning Resources
PDF.co vs Other Services
PDF.co vs Other Services
- ✅ Simple credit-based pricing (no per-page fees)
- ✅ Comprehensive API (18 tools in one service)
- ✅ FastMCP integration for Studio
- ✅ Generous free tier (300 credits/month)
- ✅ No watermarks on free tier
- ✅ 24-hour file retention (not immediate deletion)
- Adobe PDF Services: More expensive, enterprise-focused
- iLovePDF: Limited API, consumer-focused
- Smallpdf: No free API tier
- PyPDF2/pdfplumber: Self-hosted but limited features
Credit Usage Optimization
Credit Usage Optimization
- Use pdf_merge for multiple PDFs (1 credit total)
- Use image_to_pdf for multiple images (1 credit total)
- Use barcode_read on images with multiple codes (1 credit total)
- Try pdf_to_text first (native PDFs don’t need OCR)
- Use ocr_pdf only for scanned/image-based PDFs
- Specify page ranges to OCR only needed pages
- Use compression before other operations
- Balance quality vs file size (start with “balanced”)
- Compress before merging to save processing time
- Extract only needed pages:
pages="1-5" - Skip blank pages to reduce processing
- Test on single pages before full document
Understanding Tool Categories
Understanding Tool Categories
- Input: Existing PDF
- Output: Text, JSON, HTML, CSV
- Use when: You need to read/analyze PDF content
- Input: Existing PDF(s)
- Output: Modified PDF
- Use when: You need to change PDF structure
- Input: Existing PDF
- Output: Protected/unlocked PDF
- Use when: You need access control
- Input: HTML, URL, or images
- Output: New PDF
- Use when: You need to create PDFs from scratch
- Input: Text (generate) or Image (read)
- Output: Barcode image or decoded data
- Use when: Product tracking, marketing, inventory
- Input: Scanned PDF or images
- Output: Searchable PDF + text
- Use when: Paper documents need digitization
File URL Requirements
File URL Requirements
- File must be publicly accessible
- No authentication required
- HTTPS preferred (HTTP works)
- Examples: S3 public URLs, Dropbox public links, web hosting
- For files you can’t make public
- Encode file as base64 string
- Include data URI prefix:
data:application/pdf;base64, - More complex but works for private files
- Studio cannot directly upload files from your computer
- Must provide URL or base64-encoded string
- For local files: upload to cloud storage first, then use URL
- Use cloud storage (S3, Dropbox, Google Drive)
- Generate temporary public URLs (expiring links)
- Remove files after processing to maintain privacy
Async vs Sync Operations
Async vs Sync Operations
- Studio waits for immediate response
- Best for: Fast operations, small files, single pages
- Timeout: 60 seconds
- Most operations complete instantly
async_mode: true):- PDF.co processes in background
- Returns job ID, you poll for completion
- Best for: Large files, many pages, OCR, large merges
- No timeout limit
- PDFs with 50+ pages
- Files larger than 25 MB
- Merging 10+ documents
- OCR on multi-page documents
- Operations taking longer than 30 seconds
- Studio automatically handles async operations
- You’ll see “Processing…” status
- Results appear when ready
- No manual polling needed
Error Code Reference
Error Code Reference
- Invalid or missing API key
- Solution: Check API key in Studio configuration
- Credits exhausted
- Solution: Wait for monthly reset or upgrade plan
- Rate limit exceeded
- Solution: Slow down requests or upgrade plan
- Invalid parameters (wrong URL, bad page range)
- Solution: Check tool documentation for correct format
- File exceeds size limit
- Solution: Compress file or upgrade plan
- PDF.co service issue
- Solution: Check Status Page, retry later
- Temporary outage
- Solution: Wait 5 minutes and retry
Best Practices for Production
Best Practices for Production
- Use separate keys for dev/staging/production
- Rotate keys quarterly
- Never log or expose keys
- Monitor usage for anomalies
- Implement retry logic with exponential backoff
- Handle rate limits gracefully (queue requests)
- Validate file URLs before API calls
- Log errors for debugging (exclude sensitive data)
- Monitor credit usage daily
- Set up alerts at 80% quota
- Implement usage caps per user/workflow
- Review credit consumption monthly
- Use async mode for large operations
- Cache results when appropriate
- Compress files before processing
- Use page ranges to process only needed content
- Delete files immediately after processing
- Use shortest retention period for your tier
- Encrypt sensitive PDFs with pdf_protect
- Validate file types before processing
- Have fallback for service outages
- Test with sample files regularly
- Monitor PDF.co status page
- Keep Studio MCP connection active
Ready to Process Documents? Enable PDF.co in NimbleBrain Studio and start with the free tier. Most operations cost just 1 credit, and you get 300 credits per month to explore all 18 tools!