PDF.co Excel Conversion API
The Excel Conversion API from PDF.co — 6 operation(s) for excel conversion.
The Excel Conversion API from PDF.co — 6 operation(s) for excel conversion.
openapi: 3.0.1
info:
title: PDF.co Barcodes Excel 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: Excel Conversion
paths:
/v1/xls/convert/to/csv:
post:
tags:
- Excel Conversion
x-mint:
href: /api-tester/convert-from-excel/csv
summary: Excel to CSV
operationId: post_v1_xls_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/other/Input.xls
worksheetindex:
$ref: '#/components/schemas/worksheetindex'
name:
$ref: '#/components/schemas/name'
async:
allOf:
- $ref: '#/components/schemas/async'
default: false
file:
$ref: '#/components/schemas/file'
quotationsymbol:
type: string
readOnly: true
separatorsymbol:
type: string
readOnly: true
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: Converts a xls/xlsx file to csv.
/v1/xls/convert/to/json:
post:
tags:
- Excel Conversion
x-mint:
href: /api-tester/convert-from-excel/json
summary: Excel to JSON
operationId: post_v1_xls_convert_to_json
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/other/Input.xls
worksheetindex:
$ref: '#/components/schemas/worksheetindex'
name:
$ref: '#/components/schemas/name'
async:
allOf:
- $ref: '#/components/schemas/async'
default: false
file:
$ref: '#/components/schemas/file'
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: Converts a xls/xlsx/csv file to json.
/v1/xls/convert/to/html:
post:
tags:
- Excel Conversion
x-mint:
href: /api-tester/convert-from-excel/html
summary: Excel to HTML
operationId: post_v1_xls_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/other/Input.xls
worksheetindex:
$ref: '#/components/schemas/worksheetindex'
async:
allOf:
- $ref: '#/components/schemas/async'
default: false
file:
$ref: '#/components/schemas/file'
name:
$ref: '#/components/schemas/name'
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: Converts a xls/xlsx/csv file to html.
/v1/xls/convert/to/txt:
post:
tags:
- Excel Conversion
x-mint:
href: /api-tester/convert-from-excel/text
operationId: post_v1_xls_convert_to_txt
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/other/Input.xls
worksheetindex:
$ref: '#/components/schemas/worksheetindex'
name:
$ref: '#/components/schemas/name'
async:
allOf:
- $ref: '#/components/schemas/async'
default: false
file:
$ref: '#/components/schemas/file'
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
summary: Excel to Text
description: Converts a xls/xlsx/csv file to text.
/v1/xls/convert/to/xml:
post:
tags:
- Excel Conversion
x-mint:
href: /api-tester/convert-from-excel/xml
operationId: post_v1_xls_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/other/Input.xls
worksheetindex:
$ref: '#/components/schemas/worksheetindex'
name:
$ref: '#/components/schemas/name'
async:
allOf:
- $ref: '#/components/schemas/async'
default: false
file:
$ref: '#/components/schemas/file'
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
summary: Excel to XML
description: Converts a xls/xlsx/csv file to xml.
/v1/xls/convert/to/pdf:
post:
tags:
- Excel Conversion
x-mint:
href: /api-tester/convert-from-excel/pdf
summary: Excel to PDF
operationId: post_v1_xls_convert_to_pdf
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/other/Input.xls
worksheetindex:
$ref: '#/components/schemas/worksheetindex'
name:
$ref: '#/components/schemas/name'
async:
allOf:
- $ref: '#/components/schemas/async'
default: false
file:
$ref: '#/components/schemas/file'
autosize:
$ref: '#/components/schemas/autosize'
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: Converts a xls/xlsx/csv file to pdf.
components:
responses:
Forbidden:
description: Access forbidden for input URL.
content:
application/json:
schema:
type: object
properties:
error:
type: boolean
example: true
status:
type: integer
example: 403
message:
type: string
example: Access forbidden for input URL.
InvalidUrlOrHtml:
description: Invalid URL or HTML. Ensure the provided URL is valid and accessible.
content:
application/json:
schema:
type: object
properties:
error:
type: boolean
example: true
status:
type: integer
example: 448
message:
type: string
example: Invalid URL or HTML. Ensure the provided URL is valid and accessible.
InvalidTemplate:
description: Invalid template.
content:
application/json:
schema:
type: object
properties:
error:
type: boolean
example: true
status:
type: integer
example: 447
message:
type: string
example: Invalid template.
InvalidPageRange:
description: Invalid page range specified.
content:
application/json:
schema:
type: object
properties:
error:
type: boolean
example: true
status:
type: integer
example: 450
message:
type: string
example: Invalid page range specified.
DamagedDocument:
description: Input document is damaged or of incorrect type.
content:
application/json:
schema:
type: object
properties:
error:
type: boolean
example: true
status:
type: integer
example: 442
message:
type: string
example: Input document is damaged or of incorrect type.
Timeout:
description: The server timed out waiting for the request.
content:
application/json:
schema:
type: object
properties:
error:
type: boolean
example: true
status:
type: integer
example: 408
message:
type: string
example: The server timed out waiting for the request.
InvalidIndexRange:
description: Invalid index range. Page index is out of range. Use `/pdf/info` to get page count. First page is `0`.
content:
application/json:
schema:
type: object
properties:
error:
type: boolean
example: true
status:
type: integer
example: 449
message:
type: string
example: Invalid index range. Page index is out of range.
TooManyRequests:
description: Too many requests in a given time period.
content:
application/json:
schema:
type: object
properties:
error:
type: boolean
example: true
status:
type: integer
example: 429
message:
type: string
example: Too many requests in a given time period.
ProfilesParsingError:
description: Profiles parsing error. Please ensure that the configuration is supported. See `/profiles` samples.
content:
application/json:
schema:
type: object
properties:
error:
type: boolean
example: true
status:
type: integer
example: 444
message:
type: string
example: Profiles parsing error. Please ensure that the configuration is supported.
MissingFiles:
description: Some files required for conversion are missing.
content:
application/json:
schema:
type: object
properties:
error:
type: boolean
example: true
status:
type: integer
example: 446
message:
type: string
example: Some files required for conversion are missing.
NotFound:
description: The requested resource could not be found.
content:
application/json:
schema:
type: object
properties:
error:
type: boolean
example: true
status:
type: integer
example: 404
message:
type: string
example: The requested resource could not be found.
Unauthorized:
description: Unauthorized. Authentication is required and has failed or has not yet been provided.
content:
application/json:
schema:
type: object
properties:
error:
type: boolean
example: true
status:
type: integer
example: 401
message:
type: string
example: Unauthorized. Authentication is required and has failed or has not yet been provided.
PermissionsError:
description: 'Permissions. The operation is prohibited by document security settings. You can turn off this check by setting the `profiles` param to `{CheckPermissions: false}`. Important: only use this if you are the owner or have legal permission.'
content:
application/json:
schema:
type: object
properties:
error:
type: boolean
example: true
status:
type: integer
example: 443
message:
type: string
example: Permissions. The operation is prohibited by document security settings.
Success:
description: Success.
content:
application/json:
schema:
type: object
properties:
status:
type: string
example: success
description: Status of the API response.
message:
type: string
example: Success
description: Descriptive message for the response status.
url:
type: string
format: uri
example: https://pdf-temp-files.s3.us-west-2.amazonaws.com/output.pdf
description: URL to the output file.
jobId:
type: string
example: 6YSZD3U872ZYYFEDMQCQSGEEO8YSF5WA
description: Unique identifier for the job.
credits:
type: integer
example: 2
description: Credits used for this operation.
remainingCredits:
type: integer
example: 1480582
description: Credits remaining after this operation.
duration:
type: integer
example: 33
description: Time taken to complete the request, in milliseconds.
BadRequest:
description: Bad request. Typically due to bad input parameters or unreachable input URLs (e.g., access restrictions like login or password).
content:
application/json:
schema:
type: object
properties:
error:
type: boolean
example: true
status:
type: integer
example: 400
message:
type: string
example: Bad request. Typically due to bad input parameters or unreachable input URLs (e.g., access restrictions like login or password).
InvalidParameters:
description: Invalid parameters.
content:
application/json:
schema:
type: object
properties:
error:
type: boolean
example: true
status:
type: integer
example: 454
message:
type: string
example: Invalid parameters.
InternalServerError:
description: Something went wrong. Please try again or contact support.
content:
application/json:
schema:
type: object
properties:
error:
type: boolean
example: true
status:
type: integer
example: 500
message:
type: string
example: Something went wrong. Please try again or contact support.
InvalidUrl:
description: Invalid URL.
content:
application/json:
schema:
type: object
properties:
error:
type: boolean
example: true
status:
type: integer
example: 452
message:
type: string
example: Invalid URL.
TimeoutError:
description: Timeout error. For large documents, use asynchronous mode (`async=true`) and check status via `/job/check`. For many-page files, use the `pages` parameter.
content:
application/json:
schema:
type: object
properties:
error:
type: boolean
example: true
status:
type: integer
example: 445
message:
type: string
example: Timeout error. For large documents, use asynchronous mode (async=true) and check status via /job/check.
InvalidPassword:
description: Invalid Password. Password protected document.
content:
application/json:
schema:
type: object
properties:
error:
type: boolean
example: true
status:
type: integer
example: 441
message:
type: string
example: Invalid Password. Password protected document.
NotEnoughCredits:
description: Not enough credits.
content:
application/json:
schema:
type: object
properties:
error:
type: boolean
example: true
status:
type: integer
example: 402
message:
type: string
example: Not enough credits.
schemas:
url:
type: string
format: uri
description: URL to the source file [`url` attribute](/api-reference/url-input-and-request-limits).
name:
type: string
description: File name for generated output.
timeout:
type: number
description: Timeout for output links in seconds
readOnly: true
autosize:
type: boolean
description: Set to `true` to page dimensions adjust to content with automatic page sizing. If false, uses worksheet's page setup.
async:
type: boolean
default: false
description: Set `async` to `true` for long processes to run in the background, API will then return a `jobId` which you can use with the [Background Job Check endpoint](/api-reference/job-check). Also see [Webhooks & Callbacks](/api-reference/webhooks)
httppassword:
type: string
description: HTTP auth password if required to access source URL.
file:
type: string
format: path to a local file
description: The path to the local file to be uploaded.
readOnly: true
profiles:
type: string
description: Profiles are used configure extra options for specific API endpoints and may be unique to an API. For more information, see [Profiles](/api-reference/profiles) and the documentation of each endpoint for profiles specific to it.
httpusername:
type: string
description: HTTP auth user name if required to access source URL.
worksheetindex:
type: string
format: number
pattern: ^\d+$
description: Set the index of the worksheet to be used. The first worksheet has index 1.
expiration:
type: number
default: 60
description: Sets the expiration time for the output link, in minutes. After this period, generated output file(s) are automatically deleted from [PDF.co Temporary Files Storage](/api-reference/file-upload/overview). The maximum allowed duration depends on your subscription plan. For permanent storage of input files (e.g., reusable images, PDF templates, documents), use `PDF.co Built‑In Files Storage`.
se
# --- truncated at 32 KB (32 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/pdf-co/refs/heads/main/openapi/pdf-co-excel-conversion-api-openapi.yml