Find and Replace Text in PDF
Finds text matches in a PDF and replaces them, optionally within the PDF's bookmark titles and comment annotations as well, and makes the modified PDF available for download.
Endpoint
OAuth Scope
curl --request POST \
--url https://www.zohoapis.com/pdfeditor/api/v1/pdf/content/replace \
--header 'Authorization: Zoho-oauthtoken d92d4xxxxxxxxxxxxx15f52' \
--header 'content-type: multipart/form-data' \
-F 'file=@file_path' \
-F 'input_options={
"replacements": [
{
"find": "Q3 Revenue",
"replace": "Q4 Revenue"
}
],
"case_sensitive": true,
"whole_word": false,
"include_bookmarks": false,
"include_comments": false
}' \
-F 'password=SecurePass$2024'Request Body
multipart/form-dataThe PDF to search and replace text within, uploaded directly or imported from a publicly accessible URL. The file must be no larger than 50 MB, contain no more than 400 pages, and have no page larger than 2,400 square inches. Its filename must not exceed 255 characters. Supported formats: pdf.
Configures the find-and-replace behavior applied to the PDF.
{
"replacements": [
{
"find": "Q3 Revenue",
"replace": "Q4 Revenue"
}
],
"case_sensitive": true,
"whole_word": false,
"include_bookmarks": false,
"include_comments": false
}Show Sub-Attributes
One or more find-and-replace pairs to apply to the PDF's text.
[
{
"find": "Q3 Revenue",
"replace": "Q4 Revenue"
}
]Show Sub-Attributes
The text to search for in the PDF.
The text that replaces each match of find. If the same find value appears in more than one entry, the last matching entry's replace value is used.
Whether text matching is case-sensitive.
Restricts matches to whole-word boundaries instead of matching within larger words.
Also replaces matching text inside the PDF's bookmark titles.
Also replaces matching text inside comment and markup annotations.
The password to unlock the source PDF, if it is password-protected. The modified PDF keeps the same password.
// Note: payload contains multiple type attributes
// type: file
file = quarterly-report.pdf
// type: object
input_options = {
"replacements": [
{
"find": "Q3 Revenue",
"replace": "Q4 Revenue"
}
],
"case_sensitive": true,
"whole_word": false,
"include_bookmarks": false,
"include_comments": false
}
// type: string
password = SecurePass$2024 {
"status": "inprogress",
"status_check_url": "https://www.zohoapis.com/pdfeditor/api/v1/pdf/content/replace/job/9a3e7d1c6f4b82ea0d5c3f917b6a4d28e5c0f1a9b7d3e6c2a8f04b1d9e7c3a5f"
}
Rate Limits
Duration - Time window for the threshold.
Threshold - Number of API calls allowed within the specified duration.
Lock Period - Wait time before consecutive API requests.
© 2026, Zoho Corporation Pvt. Ltd. All Rights Reserved.