apyhub
FILE CONVERSION

Convert CSV to Excel API

Hosted on ApyHub

What it does

CSV to XLSX Converter turns a CSV file or CSV URL into an Excel workbook. Send the file in the request body, or provide a remote url, and get back either a streamed .xlsx download or a signed link to the generated workbook.

Use POST /file/download when you want the converted spreadsheet returned directly as binary data. Use POST /file/link when you prefer a JSON response containing a signed download data URI. The same pattern is available for remote files through POST /url/download and POST /url/link.

This is useful when you need to hand off tabular data to Excel users, generate reports from CSV exports, or move data from a download endpoint into an internal workflow. The service only accepts the fields defined in the schemas: file for uploaded CSVs, or url for remote CSVs, plus the optional output query parameter on the file download route.

The result is an .xlsx file ready for spreadsheet tooling, whether you stream it to a client or store the signed link for later retrieval.

▣ ENDPOINT 01 / 04
POST
Convert uploaded CSV to XLSX and stream download
http://localhost:8080/apyhub/convert-csv-to-xlsx/file/download
QUICKSTARTGUIDE

Quickstart

Upload a CSV file to convert it into an XLSX download.

curl -X POST "http://localhost:8080/apyhub/convert-csv-to-xlsx/file/download" \
  -H "apy-token: $APY_TOKEN" \
  -F "file=@/path/to/file.csv" \
  -F "output=output.xlsx"

What you'll get back

Returns a binary file download as the response body.

TRY ITLIVE · 50 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.
Max 100MB total per request (all files combined). Larger? Use this API's URL-based endpoint instead, if it has one.
body*
CSV file to convert.

About this endpoint

What it does

Converts an uploaded CSV file into an XLSX file and streams the resulting spreadsheet back as a binary download.

Query Parameter(s)

AttributeTypeMandatoryDescription
outputStringNoOutput filename. The schema shows output.xlsx as an example.

Request Body

ParameterTypeMandatoryDescription
fileStringYesCSV file to convert. Binary upload.

Response

Returns a binary file stream as the success response. The output schema is a single string with binary format, so the response body is the generated XLSX file content.

ParameterTypeMandatoryDescription
binary response bodyStringYesDownloadable file content in binary format.

Query parameters

Name
Type
Description
outputOPTIONAL
string

Body

Name
Type
Description
bodyREQUIRED
object

Max 100MB total per request (all files combined). Larger? Use this API's URL-based endpoint instead, if it has one.

▣ ENDPOINT 02 / 04
POST
Convert uploaded CSV to XLSX and return signed link
http://localhost:8080/apyhub/convert-csv-to-xlsx/file/link
QUICKSTARTGUIDE

Quickstart

Upload a CSV file to convert it into an XLSX download link.

curl -X POST "http://localhost:8080/apyhub/convert-csv-to-xlsx/file/link" \
  -H "apy-token: $APY_TOKEN" \
  -F "file=@/path/to/file.csv"

What you'll get back

Returns a JSON object with a data string field containing a URI for the generated XLSX file.

{
  "data": "https://storage.example.com/convert/output.xlsx?sig=abc"
}
TRY ITLIVE · 50 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.
Max 100MB total per request (all files combined). Larger? Use this API's URL-based endpoint instead, if it has one.
body*
CSV file to convert.

About this endpoint

What it does

Converts an uploaded CSV file into an XLSX file and returns a signed link to the converted file.

Request Body

ParameterTypeMandatoryDescription
fileStringYesCSV file to convert.

Response

Returns a JSON object with a data string field containing a URI for the converted XLSX file, typically a signed download link.

ParameterTypeMandatoryDescription
dataStringYesURI to the converted XLSX file.

Body

Name
Type
Description
bodyREQUIRED
object

Max 100MB total per request (all files combined). Larger? Use this API's URL-based endpoint instead, if it has one.

▣ ENDPOINT 03 / 04
POST
Convert remote CSV URL to XLSX and stream download
http://localhost:8080/apyhub/convert-csv-to-xlsx/url/download
QUICKSTARTGUIDE

Quickstart

Download an XLSX file from a CSV URL by sending the source file link.

curl -X POST "http://localhost:8080/apyhub/convert-csv-to-xlsx/url/download" \
  -H "apy-token: $APY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://assets.apyhub.com/samples/sample.csv"}'

What you'll get back

Returns a binary file response (string with format: binary) containing the generated XLSX content.

TRY ITLIVE · 50 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.
body*

About this endpoint

What it does

Converts a remote CSV file referenced by a URL into an XLSX file and returns the result as a streamed binary download.

Request Body

ParameterTypeMandatoryDescription
urlStringYesThe remote CSV file URL to convert. Must be a valid URI.

Response

Returns a binary stream containing the generated XLSX file. The output schema is a binary string, so the success response is a file download rather than a JSON object.

Body

Name
Type
Description
bodyREQUIRED
object
▣ ENDPOINT 04 / 04
POST
Convert remote CSV URL to XLSX and return signed link
http://localhost:8080/apyhub/convert-csv-to-xlsx/url/link
QUICKSTARTGUIDE

Quickstart

Convert a CSV file from a public URL into an XLSX file.

curl -X POST "http://localhost:8080/apyhub/convert-csv-to-xlsx/url/link" \
  -H "apy-token: $APY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://assets.apyhub.com/samples/sample.csv"}'

What you'll get back

Returns a JSON object with a data string field containing the generated XLSX file URL.

{
  "data": "https://storage.example.com/convert/output.xlsx?sig=abc"
}
TRY ITLIVE · 50 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.
body*

About this endpoint

What it does

Converts a CSV file available at a remote URL into an XLSX file, then returns a signed URL to the generated XLSX file.

Request Body

ParameterTypeMandatoryDescription
urlStringYesThe remote CSV file URL to convert. Must be a valid URI.

Response

Returns a JSON object with a data string field containing a signed URI to the generated XLSX file.

ParameterTypeMandatoryDescription
dataStringYesSigned URI for the converted XLSX file.

Body

Name
Type
Description
bodyREQUIRED
object
▣ COMMON ERRORS

Errors any endpoint can return

400bad_request

Required parameter missing or malformed body.

401unauthorized

API key missing, revoked, or not authorized for this service.

429rate_limited

Your plan's per-second rate exceeded. Retry with exponential backoff.

503upstream_busy

Backend temporarily unavailable. Try again in a few seconds.