PDF.co PDF Conversion API

The PDF Conversion API from PDF.co — 21 operation(s) for pdf conversion.

Operations 21

POST /v1/pdf/convert/to/csv PDF to CSV #
POST /v1/pdf/convert/to/json2 PDF to JSON #
POST /v1/pdf/convert/to/json-meta PDF to JSON with AI #
POST /v1/pdf/convert/to/text PDF to Text #
POST /v1/pdf/convert/to/text-simple PDF to Text (Simple) #
POST /v1/pdf/convert/to/xls PDF to XLS #
POST /v1/pdf/convert/to/xlsx PDF to XLSX #
POST /v1/pdf/convert/to/xml PDF to XML #
POST /v1/pdf/convert/to/html PDF to HTML #
POST /v1/pdf/convert/to/jpg PDF to JPG #
POST /v1/pdf/convert/to/png PDF to PNG #
POST /v1/pdf/convert/to/webp PDF to WEBP #
POST /v1/pdf/convert/to/tiff PDF to TIFF #
POST /v1/pdf/convert/from/doc PDF from DOC #
POST /v1/pdf/convert/from/csv PDF from CSV #
POST /v1/pdf/convert/from/image PDF from Image #
POST /v1/pdf/convert/from/url PDF from URL #
POST /v1/pdf/convert/from/html PDF from HTML #
GET /v1/templates/html Return All Templates #
GET /v1/templates/html/{id} Return HTML Template by ID #
POST /v1/pdf/convert/from/email PDF from Email #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/pdf-co-pdf-conversion-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

pdf-co-pdf-conversion-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: PDF.co Barcodes PDF Conversion API
  description: 'PDF.co Web API — programmatic PDF and document automation: AI invoice parsing, document parsing, PDF conversion (to/from PDF, Excel, CSV, JSON, XML, HTML, images), OCR, merging, splitting, compression, barcodes, e-signature workflows, and more. Authenticated via the x-api-key header.'
  version: '1.0'
  contact:
    name: PDF.co Support
    url: https://support.pdf.co/en
    email: support@pdf.co
  license:
    name: Proprietary
    url: https://pdf.co/terms
  termsOfService: https://pdf.co/terms
servers:
- url: https://api.pdf.co
security:
- ApiKeyAuth: []
tags:
- name: PDF Conversion
paths:
  /v1/pdf/convert/to/csv:
    post:
      tags:
      - PDF Conversion
      x-mint:
        href: /api-tester/pdf-to-csv
      summary: PDF to CSV
      operationId: post_v1_pdf_convert_to_csv
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                url:
                  allOf:
                  - $ref: '#/components/schemas/url'
                  default: https://pdfco-test-files.s3.us-west-2.amazonaws.com/pdf-to-csv/sample.pdf
                lang:
                  allOf:
                  - $ref: '#/components/schemas/lang'
                  default: eng
                rect:
                  $ref: '#/components/schemas/rect'
                unwrap:
                  $ref: '#/components/schemas/unwrap'
                linegrouping:
                  $ref: '#/components/schemas/linegrouping'
                inline:
                  allOf:
                  - $ref: '#/components/schemas/inline'
                  default: true
                file:
                  $ref: '#/components/schemas/file'
                pages:
                  $ref: '#/components/schemas/pages0'
                  default: 0-
                name:
                  allOf:
                  - $ref: '#/components/schemas/name'
                  default: result.csv
                async:
                  allOf:
                  - $ref: '#/components/schemas/async'
                  default: false
                password:
                  $ref: '#/components/schemas/password'
                timeout:
                  $ref: '#/components/schemas/timeout'
                expiration:
                  $ref: '#/components/schemas/expiration'
                profiles:
                  $ref: '#/components/schemas/profiles'
                httpusername:
                  $ref: '#/components/schemas/httpusername'
                httppassword:
                  $ref: '#/components/schemas/httppassword'
              additionalProperties: false
              required:
              - url
        required: false
      responses:
        '200':
          $ref: '#/components/responses/Success'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '402':
          $ref: '#/components/responses/NotEnoughCredits'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '408':
          $ref: '#/components/responses/Timeout'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '441':
          $ref: '#/components/responses/InvalidPassword'
        '442':
          $ref: '#/components/responses/DamagedDocument'
        '443':
          $ref: '#/components/responses/PermissionsError'
        '444':
          $ref: '#/components/responses/ProfilesParsingError'
        '445':
          $ref: '#/components/responses/TimeoutError'
        '446':
          $ref: '#/components/responses/MissingFiles'
        '447':
          $ref: '#/components/responses/InvalidTemplate'
        '448':
          $ref: '#/components/responses/InvalidUrlOrHtml'
        '449':
          $ref: '#/components/responses/InvalidIndexRange'
        '450':
          $ref: '#/components/responses/InvalidPageRange'
        '452':
          $ref: '#/components/responses/InvalidUrl'
        '454':
          $ref: '#/components/responses/InvalidParameters'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-codegen-request-body-name: body
      description: Convert PDF and scanned images into CSV representation with layout, columns, rows, and tables.
  /v1/pdf/convert/to/json2:
    post:
      tags:
      - PDF Conversion
      x-mint:
        href: /api-tester/pdf-to-json/basic
      summary: PDF to JSON
      operationId: post_v1_pdf_convert_to_json2
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                url:
                  allOf:
                  - $ref: '#/components/schemas/url'
                  default: https://pdfco-test-files.s3.us-west-2.amazonaws.com/pdf-to-json/sample.pdf
                lang:
                  $ref: '#/components/schemas/lang'
                rect:
                  $ref: '#/components/schemas/rect'
                unwrap:
                  $ref: '#/components/schemas/unwrap'
                linegrouping:
                  $ref: '#/components/schemas/linegrouping'
                inline:
                  allOf:
                  - $ref: '#/components/schemas/inline'
                  default: true
                pages:
                  $ref: '#/components/schemas/pages0'
                file:
                  $ref: '#/components/schemas/file'
                name:
                  $ref: '#/components/schemas/name'
                async:
                  allOf:
                  - $ref: '#/components/schemas/async'
                  default: false
                password:
                  $ref: '#/components/schemas/password'
                expiration:
                  $ref: '#/components/schemas/expiration'
                timeout:
                  $ref: '#/components/schemas/timeout'
                profiles:
                  $ref: '#/components/schemas/profiles'
                httpusername:
                  $ref: '#/components/schemas/httpusername'
                httppassword:
                  $ref: '#/components/schemas/httppassword'
              additionalProperties: false
              required:
              - url
        required: false
      responses:
        '200':
          $ref: '#/components/responses/Success'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '402':
          $ref: '#/components/responses/NotEnoughCredits'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '408':
          $ref: '#/components/responses/Timeout'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '441':
          $ref: '#/components/responses/InvalidPassword'
        '442':
          $ref: '#/components/responses/DamagedDocument'
        '443':
          $ref: '#/components/responses/PermissionsError'
        '444':
          $ref: '#/components/responses/ProfilesParsingError'
        '445':
          $ref: '#/components/responses/TimeoutError'
        '446':
          $ref: '#/components/responses/MissingFiles'
        '447':
          $ref: '#/components/responses/InvalidTemplate'
        '448':
          $ref: '#/components/responses/InvalidUrlOrHtml'
        '449':
          $ref: '#/components/responses/InvalidIndexRange'
        '450':
          $ref: '#/components/responses/InvalidPageRange'
        '452':
          $ref: '#/components/responses/InvalidUrl'
        '454':
          $ref: '#/components/responses/InvalidParameters'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-codegen-request-body-name: body
      description: Convert PDF and scanned images into JSON representation with text, fonts, images, vectors, and formatting preserved.
  /v1/pdf/convert/to/json-meta:
    post:
      tags:
      - PDF Conversion
      x-mint:
        href: /api-tester/pdf-to-json/with-ai
      summary: PDF to JSON with AI
      operationId: post_v1_pdf_convert_to_json-meta
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                url:
                  allOf:
                  - $ref: '#/components/schemas/url'
                  default: https://pdfco-test-files.s3.us-west-2.amazonaws.com/pdf-to-json/sample.pdf
                lang:
                  $ref: '#/components/schemas/lang'
                rect:
                  $ref: '#/components/schemas/rect'
                unwrap:
                  $ref: '#/components/schemas/unwrap'
                linegrouping:
                  $ref: '#/components/schemas/linegrouping'
                inline:
                  allOf:
                  - $ref: '#/components/schemas/inline'
                  default: true
                file:
                  $ref: '#/components/schemas/file'
                pages:
                  $ref: '#/components/schemas/pages0'
                name:
                  $ref: '#/components/schemas/name'
                async:
                  allOf:
                  - $ref: '#/components/schemas/async'
                  default: false
                password:
                  $ref: '#/components/schemas/password'
                timeout:
                  $ref: '#/components/schemas/timeout'
                expiration:
                  $ref: '#/components/schemas/expiration'
                profiles:
                  $ref: '#/components/schemas/profiles'
                httpusername:
                  $ref: '#/components/schemas/httpusername'
                httppassword:
                  $ref: '#/components/schemas/httppassword'
              additionalProperties: false
              required:
              - url
        required: false
      responses:
        '200':
          $ref: '#/components/responses/Success'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '402':
          $ref: '#/components/responses/NotEnoughCredits'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '408':
          $ref: '#/components/responses/Timeout'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '441':
          $ref: '#/components/responses/InvalidPassword'
        '442':
          $ref: '#/components/responses/DamagedDocument'
        '443':
          $ref: '#/components/responses/PermissionsError'
        '444':
          $ref: '#/components/responses/ProfilesParsingError'
        '445':
          $ref: '#/components/responses/TimeoutError'
        '446':
          $ref: '#/components/responses/MissingFiles'
        '447':
          $ref: '#/components/responses/InvalidTemplate'
        '448':
          $ref: '#/components/responses/InvalidUrlOrHtml'
        '449':
          $ref: '#/components/responses/InvalidIndexRange'
        '450':
          $ref: '#/components/responses/InvalidPageRange'
        '452':
          $ref: '#/components/responses/InvalidUrl'
        '454':
          $ref: '#/components/responses/InvalidParameters'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-codegen-request-body-name: body
      description: Convert PDF and scanned images into JSON using AI.
  /v1/pdf/convert/to/text:
    post:
      tags:
      - PDF Conversion
      x-mint:
        href: /api-tester/pdf-to-text/basic
      summary: PDF to Text
      operationId: post_v1_pdf_convert_to_text
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                url:
                  allOf:
                  - $ref: '#/components/schemas/url'
                  default: https://pdfco-test-files.s3.us-west-2.amazonaws.com/pdf-to-text/sample.pdf
                lang:
                  $ref: '#/components/schemas/lang'
                rect:
                  $ref: '#/components/schemas/rect'
                unwrap:
                  $ref: '#/components/schemas/unwrap'
                linegrouping:
                  $ref: '#/components/schemas/linegrouping'
                inline:
                  allOf:
                  - $ref: '#/components/schemas/inline'
                  default: true
                pages:
                  $ref: '#/components/schemas/pages0'
                file:
                  $ref: '#/components/schemas/file'
                name:
                  $ref: '#/components/schemas/name'
                async:
                  allOf:
                  - $ref: '#/components/schemas/async'
                  default: false
                password:
                  $ref: '#/components/schemas/password'
                timeout:
                  $ref: '#/components/schemas/timeout'
                expiration:
                  $ref: '#/components/schemas/expiration'
                profiles:
                  $ref: '#/components/schemas/profiles'
                httpusername:
                  $ref: '#/components/schemas/httpusername'
                httppassword:
                  $ref: '#/components/schemas/httppassword'
              additionalProperties: false
              required:
              - url
        required: false
      responses:
        '200':
          $ref: '#/components/responses/Success'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '402':
          $ref: '#/components/responses/NotEnoughCredits'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '408':
          $ref: '#/components/responses/Timeout'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '441':
          $ref: '#/components/responses/InvalidPassword'
        '442':
          $ref: '#/components/responses/DamagedDocument'
        '443':
          $ref: '#/components/responses/PermissionsError'
        '444':
          $ref: '#/components/responses/ProfilesParsingError'
        '445':
          $ref: '#/components/responses/TimeoutError'
        '446':
          $ref: '#/components/responses/MissingFiles'
        '447':
          $ref: '#/components/responses/InvalidTemplate'
        '448':
          $ref: '#/components/responses/InvalidUrlOrHtml'
        '449':
          $ref: '#/components/responses/InvalidIndexRange'
        '450':
          $ref: '#/components/responses/InvalidPageRange'
        '452':
          $ref: '#/components/responses/InvalidUrl'
        '454':
          $ref: '#/components/responses/InvalidParameters'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-codegen-request-body-name: body
      description: Convert PDF and scanned images to text with layout preserved. This method uses OCR and reporoduces layout.
  /v1/pdf/convert/to/text-simple:
    post:
      tags:
      - PDF Conversion
      x-mint:
        href: /api-tester/pdf-to-text/simple
      summary: PDF to Text (Simple)
      operationId: post_v1_pdf_convert_to_text-simple
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                url:
                  allOf:
                  - $ref: '#/components/schemas/url'
                  default: https://pdfco-test-files.s3.us-west-2.amazonaws.com/pdf-to-text/sample.pdf
                inline:
                  allOf:
                  - $ref: '#/components/schemas/inline'
                  default: true
                pages:
                  $ref: '#/components/schemas/pages0'
                file:
                  $ref: '#/components/schemas/file'
                name:
                  $ref: '#/components/schemas/name'
                async:
                  allOf:
                  - $ref: '#/components/schemas/async'
                  default: false
                password:
                  $ref: '#/components/schemas/password'
                timeout:
                  $ref: '#/components/schemas/timeout'
                expiration:
                  $ref: '#/components/schemas/expiration'
                lineending:
                  type: string
                  readOnly: true
                httpusername:
                  $ref: '#/components/schemas/httpusername'
                httppassword:
                  $ref: '#/components/schemas/httppassword'
              additionalProperties: false
              required:
              - url
        required: false
      responses:
        '200':
          $ref: '#/components/responses/Success'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '402':
          $ref: '#/components/responses/NotEnoughCredits'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '408':
          $ref: '#/components/responses/Timeout'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '441':
          $ref: '#/components/responses/InvalidPassword'
        '442':
          $ref: '#/components/responses/DamagedDocument'
        '443':
          $ref: '#/components/responses/PermissionsError'
        '444':
          $ref: '#/components/responses/ProfilesParsingError'
        '445':
          $ref: '#/components/responses/TimeoutError'
        '446':
          $ref: '#/components/responses/MissingFiles'
        '447':
          $ref: '#/components/responses/InvalidTemplate'
        '448':
          $ref: '#/components/responses/InvalidUrlOrHtml'
        '449':
          $ref: '#/components/responses/InvalidIndexRange'
        '450':
          $ref: '#/components/responses/InvalidPageRange'
        '452':
          $ref: '#/components/responses/InvalidUrl'
        '454':
          $ref: '#/components/responses/InvalidParameters'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-codegen-request-body-name: body
      description: This endpoint works faster and requires fewer credits as it is not using AI-powered layout analysis, OCR support, and also has no support for profiles for fine-tuning. For advanced conversion with layout analysis, OCR (for scanned pages), PDF repair, and other features please use the [PDF to Text](/api-reference/pdf-to-text) endpoint instead.
  /v1/pdf/convert/to/xls:
    post:
      tags:
      - PDF Conversion
      x-mint:
        href: /api-tester/pdf-to-excel/xls
      summary: PDF to XLS
      operationId: post_v1_pdf_convert_to_xls
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                file:
                  $ref: '#/components/schemas/file'
                url:
                  allOf:
                  - $ref: '#/components/schemas/url'
                  default: https://pdfco-test-files.s3.us-west-2.amazonaws.com/pdf-to-excel/sample.pdf
                lang:
                  $ref: '#/components/schemas/lang'
                rect:
                  $ref: '#/components/schemas/rect'
                unwrap:
                  $ref: '#/components/schemas/unwrap'
                linegrouping:
                  $ref: '#/components/schemas/linegrouping'
                pages:
                  $ref: '#/components/schemas/pages0'
                name:
                  $ref: '#/components/schemas/name'
                async:
                  allOf:
                  - $ref: '#/components/schemas/async'
                  default: false
                password:
                  $ref: '#/components/schemas/password'
                timeout:
                  $ref: '#/components/schemas/timeout'
                expiration:
                  $ref: '#/components/schemas/expiration'
                profiles:
                  $ref: '#/components/schemas/profiles'
                httpusername:
                  $ref: '#/components/schemas/httpusername'
                httppassword:
                  $ref: '#/components/schemas/httppassword'
              additionalProperties: false
              required:
              - url
        required: false
      responses:
        '200':
          $ref: '#/components/responses/Success'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '402':
          $ref: '#/components/responses/NotEnoughCredits'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '408':
          $ref: '#/components/responses/Timeout'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '441':
          $ref: '#/components/responses/InvalidPassword'
        '442':
          $ref: '#/components/responses/DamagedDocument'
        '443':
          $ref: '#/components/responses/PermissionsError'
        '444':
          $ref: '#/components/responses/ProfilesParsingError'
        '445':
          $ref: '#/components/responses/TimeoutError'
        '446':
          $ref: '#/components/responses/MissingFiles'
        '447':
          $ref: '#/components/responses/InvalidTemplate'
        '448':
          $ref: '#/components/responses/InvalidUrlOrHtml'
        '449':
          $ref: '#/components/responses/InvalidIndexRange'
        '450':
          $ref: '#/components/responses/InvalidPageRange'
        '452':
          $ref: '#/components/responses/InvalidUrl'
        '454':
          $ref: '#/components/responses/InvalidParameters'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-codegen-request-body-name: body
      description: Convert PDF to Excel(.xls) with layout and fonts preserved.
  /v1/pdf/convert/to/xlsx:
    post:
      tags:
      - PDF Conversion
      x-mint:
        href: /api-tester/pdf-to-excel/xlsx
      summary: PDF to XLSX
      operationId: post_v1_pdf_convert_to_xlsx
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                file:
                  $ref: '#/components/schemas/file'
                url:
                  allOf:
                  - $ref: '#/components/schemas/url'
                  default: https://pdfco-test-files.s3.us-west-2.amazonaws.com/pdf-to-excel/sample.pdf
                lang:
                  $ref: '#/components/schemas/lang'
                rect:
                  $ref: '#/components/schemas/rect'
                unwrap:
                  $ref: '#/components/schemas/unwrap'
                linegrouping:
                  $ref: '#/components/schemas/linegrouping'
                pages:
                  $ref: '#/components/schemas/pages0'
                name:
                  $ref: '#/components/schemas/name'
                async:
                  allOf:
                  - $ref: '#/components/schemas/async'
                  default: false
                password:
                  $ref: '#/components/schemas/password'
                timeout:
                  $ref: '#/components/schemas/timeout'
                expiration:
                  $ref: '#/components/schemas/expiration'
                profiles:
                  $ref: '#/components/schemas/profiles'
                httpusername:
                  $ref: '#/components/schemas/httpusername'
                httppassword:
                  $ref: '#/components/schemas/httppassword'
              additionalProperties: false
              required:
              - url
        required: false
      responses:
        '200':
          $ref: '#/components/responses/Success'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '402':
          $ref: '#/components/responses/NotEnoughCredits'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '408':
          $ref: '#/components/responses/Timeout'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '441':
          $ref: '#/components/responses/InvalidPassword'
        '442':
          $ref: '#/components/responses/DamagedDocument'
        '443':
          $ref: '#/components/responses/PermissionsError'
        '444':
          $ref: '#/components/responses/ProfilesParsingError'
        '445':
          $ref: '#/components/responses/TimeoutError'
        '446':
          $ref: '#/components/responses/MissingFiles'
        '447':
          $ref: '#/components/responses/InvalidTemplate'
        '448':
          $ref: '#/components/responses/InvalidUrlOrHtml'
        '449':
          $ref: '#/components/responses/InvalidIndexRange'
        '450':
          $ref: '#/components/responses/InvalidPageRange'
        '452':
          $ref: '#/components/responses/InvalidUrl'
        '454':
          $ref: '#/components/responses/InvalidParameters'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-codegen-request-body-name: body
      description: Convert PDF to Excel(.xlsx) with layout and fonts preserved.
  /v1/pdf/convert/to/xml:
    post:
      tags:
      - PDF Conversion
      x-mint:
        href: /api-tester/pdf-to-xml
      summary: PDF to XML
      operationId: post_v1_pdf_convert_to_xml
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                url:
                  allOf:
                  - $ref: '#/components/schemas/url'
                  default: https://pdfco-test-files.s3.us-west-2.amazonaws.com/pdf-to-xml/sample.pdf
                lang:
                  $ref: '#/components/schemas/lang'
                rect:
                  $ref: '#/components/schemas/rect'
                unwrap:
                  $ref: '#/components/schemas/unwrap'
                linegrouping:
                  $ref: '#/components/schemas/linegrouping'
                inline:
                  $ref: '#/components/schemas/inline'
                file:
                  $ref: '#/components/schemas/file'
                name:
                  $ref: '#/components/schemas/name'
                async:
                  allOf:
                  - $ref: '#/components/schemas/async'
                  default: false
                pages:
                  $ref: '#/components/schemas/pages0'
                password:
                  $ref: '#/components/schemas/password'
                timeout:
                  $ref: '#/components/schemas/timeout'
                expiration:
                  $ref: '#/components/schemas/expiration'
                profiles:
                  $ref: '#/components/schemas/profiles'
                httpusername:
                  $ref: '#/components/schemas/httpusername'
                httppassword:
                  $ref: '#/components/schemas/httppassword'
              additionalProperties: false
              required:
              - url
        required: false
      responses:
        '200':
          $ref: '#/components/responses/Success'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '402':
          $ref: '#/components/responses/NotEnoughCredits'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '408':
          $ref: '#/components/responses/Timeout'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '441':
          $ref: '#/components/responses/InvalidPassword'
        '442':
          $ref: '#/components/responses/DamagedDocument'
        '443':
          $ref: '#/components/responses/PermissionsError'
        '444':
          $ref: '#/components/responses/ProfilesParsingError'
        '445':
          $ref: '#/components/responses/TimeoutError'
        '446':
          $ref: '#/components/responses/MissingFiles'
        '447':
          $ref: '#/components/responses/InvalidTemplate'
        '448':
          $ref: '#/components/responses/InvalidUrlOrHtml'
        '449':
          $ref: '#/components/responses/InvalidIndexRange'
        '450':
          $ref: '#/components/responses/InvalidPageRange'
        '452':
          $ref: '#/components/responses/InvalidUrl'
        '454':
          $ref: '#/components/responses/InvalidParameters'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-codegen-request-body-name: body
      description: Convert PDF to XML with information about text value, tables, fonts, images, objects positions.
  /v1/pdf/convert/to/html:
    post:
      tags:
      - PDF Conversion
      x-mint:
        href: /api-tester/pdf-to-html
      summary: PDF to HTML
      operationId: post_v1_pdf_convert_to_html
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                url:
                  allOf:
                  - $ref: '#/components/schemas/url'
                  default: https://pdfco-test-files.s3.us-west-2.amazonaws.com/pdf-to-html/sample.pdf
                lang:
                  $ref: '#/components/schemas/lang'
                rect:
                  $ref: '#/components/schemas/rect'
                inline:
                  allOf:
                  - $ref: '#/components/schemas/inline'
                  default: false
                pages:
                  $ref: '#/components/schemas/pages0'
                name:
                  $ref: '#/components/schemas/name'
                async:
                  allOf:
                  - $ref: '#/components/schemas/async'
                  default: false
                password:
                  $ref: '#/components/schemas/password'
                expiration:
                  $ref: '#/components/schemas/expiration'
                profiles:
                  $ref: '#/components/schemas/profiles'
                httpusername:
                  $ref: '#/components/schemas/httpusername'
                httppassword:
                  $ref: '#/components/schemas/httppassword'
                simple:
                  type: boolean
                  description: Set `true` to convert to a plain HTML format. Default is the rich HTML & CSS format keeping the document design.
                  readOnly: true
                columns:
                  type: boolean
                  description: Set `true` if the PDF document is arranged in columns like a newspaper. Default is `false`.
                  readOnly: true
                file:
                  $ref: '#/components/schemas/file'
                timeout:
                  $ref: '#/components/schemas/timeout'
              additionalProperties: false
              required:
              - url
        required: false
      responses:
        '200':
          $ref: '#/components/responses/Success'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '402':
          $ref: '#/components/responses/NotEnoughCredits'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '408':
          $ref: '#/components/responses/Timeout'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '441':
          $ref: '#/components/responses/InvalidPassword'
        '442':
          $ref: '#/components/responses/DamagedDocument'
        '443':
          $ref: '#/components/responses/PermissionsError'
        '444':
          $ref: '#/components/responses/ProfilesParsingError'
        '445':
          $ref: '#/components/responses/TimeoutError'
        '446':
          $ref: '#/components/responses/MissingFiles'
        '447':
          $ref: '#/components/responses/InvalidTemplate'
        '448':
          $ref: '#/component

# --- truncated at 32 KB (89 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/pdf-co/refs/heads/main/openapi/pdf-co-pdf-conversion-api-openapi.yml