Skip to main content

API Overview


The DynamicPDF API provides numerous APIs you can use to integrate PDF capabilities into your applications. Use the REST endpoints directly or use one of the provided client libraries.

The DynamicPDF API has six endpoints for working with PDFs. All six endpoints take a POST request. While the image-info, pdf-info, pdf-text, pdf-xmp, and dlex-layout endpoints are straightforward and perform a single function; the pdf endpoint is more complex and allows a variety of processing tasks to create a PDF. Unlike the other five endpoints, the pdf endpoint takes a JSON instructions document which allows fine-grained control over how you generate a finished PDF.

tip

A good starting point for understanding the DynamicPDF API is by reviewing the processing steps for calling an endpoint (Endpoint Workflow).

The following sections list the REST endpoints and available client libraries. It also lists the endpoints region you can use when calling the REST endpoints. If the region is left to the default, then DynamicPDF attempts to select the closest region for your organization.

tip

DynamicPDF has different endpoint regions that you can use when calling one of the endpoints.

REST Endpoints

EndpointDocumentationDescription
image-infoAPI Users Guide - image-infoReturns image metadata as a JSON document.
pdf-infoAPI Users Guide - pdf-InfoReturns PDF metadata as a JSON document.
pdf-textAPI Users Guide - pdf-textReturns the text from a PDF as a JSON document.
pdf-xmpAPI Users Guide - pdf-xmpReturns XMP metadata from a PDF.
pdfAPI Users Guide - pdfReturns a PDF after performing one of the pdf endpoint's tasks (page, dlex, html, word, image) or merging.
dlex-layoutAPI Users Guide - dlex-layoutReturns a PDF after processing a DLEX file with it's associated JSON data.

Run In Postman

Client Libraries

The DynamicPDF API provides client libraries implemented in the following languages.

  • C#
  • Go
  • Java
  • Node.js
  • PHP
  • Python
info

More languages are coming, such as Ruby.

Libraries

Access the libraries from the DynamicPDF API github project at https://github.com/dynamicpdf-api. The client library for each respective language is also available for incorporation into your project via Nuget, Maven, npm, PIP, or Composer.

APIGitHub LocationAPI DocumentationLibrary
C#https://github.com/dynamicpdf-api/dotnet-clientNuget: https://www.nuget.org/packages/DynamicPDF.API
Gohttps://github.com/dynamicpdf-api/go-clientpkg.go.ddev: https://pkg.go.dev/github.com/dynamicpdf-api/go-client
Javahttps://github.com/dynamicpdf-api/java-clientJavaDoc Client API DocumentationMaven: https://repo1.maven.org/maven2/com/dynamicpdf/api/dynamicpdf-api/0.9.0/ Groovy etc: https://search.maven.org/artifact/com.dynamicpdf.api/dynamicpdf-api/0.9.0/jar
Node.jshttps://github.com/dynamicpdf-api/nodejs-clientnpm: https://www.npmjs.com/package/@dynamicpdf/api
PHPhttps://github.com/dynamicpdf-api/php-clientComposer: https://packagist.org/packages/dynamicpdf/api
Pythonhttps://github.com/dynamicpdf-api/python-clientPyPI: https://pypi.org/project/dynamicpdf-api/
tip

Refer to each client library's readme.md file on github for documentation on the library.

Endpoint Zones

The DynamicPDF API REST endpoints are deployed on 10 API zones, You should use the default endpoint at https://api.dynamicpdf.com since it automatically routes to the closest zone. However, if you wish to target a specific zone, then you can any of the following specific API zones.

RegionAPI Zone
Defaulthttps://api.dpdf.io
East USAhttps://api-use.dpdf.io
West USAhttps://api-usw.dpdf.io
Brazil Southhttps://api-brs.dpdf.io
Western Europehttps://api-euw.dpdf.io
South Africa Northhttps://api-zan.dpdf.io
UAE Northhttps://api-aen.dpdf.io
Central Indiahttps://api-inc.dpdf.io
Southeast Asiahttps://api-sea.dpdf.io
Japan Easthttps://api-jae.dpdf.io
Australia Easthttps://api-aue.dpdf.io

Authentication

Every API endpoint request must have an Authorization header that specifies the API key used in securing the endpoint call. You obtain this key from the Apps Manager and a request header has the following format, where "DP.V9xxxxx" is the API key.

Authorization: Bearer DP.xxx-api-key-xxx

Example Header

curl -X POST "https://api.dynamicpdf.com/v1.0/pdf-xmp" 
-H "accept: application/json"
-H "Authorization: Bearer DP.xxx-api-key-xxx"
-H "Content-Type: application/pdf"
--data-binary "@c:/holding/pdf-xmp/fw4.pdf"
info

Do not assume the example header is implying that the endpoint only accepts a file. Realize the --data-binary sent to the endpoint is a byte-array.

For more information on API keys, refer to Apps Manager in the Users Guide (Apps Manager).