apyhub

Convert JSON to CSV API

What it does

JSON to CSV converts JSON objects and JSON arrays into CSV, so you can turn structured data into a flat table for spreadsheets, warehouses, and downstream tools. Send raw JSON, upload a .json file, or point the service at a public JSON URL, and choose an inline response, a downloadable file, or a pre-signed S3 URL.

Use JSON to CSV when you need to export API responses, normalize webhook payloads, or hand data off to analysts who expect CSV. The raw JSON endpoints accept either a single JSON object with at least one property or a non-empty array of JSON objects. The file and URL-based endpoints accept a JSON file with MIME type application/json, or a public URL that serves JSON with application/json, text/plain; charset=UTF-8, or a .json file content-disposition.

The output is either CSV text, a downloadable CSV file, or an object containing data, a pre-signed S3 URL to the converted file. Pick the response shape that fits your pipeline: stream the CSV directly into your app, let users download it, or store it in object storage for later processing.

▣ ENDPOINT 01 / 09
POST
Convert JSON from URL to CSV (downloadable file)
https://api.eu.apyverse.com/apyhub/convert-json-to-csv/json-url-csv-file

QUICKSTART

GUIDE

Quickstart

Convert a JSON file from a public URL into a CSV file.

curl -X POST "https://api.eu.apyverse.com/apyhub/convert-json-to-csv/json-url-csv-file?output=my-report" \
  -H "apy-token: $APY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://assets.apyhub.com/samples/sample.json"}'

What you'll get back

Returns a downloadable CSV file as a binary response.

name,age
Alice,30
Bob,25
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*
Public URL pointing to a JSON file. The response must have content-type application/json, text/plain; charset=UTF-8, or a content-disposition header referencing a .json file.

About this endpoint

What it does

Converts JSON fetched from a public URL into a downloadable CSV file. You provide the source JSON file URL in the request body, and the endpoint returns the converted CSV as binary content.

Query Parameter(s)

AttributeTypeMandatoryDescription
outputStringNoOutput file name prefix. Default: sample-output.

Request Body

ParameterTypeMandatoryDescription
urlStringYesPublic URL pointing to a JSON file. The response must have content-type application/json, text/plain; charset=UTF-8, or a content-disposition header referencing a .json file.

Response

Returns a downloadable CSV file as binary content. The response schema is a single binary string representing the converted data.

ParameterTypeMandatoryDescription
dataStringYesBinary CSV file containing the converted data.

Notes

The source URL must point to a JSON file that is publicly accessible. The endpoint only accepts responses whose content type is application/json, text/plain; charset=UTF-8, or that include a content-disposition header referencing a .json file.

Query parameters

Name
Type
Description
outputOPTIONAL
string
DEFAULT sample-output

Body

Name
Type
Description
bodyREQUIRED
object
▣ ENDPOINT 02 / 09
POST
Convert uploaded JSON file to CSV (inline response)
https://api.eu.apyverse.com/apyhub/convert-json-to-csv/json-file-csv-raw

QUICKSTART

GUIDE

Quickstart

Upload a JSON file to convert it to CSV.

curl -X POST "https://api.eu.apyverse.com/apyhub/convert-json-to-csv/json-file-csv-raw" \
  -H "apy-token: $APY_TOKEN" \
  -F "file=@/path/to/file.json"

What you'll get back

Returns a plain string response with the converted CSV content.

csv output as a string
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*
JSON file to convert. Must have MIME type application/json.

About this endpoint

What it does

Converts an uploaded JSON file into CSV and returns the CSV inline in the response. The request body must include a binary file upload containing JSON data with MIME type application/json.

Request Body

ParameterTypeMandatoryDescription
fileStringYesJSON file to convert. Must be uploaded as binary data and have MIME type application/json.

Response

Returns a plain string containing the CSV output.

ParameterTypeMandatoryDescription
valueStringYesThe generated CSV content returned inline as the response body.

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 / 09
POST
Convert JSON from URL to CSV (inline response)
https://api.eu.apyverse.com/apyhub/convert-json-to-csv/json-url-csv-raw

QUICKSTART

GUIDE

Quickstart

Convert a JSON file from a public URL into CSV by sending the file URL in the request body.

curl -X POST "https://api.eu.apyverse.com/apyhub/convert-json-to-csv/json-url-csv-raw" \
  -H "apy-token: $APY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://assets.apyhub.com/samples/sample.json"}'

What you'll get back

Returns a JSON string containing the converted CSV output.

"col1,col2\nvalue1,value2"
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*
Public URL pointing to a JSON file. The response must have content-type application/json, text/plain; charset=UTF-8, or a content-disposition header referencing a .json file.

About this endpoint

What it does

Fetches a JSON file from the URL you provide in the request body and converts it to CSV, returning the result inline in the response.

Request Body

ParameterTypeMandatoryDescription
urlStringYesPublic URL pointing to a JSON file. The response must have content-type application/json, text/plain; charset=UTF-8, or a content-disposition header referencing a .json file. Format: URI.

Response

Returns a JSON string containing the CSV output.

ParameterTypeMandatoryDescription
responseStringYesThe converted CSV content returned inline as a string.

Body

Name
Type
Description
bodyREQUIRED
object
▣ ENDPOINT 04 / 09
POST
Convert JSON from URL to CSV (S3 signed URL)
https://api.eu.apyverse.com/apyhub/convert-json-to-csv/json-url-csv-url

QUICKSTART

GUIDE

Quickstart

Convert a JSON file at a public URL into a CSV and save the result under the name you provide.

curl -X POST "https://api.eu.apyverse.com/apyhub/convert-json-to-csv/json-url-csv-url?output=my-report" \
  -H "apy-token: $APY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://assets.apyhub.com/samples/sample.json"
  }'

What you'll get back

Returns a JSON object with a data string field containing a pre-signed S3 URL to the converted file.

{
  "data": "https://s3.amazonaws.com/..."
}
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*
Public URL pointing to a JSON file. The response must have content-type application/json, text/plain; charset=UTF-8, or a content-disposition header referencing a .json file.

About this endpoint

What it does

Converts a JSON file available at a public URL into a CSV file and returns a pre-signed S3 URL for the converted output.

Query Parameter(s)

AttributeTypeMandatoryDescription
outputStringNoOutput file name. Default: sample-output.

Request Body

ParameterTypeMandatoryDescription
urlStringYesPublic URL pointing to a JSON file. The response must have content-type: application/json, text/plain; charset=UTF-8, or a content-disposition header referencing a .json file.

Response

Returns a JSON object with a data string field containing a URI. This is the pre-signed S3 URL to the converted file.

ParameterTypeMandatoryDescription
dataStringYesPre-signed S3 URL to the converted file.

Query parameters

Name
Type
Description
outputOPTIONAL
string
DEFAULT sample-output

Body

Name
Type
Description
bodyREQUIRED
object
▣ ENDPOINT 05 / 09
POST
Convert uploaded JSON file to CSV (downloadable file)
https://api.eu.apyverse.com/apyhub/convert-json-to-csv/json-file-csv-file

QUICKSTART

GUIDE

Quickstart

Upload a JSON file to convert it into a CSV download.

curl -X POST "https://api.eu.apyverse.com/apyhub/convert-json-to-csv/json-file-csv-file" \
  -H "apy-token: $APY_TOKEN" \
  -F "file=@/path/to/file.json" \
  -F "output=my-report"

What you'll get back

Returns a downloadable CSV file as a binary response.

...binary CSV 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.
Max 100MB total per request (all files combined). Larger? Use this API's URL-based endpoint instead, if it has one.
body*
JSON file to convert. Must have MIME type application/json.

About this endpoint

What it does

Converts an uploaded JSON file into a downloadable CSV file. The request sends a JSON file as binary input, and the response returns the generated CSV as a binary file.

Query Parameter(s)

AttributeTypeMandatoryDescription
outputStringNoOptional output name. Default: sample-output.

Request Body

ParameterTypeMandatoryDescription
fileStringYesJSON file to convert. Must have MIME type application/json.

Response

Returns a binary CSV file containing the converted data.

ParameterTypeMandatoryDescription
StringThe response body is a downloadable CSV file (binary).

Query parameters

Name
Type
Description
outputOPTIONAL
string
DEFAULT sample-output

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 06 / 09
POST
Convert uploaded JSON file to CSV (S3 signed URL)
https://api.eu.apyverse.com/apyhub/convert-json-to-csv/json-file-csv-url

QUICKSTART

GUIDE

Quickstart

Upload a JSON file to convert it into CSV and return a pre-signed download URL.

curl -X POST "https://api.eu.apyverse.com/apyhub/convert-json-to-csv/json-file-csv-url" \
  -H "apy-token: $APY_TOKEN" \
  -F "file=@/path/to/file.json" \
  -F "output=my-report"

What you'll get back

Returns a JSON object with a data string field containing the pre-signed S3 URL to the converted file.

{
  "data": "https://..."
}
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*
JSON file to convert. Must have MIME type application/json.

About this endpoint

What it does

Converts an uploaded JSON file into CSV and returns a pre-signed S3 URL for the converted file.

Query Parameter(s)

AttributeTypeMandatoryDescription
outputStringNoOutput name for the converted file. Default: sample-output.

Request Body

ParameterTypeMandatoryDescription
fileStringYesJSON file to convert. Must have MIME type application/json.

Response

Returns a JSON object with a data string field containing a pre-signed S3 URL to the converted file.

ParameterTypeMandatoryDescription
dataStringYesPre-signed S3 URL to the converted file.

Query parameters

Name
Type
Description
outputOPTIONAL
string
DEFAULT sample-output

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 07 / 09
POST
Convert raw JSON body to CSV (inline response)
https://api.eu.apyverse.com/apyhub/convert-json-to-csv/json-raw-csv-raw

QUICKSTART

GUIDE

Quickstart

Convert a JSON object or array of objects into CSV by sending the JSON payload in the request body.

curl -X POST "https://api.eu.apyverse.com/apyhub/convert-json-to-csv/json-raw-csv-raw" \
  -H "apy-token: $APY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"Alice","email":"[email protected]"}'

What you'll get back

Returns a plain JSON string containing the converted CSV output.

"name,email\nAlice,[email protected]"
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.
A JSON object or a non-empty array of JSON objects to convert.
body*

About this endpoint

What it does

Converts a raw JSON body into CSV and returns the CSV inline in the response. The request body must be either a JSON object or a non-empty array of JSON objects.

Request Body

ParameterTypeMandatoryDescription
bodyObject / Object ArrayYesA JSON object or a non-empty array of JSON objects to convert. The object form must contain at least one property; the array form must contain at least one object.

Response

Returns a CSV string in the response body.

ParameterTypeMandatoryDescription
response bodyStringYesThe converted CSV output.

Body

Name
Type
Description
bodyREQUIRED
any
A JSON object or a non-empty array of JSON objects to convert.
▣ ENDPOINT 08 / 09
POST
Convert raw JSON body to CSV (downloadable file)
https://api.eu.apyverse.com/apyhub/convert-json-to-csv/json-raw-csv-file

QUICKSTART

GUIDE

Quickstart

Convert a JSON object or array into a CSV file and download it.

curl -X POST "https://api.eu.apyverse.com/apyhub/convert-json-to-csv/json-raw-csv-file?output=my-report" \
  -H "apy-token: $APY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"Jane Doe","email":"[email protected]"}'

What you'll get back

Returns a binary CSV file (string with format: "binary") containing the converted data.

CSV file download
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.
A JSON object or a non-empty array of JSON objects to convert.
body*

About this endpoint

What it does

Converts a raw JSON body into a CSV file and returns the result as a downloadable binary response.

Query Parameter(s)

AttributeTypeMandatoryDescription
outputStringNoDefault: sample-output. Used as the output file name base.

Request Body

ParameterTypeMandatoryDescription
bodyObject ArrayYesA JSON object or a non-empty array of JSON objects to convert. Additional properties are allowed.

Response

Returns a downloadable CSV file as a binary response.

Query parameters

Name
Type
Description
outputOPTIONAL
string
DEFAULT sample-output

Body

Name
Type
Description
bodyREQUIRED
any
A JSON object or a non-empty array of JSON objects to convert.
▣ ENDPOINT 09 / 09
POST
Convert raw JSON body to CSV (S3 signed URL)
https://api.eu.apyverse.com/apyhub/convert-json-to-csv/json-raw-csv-url

QUICKSTART

GUIDE

Quickstart

Convert a JSON object to CSV and get back a pre-signed download URL.

curl -X POST "https://api.eu.apyverse.com/apyhub/convert-json-to-csv/json-raw-csv-url?output=my-report" \
  -H "apy-token: $APY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"Alice","age":32}'

What you'll get back

Returns a JSON object with a data string field — a pre-signed S3 URL to the converted file.

{
  "data": "https://..."
}
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.
A JSON object or a non-empty array of JSON objects to convert.
body*

About this endpoint

What it does

Converts a raw JSON object or a non-empty array of JSON objects into CSV and returns a pre-signed S3 URL for the generated file.

Query Parameter(s)

AttributeTypeMandatoryDescription
outputStringNoOutput name for the converted file. Default: sample-output.

Request Body

ParameterTypeMandatoryDescription
bodyObject / ArrayYesA JSON object or a non-empty array of JSON objects to convert.

Response

Returns a JSON object with a data string field in URI format. The data value is the pre-signed S3 URL to the converted CSV file.

ParameterTypeMandatoryDescription
dataStringYesPre-signed S3 URL to the converted file.

Query parameters

Name
Type
Description
outputOPTIONAL
string
DEFAULT sample-output

Body

Name
Type
Description
bodyREQUIRED
any
A JSON object or a non-empty array of JSON objects to convert.
▣ 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.