NOTE: This documentation applies to both PDF.co and on-prem version called ByteScout API Server. Remarks in the documentation highlighting a difference if any.
- PDF.co API v.1.00
NOT A DEVELOPER and LOOKING FOR FREE APPS? Check 100% free apps at PDFLite.co
- Document Parser
- [POST] /pdf/documentparser (output as JSON)
- [POST] /pdf/documentparser (output as XML)
- [POST] /pdf/documentparser (output as CSV)
- [POST] /pdf/documentparser (output as JSON, custom template code)
- [GET] /pdf/documentparser/templates
- [GET] /pdf/documentparser/templates/:id
- [GET] /pdf/documentparser/results
- [POST] /pdf/documentparser/results
- [DELETE] /pdf/documentparser/results/:id
- Document Classifier
- PDF Translate
- PDF Info Reader
- PDF Forms Info Reader
- PDF Add Text, Signatures and Images to PDF
- PDF Fill PDF Forms
- PDF Create Fillable PDF Forms
- PDF Search Text
- PDF Search Tables
- PDF Search and Replace Text
- PDF Search and Replace Text with Image
- PDF Search and Delete Text from PDF
- PDF Make Text Searchable or Unsearchable
- PDF To CSV
- PDF To JSON
- PDF To TEXT
- PDF To XLS
- PDF To XLSX
- PDF To XML
- PDF to HTML
- PDF to JPG
- PDF to PNG
- PDF to TIFF
- PDF from CSV (CSV to PDF)
- PDF from Doc, DocX, RTF, TXT, XPS (Document to PDF)
- PDF from URL (URL to PDF)
- PDF from HTML (HTML to PDF)
- PDF from Email
- PDF from HTML template (Mustache or HandleBars style)
- PDF from Images (JPG to PDF and PNG to PDF)
- PDF from XLS or CSV
- PDF Split
- PDF Merge
- PDF Password And Security
- PDF Delete Pages
- PDF Optimize
- XLS / XLSX to CSV
- XLS/XLSX to JSON
- XLS/XLSX to HTML
- XLS/XLSX to TXT
- XLS/XLSX to XML
- Barcode Generator
- Barcode Reader
- Background Jobs Check
- Upload Files
- [GET] /file/upload/get-presigned-url (GET generate secure URL for upload)
- [PUT] PUT
- [POST] /file/upload (Uploading small file)
- [POST] /file/upload/base64 (Upload small file as Base64)
- [POST] /file/upload/url (Upload file from URL)
- [GET] /file/upload/url (Upload from URL)
- [POST] /file/delete
- [POST] /file/hash
- Misc Account Info And Misc
- Use from API or via 300+ Integrations: you can use PDF.co from anywhere: programming languages, RPA platforms like UI and Automation Platforms such as Zapier, Integromat, IUPath, RPA apps, SalesForce and many others.
- Security: PDF.co API runs on top of the secure and certified Amazon AWS infrastructure. All data transfers are encrypted by SSL/TLS encryption. See the security page for more details.
- Asynchronous mode is supported so you can process large files and documents with hundreds of pages in the cloud.
- Battle tested by thousands of production users. Our engines are tested in production by thousands of enterprise users.
- Credits based system. For every page credits are consumed from your account. You can purchase non-expiring credits with one-time payments or subscribe for a monthly credits that are cheaper. For the detailed reports explore your API logs.
- On-Prem Version and Private Cloud version is available. Enterprise users may easily switch to
ByteScout API Serverthat can run in a private cloud or on premises. Contact support for more information.
You can use PDF.co from popular automation and RPA platforms including:
We have hundreds of ready to copy-paste source code samples!
Our team of engineers is happy to help with the integration, coding of proof of concept projects and any other questions. To contact us please:
- Request a temporary URL for upload using
/file/upload/get-presigned-url. This will return JSON with
presignedUrlproperty that contains a link you should upload into using
urlproperty that contains a link to the uploaded file.
- Upload your file using
presignedUrllink generated on the previous step. Once finished, your file can be accessed using the link from
urllink from the step
- Congrats! Now you can access your uploaded file using that link from
urlparam from step
1. Now you can call any API method with your link set as
Security Note: Uploaded files are auto-removed within
60 minutes by default. You can also remove your file earlier using
On-Prem Version only: Depending on your settings, your files are stored on your server or in the cloud storage of your choice or on your file server. If you use cloud storage (like AWS S3) then you need to set up an auto-removal policy for uploaded files or remove files using
We’ve designed a special
async mode that is available for almost all endpoints. If your call takes more than
25 seconds then you need to run it as a background job that can work for up to 15-20 minutes and can process large documents and files.
When you set
async param to
true, your call returns
jobId param containing unique ID of your background job. Use
/job/check to read a background job status to find when your output file is ready for download.
Step by step:
- Add the
asyncparameter and set it to
true. 2 Enable
asyncmode by setting
asyncinput parameter to
true. This will tell API method to create background job and immediately return unique id of this new background job in
jobIdproperty in the output along with the final
url. Use this url to access the output file (if any) once the job is finished.
- Now check the status of that new background job using
jobIdparameter set to the jobId value from the previous step. Repeat and check until it returns
success. Recommended interval for checking is 1-2 seconds for small documents and 10-15 seconds for large documents.
Sometime if you use Google Drive, Google Docs, Google Sheets, Dropbox or similar free cloud storage services to store your input files, you may get
Too Many Requests in or
Access Denied errors after previously successful calls. Cloud services are throttling requests to prevent frequent access to their files by using this type of protection. Paid plans like Google Workspace provide better support for frequent access but still throttling all incoming requests too.
To solve this issue, PDF.co can use its built-in secure input url cache. Just add
cache: prefix to your input url to enable caching.
This will tell PDF.co to cache file from the url for next 15 minutes. Instead of re-requesting your url every time, it will use its cached version. This will prevent from getting
Too Many Requests error.
API returns https status but also returns JSON that includes
status parameter indicating error.
|The request has succeeded|
|bad input parameters|
|not enough credits|
|forbidden (source file or url is not accessible)|
|Timeout error. To process large documents or files please use asynchronous mode ( set |
! Don’t forget to set
x-api-key url param or http header param (preferred) to API key. Get your API key here
- (PHP language):
SSL certificate error: unable to get local issuer certificate. To resolve the issue with checking https certificate please check this solution on Stackoverflow