The Watermark PDF API
for developers
DRAFT, CONFIDENTIAL, or the recipient's name on every page.
One REST call generates the PDF with the watermark built in. Change the text, opacity and rotation per document, or hide it for the final version.
Trusted by teams at



{ "template": TEMPLATE_ID, "format": "pdf", "layers": { "client": { "text": "Acme Corp" }, "watermark": { "text": "DRAFT", "color": "#DC2626", "opacity": 0.18, "rotation": -35 } }}{ "template": TEMPLATE_ID, "format": "pdf", "layers": { "client": { "text": "Globex Inc." }, "watermark": { "text": "CONFIDENTIAL", "color": "#111827", "opacity": 0.14, "rotation": -35 } }}{ "template": TEMPLATE_ID, "format": "pdf", "layers": { "client": { "text": "Initech" }, "watermark": { "text": "Prepared for jane@initech.com", "color": "#2563EB", "opacity": 0.22, "rotation": -30 } }}Service Agreement
Acme Corp
How the Watermark PDF API works
Step 1: Create your account
Sign up with your email or Google account. You get 50 free API credits, no credit card required.
Step 2: Design the document with a watermark layer
Build your contract, certificate or report in the drag and drop editor, or import an existing PDF or Canva design.
Add a text or image layer named watermark, place it diagonally across the page, and set a default opacity. That layer is what your API calls control.
Step 3: Render watermarked PDFs from your code
Call POST /v1/render with "format": "pdf" and the watermark text for this document. The response includes a URL to the finished PDF.
Need the clean version later? Render again with "hide": true on the watermark layer. Full parameters are in the render API docs.
REST examples
Add a watermark to a PDF via API
One endpoint, any language. Replace TEMPLATE_ID with your template and set TEMPLATED_API_KEY from your dashboard.
Stamp a diagonal DRAFT watermark on a contract.
curl -X POST https://api.templated.io/v1/render \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $TEMPLATED_API_KEY" \ -d '{ "template": "TEMPLATE_ID", "format": "pdf", "layers": { "client": { "text": "Acme Corp" }, "watermark": { "text": "DRAFT", "opacity": 0.18, "rotation": -35 } } }'Response
{ "id": "ce424057-6b54-41bb-afec-adc35a2b9175", "url": "https://cdn.templated.media/render/ce424057-6b54-41bb-afec-adc35a2b9175.pdf", "format": "pdf", "templateId": "1f1231-dasd123-fsdf12312-fds4123-asdas23", "templateName": "Service Agreement", "createdAt": "2026-10-12 09:30:58", "externalId": "contract-1042"}Final version, no watermark
"layers": { "watermark": { "hide": true }}Same template, same data, one flag. The signed contract or paid certificate renders clean, so you never maintain a second design.
Parameters
Every watermark setting, per request
Override these on your watermark layer in each call. In multi-page templates, layers applies to every page that has a layer with that name, so one key stamps the whole document.
Watermark layer properties
- text string
- The watermark wording: DRAFT, CONFIDENTIAL, PAID, or a recipient name and email.
- image_url string
- A logo or stamp image, when the watermark layer is an image instead of text.
- opacity double
- From 0 to 1. Values between 0.1 and 0.25 read as a watermark without hiding the content.
- rotation integer
- Angle in degrees. -30 to -45 gives the classic diagonal stamp.
- color string
- Hex color of the watermark text, e.g. "#DC2626".
- font_size string
- CSS size like "96px" to scale the watermark per document.
- hide boolean
- Set to true to render the final, signed or paid version without the watermark.
Render options
- format string
- Set to "pdf". The same template also renders PNG, JPG or WebP previews.
- flatten boolean
- Flattens transparency into the page for print-ready files.
- merge boolean
- Merges every page of a multi-page template into one PDF.
- async + webhook_url boolean + string
- Queue the render and receive the finished file at your endpoint. Use it for batches.
- external_id string
- Your contract, order or user ID, so each watermarked PDF maps back to your records.
Use cases
Watermarks your product can issue automatically
If your system knows the status of a document, it can stamp it. These are the common setups.
DRAFT on every page while the deal is in negotiation. When the contract is signed, render it again with the watermark hidden.
SAMPLE or SPECIMEN on previews, a clean file after payment or approval. Pairs with the Certificate Generator API.
CONFIDENTIAL plus the recipient email on board packs, due diligence files and investor updates, so a leaked copy points to its source.
FOR REVIEW with the version number and date on documents that go through sign-off, so nobody prints an outdated draft.
PAID, OVERDUE or COPY stamps driven by billing status. See how teams automate invoice PDFs.
"Licensed to" the buyer on every page of a guide, workbook or course handout, generated at checkout.
Batch
Watermark a whole batch without blocking
Loop over your records and send each render with "async": true and a webhook_url. Templated queues the work and posts every finished PDF back to your app, tagged with your external_id.
Drafts get the watermark, signed documents get hide: true, and the decision lives in your code, not in a second template.
No code? Upload a CSV or Excel file with the spreadsheet integration, or connect Zapier, Make or n8n.
const contracts = await db.contracts.findMany({ where: { sentAt: null } });
for (const contract of contracts) { await fetch('https://api.templated.io/v1/render', { method: 'POST', headers: { 'Content-Type': 'application/json', Authorization: `Bearer ${process.env.TEMPLATED_API_KEY}`, }, body: JSON.stringify({ template: 'TEMPLATE_ID', format: 'pdf', async: true, external_id: contract.id, webhook_url: 'https://yourapp.com/hooks/templated', layers: { client: { text: contract.clientName }, watermark: contract.signed ? { hide: true } : { text: 'DRAFT', opacity: 0.18, rotation: -35 }, }, }), });}Powerful Editor. Dynamic Templates.
Create stunning, professional designs in minutes.
Just drag, drop, resize, and customize.
Real-time Canvas Editor
What you see is what you get.
See your changes instantly as you make them.
Pre-designed Professional Templates
Browse our Template Gallery and customize ready-made designs in minutes.
Design with AI
Use our AI Template Generator to quick-start your own templates.
Import from 
Import your templates from Canva and customize them in our editor.
White Label Editor
Embed our Editor to your site or app and let your users create and customize their own designs directly on your platform.
Compare
Watermark API vs. PDF libraries, answered honestly
| Templated API | Local library pdf-lib, pypdf, iText | Free online tool | |
|---|---|---|---|
| Best for | Documents you generate | PDFs you already have | One-off files |
| Watermark design | Visual editor, any font or logo | Coordinates and fonts in code | Text or image, basic placement |
| Per-recipient text | One JSON field | You write it | Manual, file by file |
| Infrastructure | None, hosted with CDN URLs | Your servers, workers and fonts | None, runs in your browser |
| Batch | Async renders and webhooks | Your own queue | No |
| Stamp arbitrary existing PDFs | No* | Yes | Yes |
| Cost | 1 credit per PDF page | Free library + your time (iText is AGPL or paid) | Free |
*Import a PDF layout into the editor once to turn it into a reusable template.
Part of the PDF Generator API
Watermarks are one layer. The PDF is yours.
The watermark rides on the same render that fills in names, dates, images, QR codes and signatures. Invoices, certificates, reports and contracts all come out of one API with multi-page output, CMYK for print and webhook delivery.
Explore the PDF Generator APIPricing
Pay per page, not per watermark
The watermark costs nothing extra. A 3-page watermarked contract uses 3 credits.
See plansFAQ
Frequently asked questions
Can I add a watermark to a PDF via API?
Yes. Add a text or image layer named watermark to your Templated template, then call POST /v1/render with format "pdf" and the watermark text, opacity and rotation you want. The API returns a URL to the watermarked PDF.
Can I watermark PDFs I already have?
Templated generates the PDF and the watermark together from a template. To reuse an existing layout, import the PDF into the editor once and render from it. For stamping arbitrary files you did not generate, use a local library, or the free Watermark PDF tool for one-off files.
Can each recipient get a different watermark?
Yes. Pass the recipient name, email or order ID as the watermark text in each render request. Per-recipient watermarks make leaked copies traceable without extra tooling.
How do I remove the watermark for the final version?
Render again with "hide": true on the watermark layer. The same template and data produce the clean version, so draft and final never drift apart.
Can I use a logo as a watermark?
Yes. Make the watermark an image layer and pass image_url with your logo or stamp. Set opacity between 0.1 and 0.25 so the content stays readable.
Can recipients remove the watermark?
The watermark is drawn into the page content, not added as an annotation or an optional layer, so it cannot be switched off in a PDF viewer. As with any watermark, someone with a PDF editor can still edit page content, so pair it with per-recipient text for traceability.
How do I watermark PDFs in bulk?
Send one render per document with "async": true and a webhook_url, and each PDF posts back to your app when it is ready. Without code, upload a CSV through the spreadsheet integration.
Which languages are supported?
Any language that can send an HTTPS request. This page shows cURL, Node.js and Python, and the render API docs add Java and PHP examples.
How much does the Watermark PDF API cost?
Each PDF page uses one credit, and the watermark adds nothing. New accounts get 50 free credits with no credit card. See the plans.
What our customers say
People love how great our product works and how we're always there to help
"Brilliant piece of software. Reasonably priced (vs Canva's outrageously expensive API), and despite a few intricacies with the editor, a really fully-featured document generation API. Really great support too from Pedro, the founder!"
"Great customer service. Templated is a great tool and easy to work with, and their API just makes sense. It's fast, and great for automating visuals. What really stands out is their customer service quick replies, actually helpful, and clearly invested in their users. Smart product, built right."
"Life-saving and incredibly intuitive! This app is absolutely phenomenal! It literally saved my life and my automations on MAKE. The idea behind it is brilliant, and the execution is flawless. It's extremely intuitive, making it super easy to work with, even for those who aren't tech experts. The user-friendly interface and seamless functionality make automation effortless. I highly recommend it to anyone looking for a reliable and efficient solution!"
"Great time to value. It's simple to use, it does what it says on the tin, not obscure pricing or documentation - everything is as you expect it, and they have great customer service!"
"After comparing several similar options, I ultimately chose Templated. I'm really enjoying its ease of use and impressive performance!"
"I love it. Great. I use it for a business purposes and works very well with make.com."
"Templated is a game-changing innovation in programmatic design! So many use cases here, this a better option than Canva because they make their API private to enterprise customers only. Can't to see what the future has in store for this amazing company."
"Great Customer service. A cool guy name Pedro start the conversation with me, as first I though It was an bot so I chat with him in my first language and took a moment for me to realise he is a real person (LOL), shout to them for taking their client even small issue!"
"This is a clever idea, especially in concert with programmatic (AI-generated) SEO."
"The editor is easy to use, very similar to Canva and the API is simple enough to integrate on the backend."
"I have so many ideas running through my head right now of use cases I can do with your API using Bubble.io."
"The possibilities with Templated are endless. The templates are super easy to set up and incredibly versatile. I plan to use this for various solutions in my own apps as well as my clients' apps in the future."
Ship watermarked PDFs this sprint
Your first watermarked PDF is five minutes away. Start free with 50 API credits