Apply Watermark on PDF API

100 atoms
Base tier


This API lets you add a watermark to your existing PDF files.
The API accepts text or PNG images which can be set as watermarks. Additionally, the watermark size and opacity can be adjusted offering more flexibility. Designed for developers and businesses, this API ensures a streamlined process for enhancing document security and branding. With easy integration, efficiently apply watermarks to PDFs for a professional and customized touch, ideal for content protection and corporate identity.
Try out the PDF Watermark API in the API playground for free, improve your workflow, and reduce watermarking errors through a simple API call.
Currently we support more than 50 languages for text in this utility.
Supported Languages: Esperanto, English, Russian, Mandarin, Spanish, Portuguese, Italian, Bengali, French, German, Ukrainian, Georgian, Arabic, Hindi, Japanese, Hebrew, Yiddish, Polish, Javanese, Korean, Bokmal, Danish, Swedish, Finnish, Turkish, Dutch, Hungarian, Czech, Greek, Bulgarian, Belarusian, Marathi, Kannada, Romanian, Slovene, Croatian, Serbian, Macedonian, Lithuanian, Latvian, Estonian, Tamil, Vietnamese, Urdu, Thai, Gujarati, Uzbek, Punjabi, Azerbaijani, Indonesian, Telugu, Malayalam, Hausa, Oriya, Burmese, Bhojpuri, Maithili, Oromo, Kurdish, Malagasy, Saraiki, Nepali, Sinhalese, Khmer, Turkmen, Somali, Akan, Zulu, Haitian Creole, Africaans
Select API Endpoints

API Playground

API Documentation

input file: output file

Request example

curl --location --request POST 'https://api.apyhub.com/stamp/pdf/watermark/file?output=test-sample' \
--header 'apy-token: {{token}}' \
--form 'file= @"sample.pdf"'
--form 'watermark_text= "ApyHub"'
Method: POST
Content Type: multipart/form-data
Query Parameter(s)
outputStringNoThe name of the output file, defaults to test-sample.pdf
Request Body
fileFileYesThe source pdf file
watermark_textStringYes (if watermark_image not given)The text which you want to add as watermark. If watermark_text and watermark_image both are given then watermark_text will be applied.
watermark_opacityFloatNoThe level of transperancy you want to keep from 0 to 0.5, defaults to 0.3
watermark_font_sizeNumberNoThe font size of watermark text, defaults to 32, minimum watermark_font_size which user can provide is 8
watermark_angleNumberNoThe degree at which you want to set watermark text, defaults to 0
watermark_imageFileYes (if watermark_text not given)The png image file which you want to add as watermark. If watermark_text and watermark_image both are given then watermark_text will be applied.
watermark_image_sizeFloatNoThe size of the image watermark you want to set from 0.1 to 1, defaults to 0.3
Sample Response
A successful request returns the pdf file in the output parameter specified. If the request fails, the response contains an error code and a message to help determine what went wrong.

HTTP Response Codes

The method may return one of the following HTTP status codes:
Status CodeDescription
200The request was successful.
400Invalid input - the pdf file is corrupt or the supported inputs are not provided.
401Required authentication information is either missing or not valid for the resource.
500If any unexpected error occurs while processing the request.


All API requests to ApyHub services need to be authenticated. Currently we support tokens or basic authentication mechanisms. You can generate and view your existing credentials from your workspace settings (on the left side of the navbar) and go to “API Keys".
Points to note:
  • Credential secrets are generated on the fly and are not stored in plain text, so on generating a credential please save the secrets somewhere safe.
  • Use the apy-token as the header parameter to pass the token.
  • Use the Authorization header to send the basic authentication credentials.

Error codes

"error": {
"code": 105,
"message": "Invalid URL"
To search for a specific error code, enter the code in the search box below. Alternatively, you can click on the button to view a complete list of all error codes.