Skip to main content
POST
/
v1
/
pdf
/
async
cURL
curl --request POST \
  --url https://api.doczilla.app/v1/pdf/async \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "page": {
    "url": "<string>",
    "html": "<string>",
    "htmlTemplate": "<string>",
    "templateData": {},
    "waitUntil": "auto",
    "waitForMilliseconds": 2500,
    "waitForSelector": {
      "selector": "<string>",
      "options": {
        "visible": false,
        "hidden": false,
        "timeout": 10000
      }
    },
    "waitForFunction": {
      "pageFunction": "window.innerWidth < 100",
      "options": {
        "polling": "raf",
        "timeout": 10000
      }
    },
    "headers": {
      "x-foo": "bar"
    },
    "adblock": true,
    "javascript": true,
    "cookies": [
      {
        "name": "<string>",
        "value": "<string>",
        "domain": "<string>",
        "url": "<string>",
        "path": "<string>",
        "secure": true,
        "httpOnly": true,
        "expires": 123
      }
    ],
    "authentication": {
      "username": "<string>",
      "password": "<string>"
    },
    "colorScheme": "<string>",
    "timezone": "<string>"
  },
  "webhook": {
    "url": "<string>",
    "receiveType": "URL",
    "method": "POST",
    "headers": {},
    "metadata": {}
  },
  "pdf": {
    "scale": 1,
    "displayHeaderFooter": false,
    "headerHtml": "<string>",
    "footerHtml": "<string>",
    "printBackground": false,
    "landscape": false,
    "pageRanges": "1-5",
    "format": "letter",
    "width": "<string>",
    "height": "<string>",
    "preferCSSPageSize": false,
    "margin": {
      "top": "<string>",
      "bottom": "<string>",
      "left": "<string>",
      "right": "<string>"
    },
    "omitBackground": false,
    "outline": false,
    "tagged": false
  },
  "storage": {
    "preSignedUrl": "<string>"
  }
}
'
import requests

url = "https://api.doczilla.app/v1/pdf/async"

payload = {
"page": {
"url": "<string>",
"html": "<string>",
"htmlTemplate": "<string>",
"templateData": {},
"waitUntil": "auto",
"waitForMilliseconds": 2500,
"waitForSelector": {
"selector": "<string>",
"options": {
"visible": False,
"hidden": False,
"timeout": 10000
}
},
"waitForFunction": {
"pageFunction": "window.innerWidth < 100",
"options": {
"polling": "raf",
"timeout": 10000
}
},
"headers": { "x-foo": "bar" },
"adblock": True,
"javascript": True,
"cookies": [
{
"name": "<string>",
"value": "<string>",
"domain": "<string>",
"url": "<string>",
"path": "<string>",
"secure": True,
"httpOnly": True,
"expires": 123
}
],
"authentication": {
"username": "<string>",
"password": "<string>"
},
"colorScheme": "<string>",
"timezone": "<string>"
},
"webhook": {
"url": "<string>",
"receiveType": "URL",
"method": "POST",
"headers": {},
"metadata": {}
},
"pdf": {
"scale": 1,
"displayHeaderFooter": False,
"headerHtml": "<string>",
"footerHtml": "<string>",
"printBackground": False,
"landscape": False,
"pageRanges": "1-5",
"format": "letter",
"width": "<string>",
"height": "<string>",
"preferCSSPageSize": False,
"margin": {
"top": "<string>",
"bottom": "<string>",
"left": "<string>",
"right": "<string>"
},
"omitBackground": False,
"outline": False,
"tagged": False
},
"storage": { "preSignedUrl": "<string>" }
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
page: {
url: '<string>',
html: '<string>',
htmlTemplate: '<string>',
templateData: {},
waitUntil: 'auto',
waitForMilliseconds: 2500,
waitForSelector: {selector: '<string>', options: {visible: false, hidden: false, timeout: 10000}},
waitForFunction: {
pageFunction: 'window.innerWidth < 100',
options: {polling: 'raf', timeout: 10000}
},
headers: {'x-foo': 'bar'},
adblock: true,
javascript: true,
cookies: [
{
name: '<string>',
value: '<string>',
domain: '<string>',
url: '<string>',
path: '<string>',
secure: true,
httpOnly: true,
expires: 123
}
],
authentication: {username: '<string>', password: '<string>'},
colorScheme: '<string>',
timezone: '<string>'
},
webhook: {url: '<string>', receiveType: 'URL', method: 'POST', headers: {}, metadata: {}},
pdf: {
scale: 1,
displayHeaderFooter: false,
headerHtml: '<string>',
footerHtml: '<string>',
printBackground: false,
landscape: false,
pageRanges: '1-5',
format: 'letter',
width: '<string>',
height: '<string>',
preferCSSPageSize: false,
margin: {top: '<string>', bottom: '<string>', left: '<string>', right: '<string>'},
omitBackground: false,
outline: false,
tagged: false
},
storage: {preSignedUrl: '<string>'}
})
};

fetch('https://api.doczilla.app/v1/pdf/async', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://api.doczilla.app/v1/pdf/async",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'page' => [
'url' => '<string>',
'html' => '<string>',
'htmlTemplate' => '<string>',
'templateData' => [

],
'waitUntil' => 'auto',
'waitForMilliseconds' => 2500,
'waitForSelector' => [
'selector' => '<string>',
'options' => [
'visible' => false,
'hidden' => false,
'timeout' => 10000
]
],
'waitForFunction' => [
'pageFunction' => 'window.innerWidth < 100',
'options' => [
'polling' => 'raf',
'timeout' => 10000
]
],
'headers' => [
'x-foo' => 'bar'
],
'adblock' => true,
'javascript' => true,
'cookies' => [
[
'name' => '<string>',
'value' => '<string>',
'domain' => '<string>',
'url' => '<string>',
'path' => '<string>',
'secure' => true,
'httpOnly' => true,
'expires' => 123
]
],
'authentication' => [
'username' => '<string>',
'password' => '<string>'
],
'colorScheme' => '<string>',
'timezone' => '<string>'
],
'webhook' => [
'url' => '<string>',
'receiveType' => 'URL',
'method' => 'POST',
'headers' => [

],
'metadata' => [

]
],
'pdf' => [
'scale' => 1,
'displayHeaderFooter' => false,
'headerHtml' => '<string>',
'footerHtml' => '<string>',
'printBackground' => false,
'landscape' => false,
'pageRanges' => '1-5',
'format' => 'letter',
'width' => '<string>',
'height' => '<string>',
'preferCSSPageSize' => false,
'margin' => [
'top' => '<string>',
'bottom' => '<string>',
'left' => '<string>',
'right' => '<string>'
],
'omitBackground' => false,
'outline' => false,
'tagged' => false
],
'storage' => [
'preSignedUrl' => '<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"strings"
"net/http"
"io"
)

func main() {

url := "https://api.doczilla.app/v1/pdf/async"

payload := strings.NewReader("{\n \"page\": {\n \"url\": \"<string>\",\n \"html\": \"<string>\",\n \"htmlTemplate\": \"<string>\",\n \"templateData\": {},\n \"waitUntil\": \"auto\",\n \"waitForMilliseconds\": 2500,\n \"waitForSelector\": {\n \"selector\": \"<string>\",\n \"options\": {\n \"visible\": false,\n \"hidden\": false,\n \"timeout\": 10000\n }\n },\n \"waitForFunction\": {\n \"pageFunction\": \"window.innerWidth < 100\",\n \"options\": {\n \"polling\": \"raf\",\n \"timeout\": 10000\n }\n },\n \"headers\": {\n \"x-foo\": \"bar\"\n },\n \"adblock\": true,\n \"javascript\": true,\n \"cookies\": [\n {\n \"name\": \"<string>\",\n \"value\": \"<string>\",\n \"domain\": \"<string>\",\n \"url\": \"<string>\",\n \"path\": \"<string>\",\n \"secure\": true,\n \"httpOnly\": true,\n \"expires\": 123\n }\n ],\n \"authentication\": {\n \"username\": \"<string>\",\n \"password\": \"<string>\"\n },\n \"colorScheme\": \"<string>\",\n \"timezone\": \"<string>\"\n },\n \"webhook\": {\n \"url\": \"<string>\",\n \"receiveType\": \"URL\",\n \"method\": \"POST\",\n \"headers\": {},\n \"metadata\": {}\n },\n \"pdf\": {\n \"scale\": 1,\n \"displayHeaderFooter\": false,\n \"headerHtml\": \"<string>\",\n \"footerHtml\": \"<string>\",\n \"printBackground\": false,\n \"landscape\": false,\n \"pageRanges\": \"1-5\",\n \"format\": \"letter\",\n \"width\": \"<string>\",\n \"height\": \"<string>\",\n \"preferCSSPageSize\": false,\n \"margin\": {\n \"top\": \"<string>\",\n \"bottom\": \"<string>\",\n \"left\": \"<string>\",\n \"right\": \"<string>\"\n },\n \"omitBackground\": false,\n \"outline\": false,\n \"tagged\": false\n },\n \"storage\": {\n \"preSignedUrl\": \"<string>\"\n }\n}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.post("https://api.doczilla.app/v1/pdf/async")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"page\": {\n \"url\": \"<string>\",\n \"html\": \"<string>\",\n \"htmlTemplate\": \"<string>\",\n \"templateData\": {},\n \"waitUntil\": \"auto\",\n \"waitForMilliseconds\": 2500,\n \"waitForSelector\": {\n \"selector\": \"<string>\",\n \"options\": {\n \"visible\": false,\n \"hidden\": false,\n \"timeout\": 10000\n }\n },\n \"waitForFunction\": {\n \"pageFunction\": \"window.innerWidth < 100\",\n \"options\": {\n \"polling\": \"raf\",\n \"timeout\": 10000\n }\n },\n \"headers\": {\n \"x-foo\": \"bar\"\n },\n \"adblock\": true,\n \"javascript\": true,\n \"cookies\": [\n {\n \"name\": \"<string>\",\n \"value\": \"<string>\",\n \"domain\": \"<string>\",\n \"url\": \"<string>\",\n \"path\": \"<string>\",\n \"secure\": true,\n \"httpOnly\": true,\n \"expires\": 123\n }\n ],\n \"authentication\": {\n \"username\": \"<string>\",\n \"password\": \"<string>\"\n },\n \"colorScheme\": \"<string>\",\n \"timezone\": \"<string>\"\n },\n \"webhook\": {\n \"url\": \"<string>\",\n \"receiveType\": \"URL\",\n \"method\": \"POST\",\n \"headers\": {},\n \"metadata\": {}\n },\n \"pdf\": {\n \"scale\": 1,\n \"displayHeaderFooter\": false,\n \"headerHtml\": \"<string>\",\n \"footerHtml\": \"<string>\",\n \"printBackground\": false,\n \"landscape\": false,\n \"pageRanges\": \"1-5\",\n \"format\": \"letter\",\n \"width\": \"<string>\",\n \"height\": \"<string>\",\n \"preferCSSPageSize\": false,\n \"margin\": {\n \"top\": \"<string>\",\n \"bottom\": \"<string>\",\n \"left\": \"<string>\",\n \"right\": \"<string>\"\n },\n \"omitBackground\": false,\n \"outline\": false,\n \"tagged\": false\n },\n \"storage\": {\n \"preSignedUrl\": \"<string>\"\n }\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.doczilla.app/v1/pdf/async")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"page\": {\n \"url\": \"<string>\",\n \"html\": \"<string>\",\n \"htmlTemplate\": \"<string>\",\n \"templateData\": {},\n \"waitUntil\": \"auto\",\n \"waitForMilliseconds\": 2500,\n \"waitForSelector\": {\n \"selector\": \"<string>\",\n \"options\": {\n \"visible\": false,\n \"hidden\": false,\n \"timeout\": 10000\n }\n },\n \"waitForFunction\": {\n \"pageFunction\": \"window.innerWidth < 100\",\n \"options\": {\n \"polling\": \"raf\",\n \"timeout\": 10000\n }\n },\n \"headers\": {\n \"x-foo\": \"bar\"\n },\n \"adblock\": true,\n \"javascript\": true,\n \"cookies\": [\n {\n \"name\": \"<string>\",\n \"value\": \"<string>\",\n \"domain\": \"<string>\",\n \"url\": \"<string>\",\n \"path\": \"<string>\",\n \"secure\": true,\n \"httpOnly\": true,\n \"expires\": 123\n }\n ],\n \"authentication\": {\n \"username\": \"<string>\",\n \"password\": \"<string>\"\n },\n \"colorScheme\": \"<string>\",\n \"timezone\": \"<string>\"\n },\n \"webhook\": {\n \"url\": \"<string>\",\n \"receiveType\": \"URL\",\n \"method\": \"POST\",\n \"headers\": {},\n \"metadata\": {}\n },\n \"pdf\": {\n \"scale\": 1,\n \"displayHeaderFooter\": false,\n \"headerHtml\": \"<string>\",\n \"footerHtml\": \"<string>\",\n \"printBackground\": false,\n \"landscape\": false,\n \"pageRanges\": \"1-5\",\n \"format\": \"letter\",\n \"width\": \"<string>\",\n \"height\": \"<string>\",\n \"preferCSSPageSize\": false,\n \"margin\": {\n \"top\": \"<string>\",\n \"bottom\": \"<string>\",\n \"left\": \"<string>\",\n \"right\": \"<string>\"\n },\n \"omitBackground\": false,\n \"outline\": false,\n \"tagged\": false\n },\n \"storage\": {\n \"preSignedUrl\": \"<string>\"\n }\n}"

response = http.request(request)
puts response.read_body
{
  "id": "5KqYNUjbxRJ-rKbIeGsXo",
  "status": "PENDING"
}
{
"message": "Validations failed!",
"code": "api.validation",
"fields": {
"page.url": "must be a URL address"
}
}
{
"message": "Unauthorized"
}
{
"message": "Reached subscription limit!"
}
{
"message": "Token has no active subscription!"
}
{
"message": "Request body is too large"
}
{
"message": "Too Many Requests!"
}
{
"message": "Internal server error"
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
page
object
required

Page options, either provide the url, html or htmlTemplate option.

webhook
object
required

Webhook to call when screenshot is generated.

pdf
object | null
storage
object | null

Response

id
string
required

Id of the queued job.

Example:

"5KqYNUjbxRJ-rKbIeGsXo"

status
enum<string>
required

Status of the job.

Available options:
PENDING,
RUNNING,
FAILED,
COMPLETED
Example:

"PENDING"