Get Metadata

Purpose

This API allows you to retrieve metadata and structural properties of a PDF document.

Quick Reference

PropertyValue
MethodPOST
Request URL (Download)https://{zohoapis_domain}/pdfeditor/api/v1/pdf/metadata/get
Request URL (Callback)https://{zohoapis_domain}/pdfeditor/api/v1/pdf/metadata/get/callback

Body Parameters

ParameterValueMandatory/OptionalDescription
fileFile or StringMandatoryUpload the PDF file from your local drive or desktop. If the PDF file is available via a publicly accessible web URL, you can provide the URL using the same parameter.
input_options{
  "properties": ["page_count", "title", "author", "pdf_version"]
}
OptionalSpecify the property keys to retrieve. If omitted, all supported properties are returned.
passwordStringOptionalIf the input PDF is password protected, specify the password to unlock it.
callback{
  "invoke_url": "<callback_url>",
  "timeout": 60,
  "retry_interval": 60,
  "headers": {
    "header_name": "header_value"
  },
  "http_method_type": "post"
}
Mandatory for callback variantSpecify the callback delivery configuration for the /callback variant.

input_options Parameters

ParameterData TypePossible ValuesDefault Value
propertiesJSON ArrayList of supported property keys. See Supported Property Keys.All supported properties

Supported Property Keys

ParameterData TypePossible ValuesDefault Value
page_countIntegerTotal number of pages in the PDF
titleStringDocument titleEmpty string if not set
authorStringDocument authorEmpty string if not set
subjectStringDocument subjectEmpty string if not set
keywordsStringDocument keywordsEmpty string if not set
creatorStringApplication that created the document
producerStringPDF producer or generator
creation_dateStringDocument creation timestamp
modification_dateStringLast modification timestamp
trappedStringTrue, False, UnknownEmpty string if not set
is_encryptedBooleantrue, false
pdf_versionFloatPDF specification version such as 1.7
file_sizeIntegerSize of the input PDF in bytes
linearizedBooleantrue, false
taggedBooleantrue, false
form_typeStringnone, acroform, xfa, hybrid
permissionsJSON ObjectPermission flags for encrypted PDFs
pagesArrayPer-page dimensions and rotation details
attachment_countIntegerNumber of embedded attachments
attachment_namesArrayFilenames of embedded attachments

callback Parameters

ParameterData TypePossible ValuesDefault Value
invoke_urlStringURL. Maximum length: 300 characters.
timeoutInteger10 to 120 seconds60 seconds
retry_intervalInteger60 to 28800 seconds60 seconds
headersJSON ObjectMaximum 10 keys. Allowed characters for keys: alphabets, numbers, hyphen, underscore, dot. Maximum key length: 100. Maximum value length: 2500.
http_method_typeStringput, postpost

Notes and Limits

  • The maximum file size allowed for the input PDF is 50 MB.
  • If properties is omitted, all supported properties are returned.
  • Unsupported keys in properties result in an error.
  • To use this API, an OAuth token should be generated with the following scopes: ZohoWriter.pdfEditor.ALL

Possible Errors

Refer to the following pages for the list of possible errors for this API:

Download Variant Sample Request

Copiedcurl --location --request POST "https://{zohoapis_domain}/pdfeditor/api/v1/pdf/metadata/get" \
  --header "Authorization: Zoho-oauthtoken xxx.yyy.zzz" \
  --form 'file=@/Users/username/Documents/Original.pdf' \
  --form 'password="pdf_password"' \
  --form 'input_options={"properties": ["page_count", "title", "author", "pdf_version", "pages", "is_encrypted", "attachment_count", "trapped", "file_size", "linearized", "tagged", "form_type", "permissions"]}'

Callback Variant Sample Request

Copiedcurl --location --request POST "https://{zohoapis_domain}/pdfeditor/api/v1/pdf/metadata/get/callback" \
  --header "Authorization: Zoho-oauthtoken xxx.yyy.zzz" \
  --form 'file=@/Users/username/Documents/Original.pdf' \
  --form 'password="pdf_password"' \
  --form 'input_options={"properties": ["page_count", "title", "author", "pdf_version", "pages", "is_encrypted", "attachment_count", "trapped", "file_size", "linearized", "tagged", "form_type", "permissions"]}' \
  --form 'callback={"invoke_url": "https://www.example.com/v1/api/callback/savecallback", "timeout": 120, "retry_interval": 60, "http_method_type": "post"}'

Download Variant Sample Response

Copied{
  "status": "inprogress",
  "status_check_url": "https://pdf.zoho.com/pdfeditor/api/v1/pdf/metadata/get/job/e9051e30fd7f0093cba4247d1f831e03e945a127bde429ed6e9ef3a703b15a6060b830256c650cb88a3f687773c33076"
}

Download Variant Success Response

Copied{
  "status": "success",
  "download_url": "https://pdf.zoho.com/pdfeditor/api/v1/pdf/metadata/get/download/properties_a7d4c9f2e1b6a3d8f5c2e7b0a9d4c1f6.json",
  "response_generated_time": 1780912499331
}

Callback Variant Sample Response

Copied{
  "status": "inprogress",
  "status_check_url": "https://pdf.zoho.com/pdfeditor/api/v1/pdf/metadata/get/job/1d358192770dc68d173ca34b8f7c9dcb121ad0bf3d6307b7387be79e76dacf586f9d62cd253c26020f8c3dcf79d51b6b"
}

Callback Variant Success Response

Copied{
  "status": "success",
  "callback_response": {
    "invoked_time": 1780912655806,
    "http_status_code": 200,
    "message": {
      "download_url": "https://pdf.zoho.com/pdfeditor/api/v1/pdf/metadata/get/download/properties_a7d4c9f2e1b6a3d8f5c2e7b0a9d4c1f6.json",
      "response_generated_time": 1780912656237
    }
  }
}