{ "openapi": "3.0.1", "info": { "title": "ConvertAPI", "description": "# High-Performance File Conversion API\nConvert Word, Excel, PowerPoint, HTML, PDF and Image formats with our powerful file conversion service.\nWe support more than [200 file types.]( https://www.convertapi.com/doc/file-formats)", "termsOfService": "https://www.convertapi.com/terms", "contact": { "url": "https://www.convertapi.com/support", "email": "support@convertapi.com" }, "license": { "name": "Apache 2.0", "url": "http://www.apache.org/licenses/LICENSE-2.0.html" }, "version": "v2" }, "servers": [ { "url": "https://v2.convertapi.com" }, { "url": "https://eu-v2.convertapi.com" }, { "url": "https://uk-v2.convertapi.com" }, { "url": "https://us-v2.convertapi.com" }, { "url": "https://ca-v2.convertapi.com" }, { "url": "https://as-v2.convertapi.com" }, { "url": "https://au-v2.convertapi.com" } ], "paths": { "/convert/pdf/to/ocr": { "summary": "PDF OCR API", "description": "Convert scanned PDFs to searchable, editable documents with OCR language selection, recognition modes, and page range control.", "post": { "tags": [ "Conversion" ], "externalDocs": { "description": "Read more about the converter", "url": "https://www.convertapi.com/pdf-to-ocr" }, "requestBody": { "content": { "multipart/form-data": { "schema": { "required": [ "File" ], "type": "object", "properties": { "StoreFile": { "type": "boolean", "description": "When the `StoreFile` parameter is set to `True`, your converted file is written to ConvertAPI’s encrypted, temporary storage and made available via a time-limited secure download URL, valid for up to 3 hours. After this period, the file is permanently deleted.\r\n\r\nWhen `StoreFile` is set to `False`, conversion happens entirely in-memory. The raw file bytes are streamed back in the API response without touching disk or external storage, ensuring maximum security and zero persistence so that only you can access the content.\r\n", "default": false, "x-ca-featured": false, "x-ca-label": "Store file", "x-ca-group": "Output", "x-ca-type": "Bool", "x-ca-representation": "Default" }, "File": { "type": "string", "description": "File to be converted. Value can be URL or file content.", "format": "binary", "x-ca-featured": true, "x-ca-label": "File", "x-ca-group": "Input", "x-ca-type": "File", "x-ca-representation": "Default", "x-ca-allowed-extensions": [ "pdf" ] }, "FileName": { "type": "string", "description": "The `FileName` property defines the name of the output file(s) generated by the file conversion API, ensuring safe and\r\nunique file naming. It sanitizes input filenames to remove potentially harmful characters, automatically appends the\r\ncorrect file extension based on the target format, and includes an indexing feature to distinguish multiple output files\r\nfrom a single input. For example, converting `report.docx` to PDF format might result in `report.pdf` for a single file,\r\nor `report_0.pdf`, `report_1.pdf` for multiple files, ensuring each output file is uniquely identifiable.", "x-ca-featured": false, "x-ca-label": "Output file name", "x-ca-group": "Output", "x-ca-type": "String", "x-ca-representation": "Default", "x-ca-range": { "from": "1", "to": "200" } }, "Timeout": { "maximum": 1200, "minimum": 10, "type": "integer", "description": "Conversion timeout in seconds.", "default": 600, "x-ca-featured": false, "x-ca-label": "Timeout", "x-ca-group": "Execution", "x-ca-type": "Integer", "x-ca-representation": "Default", "x-ca-range": { "from": "10", "to": "1200" } }, "Password": { "type": "string", "description": "Sets the password to open protected documents.", "x-ca-featured": false, "x-ca-label": "Open Password", "x-ca-group": "Document", "x-ca-type": "String", "x-ca-representation": "Default" }, "PageRange": { "type": "string", "description": "Set page range. Example 1-10 or 1,2,5.", "default": "1-2000", "x-ca-featured": false, "x-ca-label": "Page Range", "x-ca-group": "Document", "x-ca-type": "String", "x-ca-representation": "Default", "x-ca-range": { "from": "1", "to": "2000" } }, "OcrMode": { "enum": [ "auto", "always", "reprocess" ], "type": "string", "description": "The `OcrMode` setting controls how OCR is applied to PDF pages. In `Auto` mode, pages that already contain text are skipped, so OCR runs only where needed. In `Always` mode, OCR is applied to every page, keeping existing text while adding recognition for images and other visual content. In `Reprocess` mode, OCR is performed on the whole page, producing a fresh text layer regardless of what was there before.", "default": "auto", "x-ca-featured": false, "x-ca-label": "OCR Mode", "x-ca-group": "OCR", "x-ca-type": "Collection", "x-ca-representation": "Dropdown", "x-ca-values": { "auto": "Auto", "always": "Always", "reprocess": "Reprocess" } }, "OcrLanguage": { "enum": [ "ar", "ca", "zh-cn", "zh-tw", "da", "nl", "en", "fi", "fa", "de", "el", "he", "it", "ja", "ko", "lt", "no", "pl", "pt", "ro", "ru", "sl", "es", "sv", "tr", "ua", "th" ], "type": "string", "description": "Set the OCR language. Ask support to add your language if missing.", "default": "en", "x-ca-featured": false, "x-ca-label": "OCR Language", "x-ca-group": "OCR", "x-ca-type": "Collection", "x-ca-representation": "Dropdown", "x-ca-values": { "ar": "Arabic", "ca": "Catalan", "zh-cn": "Chinese Simplified", "zh-tw": "Chinese Traditional", "da": "Danish", "nl": "Dutch", "en": "English", "fi": "Finnish", "fa": "French", "de": "German", "el": "Greek", "he": "Hebrew", "it": "Italian", "ja": "Japanese", "ko": "Korean", "lt": "Lithuanian", "no": "Norwegian", "pl": "Polish", "pt": "Portuguese", "ro": "Romanian", "ru": "Russian", "sl": "Slovenian", "es": "Spanish", "sv": "Swedish", "tr": "Turkish", "ua": "Ukrainian", "th": "Thai" } }, "OutputType": { "enum": [ "pdf", "txt" ], "type": "string", "description": "This property is used to determine how the OCR layer should be returned. If the output type is PDF, the OCR layer will be embedded into the PDF file. Alternatively, if a text output is selected, the OCR layer will be returned as a text file.", "default": "pdf", "x-ca-featured": false, "x-ca-label": "Output Type", "x-ca-group": "Output", "x-ca-type": "Collection", "x-ca-representation": "Dropdown", "x-ca-values": { "pdf": "PDF file", "txt": "Text file" } }, "PageSegmentationMode": { "enum": [ "sparseText", "sparseTextOsd", "auto", "autoOsd", "singleLine", "singleColumn", "singleWord" ], "type": "string", "description": "The **PageSegmentationMode** parameter specifies how the OCR engine segments and interprets text within PDF documents. Choosing the appropriate mode enhances OCR accuracy by aligning closely with your document's layout and structure.\r\n\r\nSelect one of the available modes to control text detection and layout analysis:\r\n- **SparseText** - Detects as much text as possible without enforcing any specific order. Suitable for documents containing scattered or fragmented text.\r\n- **SparseTextOsd** - Similar to SparseText, but also includes orientation and script detection (OSD). Useful for documents with rotated text or multiple scripts and languages.\r\n- **Auto** - Automatically selects the best segmentation mode based on document content. Ideal for general documents with mixed or unknown layouts.\r\n- **AutoOsd** - Combines automatic segmentation with orientation and script detection. Recommended for documents with uncertain text orientation or multilingual content.\r\n- **SingleColumn** - Assumes a single column of text with varying text sizes. Best suited for straightforward layouts.\r\n- **SingleLine** - Treats the entire image as a single line of text. Useful for single-line labels, banners, or narrow text snippets.\r\n- **SingleWord** - Treats the entire image as a single word. Ideal for recognizing isolated words or short phrases.", "default": "sparseText", "x-ca-featured": false, "x-ca-label": "Page Segmentation Mode", "x-ca-group": "OCR", "x-ca-type": "Collection", "x-ca-representation": "Dropdown", "x-ca-values": { "sparseText": "Sparse Text", "sparseTextOsd": "Sparse Text Osd", "auto": "Auto", "autoOsd": "Auto Osd", "singleLine": "Single Line", "singleColumn": "Single Column", "singleWord": "Single Word" } } } } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "ConversionCost": { "type": "integer", "description": "This amount will be deducted from your balance after the conversion.", "format": "int32", "example": 1 }, "Files": { "type": "array", "items": { "type": "object", "properties": { "FileName": { "type": "string", "description": "Name of the converted file.", "example": "myfile.pdf" }, "FileExt": { "type": "string", "description": "File type (file name extension)", "example": "pdf" }, "FileSize": { "type": "integer", "description": "File size", "format": "int32", "example": 111955 }, "FileId": { "type": "string", "description": "File ID", "example": "25811safe8e61dd3f51ef00ee5f58b92" }, "Url": { "type": "string", "description": "File URL", "example": "https://v2.convertapi.com/d/v01plsb72o0cmdooq90w4d1lnqsf6oy4/myfile.pdf" }, "FileData": { "type": "string", "description": "Base64 encoded file data", "format": "base64", "example": "JVBERi0xLjcKJb662+4KMSAwIG9iago8PC9UeXBlIC9DYXRhbG9n..." } } } } }, "externalDocs": { "url": "https://www.convertapi.com/doc/content-types#applicationjson-1" } } }, "multipart/mixed": { "schema": { "type": "string", "format": "binary", "externalDocs": { "url": "https://www.convertapi.com/doc/content-types#multipartmixed" } }, "example": "--43cf1475-ab15-4c6b-b5ee-e2cbcedfe92f\nConversionCost: 1\nContent-Type: application/octet-stream\nContent-Disposition: attachment; filename=\"my_file.pdf\"; size=8475\n\n--FILE CONTENT--\n--43cf1475-ab15-4c6b-b5ee-e2cbcedfe92f--\n" }, "application/octet-stream": { "schema": { "type": "string", "format": "binary", "externalDocs": { "url": "https://www.convertapi.com/doc/content-types#applicationoctet-stream-1" } } } } }, "400": { "$ref": "#/components/responses/400" }, "401": { "$ref": "#/components/responses/401" }, "415": { "$ref": "#/components/responses/415" }, "500": { "$ref": "#/components/responses/500" }, "503": { "$ref": "#/components/responses/503" } }, "security": [ { "secret": [ ] }, { "token": [ ] }, { "jwt": [ ] } ] }, "x-ca-overview": "Convert scanned PDF documents into fully searchable and editable PDFs using accurate OCR. Detect text in page images and add a hidden text layer that preserves the original appearance while enabling selection and indexing. Select OCR languages to maximize accuracy for multilingual content, choose recognition mode and page segmentation, and limit processing to page ranges for faster runs. Handle password‑protected inputs and tune timeouts for large files. Ideal for digitization, compliance, and content discovery.", "x-ca-meta-title": "PDF OCR API – Convert scanned PDFs to searchable PDFs", "x-ca-meta-description": "Convert scanned PDFs to searchable, editable text using PDF OCR API. Fast, secure, accurate OCR with language and page range control.", "x-ca-source-formats": "pdf", "x-ca-destination-formats": "pdf", "x-ca-tags": [ "ocr", "ai", "pdf", "featured" ] } }, "components": { "schemas": { "fileId": { "maxLength": 32, "minLength": 32, "type": "string", "description": "Uploaded File ID", "example": "25811safe8e61dd3f51ef00ee5f58b92" }, "error": { "type": "object", "properties": { "Code": { "type": "integer", "description": "Error message code", "format": "int32", "example": 4000 }, "Message": { "type": "string", "description": "Error message text", "example": "Parameter validation error." } }, "externalDocs": { "url": "https://www.convertapi.com/doc/response-codes" } } }, "responses": { "400": { "description": "Malformed request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error" } } } }, "401": { "description": "Authentication error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error" } } } }, "415": { "description": "File type error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error" } } } }, "500": { "description": "Conversion failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error" } } } }, "503": { "description": "Conversion rate limit error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error" } } } } }, "parameters": { "fileId": { "name": "fileId", "in": "path", "description": "File ID", "required": true, "schema": { "$ref": "#/components/schemas/fileId" } }, "src": { "name": "src", "in": "path", "description": "Source file format (docx, pdf, jpg etc.)", "required": true, "schema": { "type": "string" } }, "dst": { "name": "dst", "in": "path", "description": "Destination file format (docx, pdf, jpg etc.)", "required": true, "schema": { "type": "string" } } }, "headers": { "content-disposition": { "description": "File information ([docummentation](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Disposition))", "schema": { "type": "string" } }, "file-name": { "description": "File name", "schema": { "type": "string" } }, "file-ext": { "description": "File name extension", "schema": { "type": "string" } }, "file-size": { "description": "File size", "schema": { "type": "integer" } } }, "securitySchemes": { "secret": { "type": "http", "description": "[Get `Secret`](https://www.convertapi.com/a/secret)", "scheme": "bearer" }, "token": { "type": "http", "description": "[Get `Token`](https://www.convertapi.com/a/api-tokens)", "scheme": "bearer" }, "jwt": { "type": "http", "description": "[Get `JWT`](https://www.convertapi.com/a/jwt-tokens)", "scheme": "bearer", "bearerFormat": "JWT" } } }, "tags": [ { "name": "Conversion", "description": "File Conversion API call", "externalDocs": { "description": "File Conversion related operations", "url": "https://www.convertapi.com/doc/content-types" } }, { "name": "File Server", "description": "ConvertAPI temporary file storage", "externalDocs": { "description": "File Server related operations", "url": "https://www.convertapi.com/doc/upload" } }, { "name": "User", "description": "API User", "externalDocs": { "description": "API User related operations", "url": "https://www.convertapi.com/doc/user" } } ], "externalDocs": { "description": "Find out more about ConvertAPI", "url": "https://www.convertapi.com/doc" } }