Metadata
Read the document properties of PDFs as JSON, or set title, author, keywords and other properties.
Read
POST https://api.pdfdispatch.com/v1/pdf/metadata/read
| Field | Type | Default | What it does |
|---|---|---|---|
files required | file(s) | – | One or more PDFs. Each is handled on its own; several come back as a ZIP. |
The answer is JSON: one object per file, by file name.
curl --fail-with-body \
--header "Authorization: Bearer $PDD_KEY" \
--form files=@offer.pdf \
https://api.pdfdispatch.com/v1/pdf/metadata/read
{
"offer.pdf": {
"Author": "Acme d.o.o.",
"CreateDate": "2026:10:26 18:38:24+00:00",
"Creator": "Mozilla/5.0 (X11; Linux x86_64) ... HeadlessChrome/156.0.0.0 Safari/537.36",
"FileType": "PDF",
"Keywords": ["offer", "web"],
"MIMEType": "application/pdf",
"ModifyDate": "2026:10:26 18:38:24+00:00",
"PDFVersion": 1.4,
"PageCount": 6,
"Producer": "Skia/PDF m156",
"Subject": "Website redesign",
"Title": "Offer 2026-118"
}
}
The keys depend on what is in the file (this one was made from HTML and then given its title, author, subject and keywords with the write route below). A read does not work with a webhook: there is no file to send.
Write
POST https://api.pdfdispatch.com/v1/pdf/metadata/write
| Field | Type | Default | What it does |
|---|---|---|---|
files required | file(s) | – | The PDFs to change. |
metadata required | JSON object | – | The properties to set, for example {"Title": "Offer 2026-118", "Author": "Acme d.o.o.", "Keywords": ["offer", "2026"]}. |
curl --fail-with-body \
--header "Authorization: Bearer $PDD_KEY" \
--form files=@offer.pdf \
--form 'metadata={"Title": "Offer 2026-118", "Author": "Acme d.o.o.", "Subject": "Website redesign", "Keywords": ["offer", "web"]}' \
--output offer.pdf \
https://api.pdfdispatch.com/v1/pdf/metadata/write
Keys are tag names as ExifTool knows them. The usual ones are Title, Author, Subject, Keywords, Creator,
Producer, CreationDate, ModDate and Trapped; XMP tags work with a group prefix, such as XMP-dc:Rights.
Values are strings, numbers, booleans, or a list of strings for tags that take several. Dates are written as
2026:10:26 09:00:00+01:00.
The metadata field works on every conversion route too, so a new PDF can get its
title and author straight away. The HTML, URL and Markdown routes take the title from the page’s <title> by themselves.