{ "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/md": { "summary": "PDF to MD API", "description": "Convert PDF to Markdown (MD) with our REST API. Preserve headings, lists, tables, and text structure for AI workflows.", "post": { "tags": [ "Conversion" ], "externalDocs": { "description": "Read more about the converter", "url": "https://www.convertapi.com/pdf-to-md" }, "requestBody": { "content": { "multipart/form-data": { "schema": { "required": [ "File" ], "type": "object", "properties": { "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" } }, "PageRange": { "type": "string", "description": "Set page range or individual pages to convert. Example 1-10 or 1,2,5.", "default": "1-2000", "x-ca-featured": false, "x-ca-label": "Page Range", "x-ca-group": "Input", "x-ca-type": "String", "x-ca-representation": "Default", "x-ca-range": { "from": "1", "to": "2000" } }, "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" }, "Images": { "enum": [ "embed", "extract", "remove", "describe" ], "type": "string", "description": "Controls how images are handled in the resulting Markdown. `Embed` produces a self-contained document with images embedded as base64 data URIs. `Extract` saves images as separate files referenced by relative links, the result is a zip archive with the Markdown and image files, or a plain Markdown file when the document has no images. `Remove` replaces images with their alt text when available, producing compact output suited for machine processing. `Describe` replaces every image with AI generated text: scanned text and tables are transcribed, pictures become short descriptions, producing text-only Markdown for LLM and RAG scenarios.", "default": "embed", "x-ca-featured": true, "x-ca-label": "Images", "x-ca-group": "Options", "x-ca-type": "Collection", "x-ca-representation": "Dropdown", "x-ca-values": { "embed": "Embed images as base64", "extract": "Extract images to separate files (zip)", "remove": "Remove images", "describe": "Describe images with AI" } }, "ListBulletChar": { "enum": [ "-", "*", "+" ], "type": "string", "description": "The character used to mark bullet list items. Markdown allows a hyphen, an asterisk or a plus sign, all three are rendered the same.", "default": "-", "x-ca-featured": false, "x-ca-label": "List bullet char", "x-ca-group": "Options", "x-ca-type": "Collection", "x-ca-representation": "Dropdown", "x-ca-values": { "-": "Hyphen (-)", "*": "Asterisk (*)", "+": "Plus (+)" } }, "DetectHeadings": { "type": "boolean", "description": "Detect headings by font size in documents that use direct formatting instead of named heading styles, for example documents recreated from PDF. Documents with real heading styles are unaffected.", "default": true, "x-ca-featured": false, "x-ca-label": "Detect headings", "x-ca-group": "Options", "x-ca-type": "Bool", "x-ca-representation": "Default" }, "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" }, "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" } } } } } } }, "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": "ConvertAPI's PDF to Markdown converter transforms PDF documents into clean, structured Markdown (.md) format perfect for modern workflows. Built for AI applications, LLM training datasets, embeddings, RAG pipelines, and content migration to static site generators like Hugo, Jekyll, and MkDocs. The conversion intelligently preserves headings, paragraphs, lists, tables, and text hierarchy, producing readable Markdown that integrates seamlessly with Obsidian, Notion, GitHub, and Git workflows. PDFs rarely carry heading styles, so the heading hierarchy is detected from the layout and rebuilt in the Markdown, which is what makes the result chunkable for retrieval.\nThe Images parameter decides what happens to the pictures in a document. Use embed for one self contained file, extract to get the images as separate files, remove for the most compact text, or describe to let an AI model turn images into text: scanned pages and tables are transcribed, charts and photos get short descriptions, and decorative images are dropped. Scanned documents that carry no text layer at all become searchable text this way.\nSimply upload your PDF and receive a structured Markdown file ready for publishing, retrieval, or AI ingestion.\n", "x-ca-overview-markdown": "ConvertAPI's PDF to Markdown converter transforms PDF documents into clean, structured Markdown (.md) format perfect for modern workflows. Built for AI applications, LLM training datasets, embeddings, RAG pipelines, and content migration to static site generators like Hugo, Jekyll, and MkDocs. The conversion intelligently preserves headings, paragraphs, lists, tables, and text hierarchy, producing readable Markdown that integrates seamlessly with Obsidian, Notion, GitHub, and Git workflows. PDFs rarely carry heading styles, so the heading hierarchy is detected from the layout and rebuilt in the Markdown, which is what makes the result chunkable for retrieval.\r\n\r\nThe `Images` parameter decides what happens to the pictures in a document. Use `embed` for one self contained file, `extract` to get the images as separate files, `remove` for the most compact text, or `describe` to let an AI model turn images into text: scanned pages and tables are transcribed, charts and photos get short descriptions, and decorative images are dropped. Scanned documents that carry no text layer at all become searchable text this way.\r\n\r\nSimply upload your PDF and receive a structured Markdown file ready for publishing, retrieval, or AI ingestion.", "x-ca-meta-title": "PDF to Markdown REST API for Developers - Convert PDF to MD", "x-ca-meta-description": "Integrate PDF to Markdown conversion via REST API. Preserves headings, lists, and tables. Built for AI, LLM training, and RAG pipelines. Free API key.", "x-ca-keywords": "pdf, markdown, md, llm, rag, ai, embeddings, context, extract", "x-ca-source-formats": "pdf", "x-ca-destination-formats": "md", "x-ca-tags": [ "pdf", "markdown", "extract", "document" ] } }, "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" } }