apyhub
DEVELOPER TOOLS · FILE CONVERSION

CSV to JSON Converter

What it does

CSV to JSON Converter turns CSV input into JSON output in a few formats. Send a CSV file, a CSV URL, or raw CSV text, and get back an inline JSON array, a downloadable JSON file, or a pre-signed S3 URL to the converted file.

Use the file-based endpoints when you already have an upload in hand, or the URL-based endpoints when the CSV lives at a public link. The raw-text endpoints are useful when you are generating CSV inside your app and want to convert it without writing a temporary file first.

The JSON array responses are returned as an array of objects, so you can pass them straight into downstream parsing, mapping, or storage logic. The file and URL responses are better when you need to hand the converted data off to a browser, a background job, or another service that expects a file artifact.

CSV to JSON Converter is a good fit for import pipelines, ETL steps, admin tools, and internal scripts that need to move tabular data into a JSON workflow.

▣ ENDPOINT 01 / 09
POST
Convert uploaded CSV file → inline JSON array
https://api.eu.apyverse.com/pankajretestflows/csv-to-json-converter-api/test1

QUICKSTART

GUIDE

Quickstart

Upload a CSV file to convert it into raw JSON objects.

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

What you'll get back

Returns a JSON array of objects. Each item in the array is a JSON object, and the schema allows additional fields on each object.

[
  {
    "name": "Alice",
    "email": "[email protected]"
  }
]
TRY ITLIVE · 10 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. Accepted MIME types: `text/csv`, `text/plain`, `application/vnd.ms-excel`, `application/csv`, `application/octet-stream`.

About this endpoint

What it does

Converts an uploaded CSV file into an inline JSON array. The request uploads a single CSV file, and the response returns an array of JSON objects derived from the file contents.

Request Body

ParameterTypeMandatoryDescription
fileStringYesCSV file to convert. Accepted MIME types: text/csv, text/plain, application/vnd.ms-excel, application/csv, application/octet-stream.

Response

Returns a JSON array of objects. Each item in the array is an object, and the schema allows additional properties on each object.

Status CodeResponse TypeDescription
200Object ArrayA JSON array where each element is an object with unspecified fields allowed by the schema.

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 / 09
POST
Convert raw CSV body → downloadable JSON file
https://api.eu.apyverse.com/pankajretestflows/csv-to-json-converter-api/test1

QUICKSTART

GUIDE

Quickstart

Convert raw CSV text into a downloadable JSON file with a single POST request.

curl -X POST "https://api.eu.apyverse.com/pankajretestflows/csv-to-json-converter-api/test1?output=my-converted-data" \
  -H "apy-token: $APY_TOKEN" \
  -H "Content-Type: text/plain" \
  --data-binary #x27;name,age\nAlice,30\nBob,25'

What you'll get back

Returns a binary JSON file download containing the converted data.

<downloadable JSON file>
TRY ITLIVE · 10 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.
Raw CSV content.

About this endpoint

What it does

Converts raw CSV text sent in the request body into a downloadable JSON file. The response is a binary file containing the converted data.

Query Parameter(s)

AttributeTypeMandatoryDescription
outputStringNoDefault: sample-output.

Request Body

ParameterTypeMandatoryDescription
bodyStringYesRaw CSV content. Content media type: text/plain.

Response

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

ParameterTypeMandatoryDescription
stringStringYesBinary downloadable JSON file containing the converted data.

Query parameters

Name
Type
Description
outputOPTIONAL
string
DEFAULT sample-output

Body

Name
Type
Description
bodyREQUIRED
string
Raw CSV content.
▣ ENDPOINT 03 / 09
POST
Convert raw CSV body → S3 signed URL
https://api.eu.apyverse.com/pankajretestflows/csv-to-json-converter-api/test3

QUICKSTART

GUIDE

Quickstart

Send raw CSV text in the request body and get back a converted file URL.

curl -X POST "https://api.eu.apyverse.com/pankajretestflows/csv-to-json-converter-api/test3" \
  -H "apy-token: $APY_TOKEN" \
  -H "Content-Type: text/plain" \
  --data-binary #x27;name,age\nAlice,30\nBob,25'

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://..."
}
TRY ITLIVE · 10 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.
Raw CSV content.

About this endpoint

What it does

Converts raw CSV content sent in the request body into a JSON file and returns a pre-signed S3 URL for the converted result.

Query Parameter(s)

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

Request Body

ParameterTypeMandatoryDescription
bodyStringYesRaw CSV content. Plain text (text/plain).

Response

Returns a JSON object with a data string field containing a URI. The data value is 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
string
Raw CSV content.
▣ ENDPOINT 04 / 09
POST
Convert CSV at URL → inline JSON array
https://api.eu.apyverse.com/pankajretestflows/csv-to-json-converter-api/test4

QUICKSTART

GUIDE

Quickstart

Fetches a CSV file from a public URL and converts it to JSON.

curl -X POST "https://api.eu.apyverse.com/pankajretestflows/csv-to-json-converter-api/test4" \
  -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 array of objects. Each array item is an object representing one converted CSV row, and the objects may include additional fields depending on the CSV columns.

[
  {
    "column1": "value1",
    "column2": "value2"
  }
]
TRY ITLIVE · 10 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*
Publicly accessible URL pointing to a CSV file. The endpoint validates that the response Content-Type is `text/csv` or `text/plain; charset=UTF-8`, or that the Content-Disposition header references a `.csv` file.

About this endpoint

What it does

Converts the CSV file available at a public URL into a JSON array and returns it inline. The request body supplies the CSV file URL; the response is an array of JSON objects parsed from that CSV.

Request Body

ParameterTypeMandatoryDescription
urlStringYesPublicly accessible URL pointing to a CSV file. Must be a valid URI. The endpoint validates that the response Content-Type is text/csv or text/plain; charset=UTF-8, or that the Content-Disposition header references a .csv file.

Response

Returns a JSON array of objects, where each array item is an object representing a row from the CSV. The output schema does not define fixed properties on those objects, so their shape depends on the CSV content.

ParameterTypeMandatoryDescription
item[]ObjectYesA JSON object parsed from one CSV row. The schema allows additional properties, so the exact fields are determined by the input CSV headers.

Body

Name
Type
Description
bodyREQUIRED
object
▣ ENDPOINT 05 / 09
POST
Convert CSV at URL → downloadable JSON file
https://api.eu.apyverse.com/pankajretestflows/csv-to-json-converter-api/test5

QUICKSTART

GUIDE

Quickstart

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

curl -X POST "https://api.eu.apyverse.com/pankajretestflows/csv-to-json-converter-api/test5" \
  -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 downloadable JSON file as binary data. The response schema is a binary payload, so there is no JSON object to parse.

<binary JSON file>
TRY ITLIVE · 10 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*
Publicly accessible URL pointing to a CSV file.

About this endpoint

What it does

Converts a CSV file fetched from a public URL into a downloadable JSON file. The request takes the CSV file URL in the body and can optionally take an output query parameter to name the generated file.

Query Parameter(s)

AttributeTypeMandatoryDescription
outputStringNoName for the generated JSON file. Default: sample-output.

Request Body

ParameterTypeMandatoryDescription
urlStringYesPublicly accessible URL pointing to a CSV file. Must be a valid URI.

Response

Returns a downloadable JSON file as a binary response containing the converted data.

ParameterTypeMandatoryDescription
binaryStringYesJSON file content returned as binary data.

Query parameters

Name
Type
Description
outputOPTIONAL
string
DEFAULT sample-output

Body

Name
Type
Description
bodyREQUIRED
object
▣ ENDPOINT 06 / 09
POST
Convert uploaded CSV file → downloadable JSON file
https://api.eu.apyverse.com/pankajretestflows/csv-to-json-converter-api/test6

QUICKSTART

GUIDE

Quickstart

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

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

What you'll get back

Returns a downloadable JSON file as binary data. The response body is a string with binary format containing the converted JSON file.

(binary file download)
TRY ITLIVE · 10 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 a downloadable JSON file. The request accepts a binary file upload and the response is a binary JSON file.

Query Parameter(s)

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

Request Body

ParameterTypeMandatoryDescription
fileStringYesCSV file to convert. Binary file upload.

Response

Returns a binary file download containing the converted JSON data.

AttributeTypeMandatoryDescription
binaryStringYesDownloadable JSON file containing the converted data.

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 uploaded CSV file → S3 signed URL
https://api.eu.apyverse.com/pankajretestflows/csv-to-json-converter-api/test7

QUICKSTART

GUIDE

Quickstart

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

curl -X POST "https://api.eu.apyverse.com/pankajretestflows/csv-to-json-converter-api/test7?output=my-converted-data" \
  -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 the pre-signed S3 URL to the converted file.

{
  "data": "https://..."
}
TRY ITLIVE · 10 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 JSON and returns a pre-signed S3 URL where the converted file can be downloaded.

Query Parameter(s)

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

Request Body

ParameterTypeMandatoryDescription
fileStringYesCSV file to convert. Format: binary.

Response

Returns a JSON object with a data string field containing a URI — 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

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

▣ ENDPOINT 08 / 09
POST
Convert raw CSV body → inline JSON array
https://api.eu.apyverse.com/pankajretestflows/csv-to-json-converter-api/test8

QUICKSTART

GUIDE

Quickstart

Send raw CSV text in the request body to convert it into JSON.

curl -X POST "https://api.eu.apyverse.com/pankajretestflows/csv-to-json-converter-api/test8" \
  -H "apy-token: $APY_TOKEN" \
  -H "Content-Type: text/plain" \
  --data-binary #x27;name,age\nAlice,30\nBob,25'

What you'll get back

Returns a JSON array of objects. Each array item is an object, and the schema allows additional properties on each object.

[
  {
    "name": "Alice",
    "age": 30
  }
]
TRY ITLIVE · 10 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.
Raw CSV content.

About this endpoint

What it does

Converts the raw CSV text sent in the request body into a JSON array. Each CSV row is returned as a JSON object in the array.

Request Body

ParameterTypeMandatoryDescription
bodyStringYesRaw CSV content. Sent as plain text (text/plain).

Response

Returns a JSON array of objects. Each array item is an object with unspecified properties, allowing the converted CSV columns to appear as object fields.

ParameterTypeMandatoryDescription
itemObjectYesOne converted CSV row. The object may contain additional properties.

Body

Name
Type
Description
bodyREQUIRED
string
Raw CSV content.
▣ ENDPOINT 09 / 09
POST
Convert CSV at URL → S3 signed URL
https://api.eu.apyverse.com/pankajretestflows/csv-to-json-converter-api/test9

QUICKSTART

GUIDE

Quickstart

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

curl -X POST "https://api.eu.apyverse.com/pankajretestflows/csv-to-json-converter-api/test9?output=my-converted-data" \
  -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 a pre-signed S3 URL for the converted file.

{
  "data": "https://s3.amazonaws.com/..."
}
TRY ITLIVE · 10 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*
Publicly accessible URL pointing to a CSV file.

About this endpoint

What it does

Converts a CSV file from a publicly accessible URL into a JSON file and returns a pre-signed S3 URL for the converted output.

Query Parameter(s)

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

Request Body

ParameterTypeMandatoryDescription
urlStringYesPublicly accessible URL pointing to a CSV file. Must be a valid URI.

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
▣ 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.