Apply Watermark on PDF

100 atoms
Base tier


This API lets you to add watermark to your existing PDF file without the need of any additional software. You can provide the text or png image which can be set as watermark to this utility and additionally, you can also control the watermark size and opacity of the watermark.
Using this utility, you can automate the process of adding watermark to multiple PDF files, which can save time and effort compared to doing it manually. Using an API to add watermark to PDF files can offers other benefits also such as consistency, customization, error reduction, scalability, and integration with other applications or services. This can save time, reduce errors, and provide flexibility for branding and adding context to documents.
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
Endpoint Selector

API Playground


input file: output file

Request example

curl --location --request POST '' \
--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 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 workspace settings (on the left side of the navbar) and go to applications.
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.