apyhub
DEVELOPER TOOLS · FILE CONVERSION

Convert CSV to JSON API

What it does

CSV to JSON Converter turns CSV data into JSON in the format you need. Send a raw CSV body, upload a CSV file, or pass a public CSV URL, and get back inline JSON, a downloadable JSON file, or a pre-signed S3 URL to the converted file.

Use it when you need to move tabular data into a JSON-based workflow without writing a parser yourself. The service accepts a raw CSV string in the request body, a binary CSV file upload, or a URL to a publicly accessible CSV file. For URL-based conversions, you can also set an output query value to name the generated file.

The responses are simple and specific: inline conversions return an array of JSON objects, file-based conversions return a binary JSON file, and S3-backed conversions return an object with a data URI pointing to the converted file. That makes it easy to feed the result into ingestion pipelines, browser downloads, or downstream APIs that expect JSON documents.

CSV to JSON Converter is a good fit for import tools, ETL steps, admin panels, and scripts that need to normalize spreadsheet-style data into structured JSON.

▣ ENDPOINT 01 / 08
POST
Convert CSV at URL → S3 signed URL
https://api.eu.apyverse.com/apyhub/csv-to-json-converter/csv-url-json-url

QUICKSTART

GUIDE

Quickstart

Convert a CSV file from a public URL into JSON by sending the source file URL and an output name.

curl -X POST "https://api.eu.apyverse.com/apyhub/csv-to-json-converter/csv-url-json-url?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 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.
body*
Publicly accessible URL pointing to a CSV file.

About this endpoint

What it does

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

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
▣ ENDPOINT 02 / 08
POST
Convert uploaded CSV file → S3 signed URL
https://api.eu.apyverse.com/apyhub/csv-to-json-converter/csv-file-json-url

QUICKSTART

GUIDE

Quickstart

Upload a CSV file and get back a pre-signed URL for the converted JSON file.

curl -X POST "https://api.eu.apyverse.com/apyhub/csv-to-json-converter/csv-file-json-url" \
  -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 — a pre-signed S3 URL to the converted file.

{
  "data": "https://example.s3.amazonaws.com/converted-file.json"
}
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 JSON and returns a pre-signed S3 URL for the converted file. The request sends the CSV as a binary file upload, and the response returns the URL in a JSON object.

Query Parameter(s)

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

Request Body

ParameterTypeMandatoryDescription
fileStringYesCSV file to convert. Binary file upload (format: binary).

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
object

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

▣ ENDPOINT 03 / 08
POST
Convert CSV at URL → inline JSON array
https://api.eu.apyverse.com/apyhub/csv-to-json-converter/csv-url-json-raw

QUICKSTART

GUIDE

Quickstart

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

curl -X POST "https://api.eu.apyverse.com/apyhub/csv-to-json-converter/csv-url-json-raw" \
  -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 item in the array is a JSON object, and the exact object fields depend on the CSV contents.

[
  {
    "column1": "value1",
    "column2": "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*
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 a CSV file fetched from a public URL into an inline JSON array. You send the CSV file URL in the request body, and the response returns an array of JSON objects representing the CSV rows.

Request Body

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

Response

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

ParameterTypeMandatoryDescription
items[]ObjectYesA JSON object representing one converted CSV row. Additional properties are allowed.

Body

Name
Type
Description
bodyREQUIRED
object
▣ ENDPOINT 04 / 08
POST
Convert CSV at URL → downloadable JSON file
https://api.eu.apyverse.com/apyhub/csv-to-json-converter/csv-url-json-file

QUICKSTART

GUIDE

Quickstart

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

curl -X POST "https://api.eu.apyverse.com/apyhub/csv-to-json-converter/csv-url-json-file?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 binary JSON file (string with format: binary) containing the converted data.

<downloadable JSON file>
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*
Publicly accessible URL pointing to a CSV file.

About this endpoint

What it does

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

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

Response

Returns a binary file response containing the converted JSON file. The output schema is a downloadable JSON file with binary content.

ParameterTypeMandatoryDescription

Query parameters

Name
Type
Description
outputOPTIONAL
string
DEFAULT sample-output

Body

Name
Type
Description
bodyREQUIRED
object
▣ ENDPOINT 05 / 08
POST
Convert uploaded CSV file → inline JSON array
https://api.eu.apyverse.com/apyhub/csv-to-json-converter/csv-file-json-raw

QUICKSTART

GUIDE

Quickstart

Convert a CSV file to raw JSON by uploading it as multipart form data.

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

What you'll get back

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

[
  {
    "any": "value"
  }
]
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. 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 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. The success response body is an array, and each item is a JSON object with additional properties allowed.

ParameterTypeMandatoryDescription
itemObjectYesOne JSON object produced from a CSV row. Additional properties are allowed.

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 / 08
POST
Convert uploaded CSV file → downloadable JSON file
https://api.eu.apyverse.com/apyhub/csv-to-json-converter/csv-file-json-file

QUICKSTART

GUIDE

Quickstart

Upload a CSV file and get back a converted JSON file.

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

What you'll get back

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

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 a downloadable JSON file. You upload the CSV as the request body file, and the endpoint returns the converted JSON as a binary file response.

Query Parameter(s)

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

Request Body

ParameterTypeMandatoryDescription
fileStringYesCSV file to convert. Binary file upload.

Response

Returns a binary file containing the converted JSON data.

ParameterTypeMandatoryDescription
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 / 08
POST
Convert raw CSV body → inline JSON array
https://api.eu.apyverse.com/apyhub/csv-to-json-converter/csv-raw-json-raw

QUICKSTART

GUIDE

Quickstart

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

curl -X POST "https://api.eu.apyverse.com/apyhub/csv-to-json-converter/csv-raw-json-raw" \
  -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 item is a JSON object; the schema does not declare fixed top-level fields, so the keys depend on the CSV columns.

[
  {
    "name": "Alice",
    "age": "30"
  },
  {
    "name": "Bob",
    "age": "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.
Raw CSV content.

About this endpoint

What it does

Converts a raw CSV string in the request body into a JSON array in the response. The response is an array of objects, with each array item representing one parsed CSV row.

Request Body

ParameterTypeMandatoryDescription
bodyStringYesRaw CSV content.

Response

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

ParameterTypeMandatoryDescription
itemObjectYesA parsed CSV row represented as a JSON object.

Body

Name
Type
Description
bodyREQUIRED
string
Raw CSV content.
▣ ENDPOINT 08 / 08
POST
Convert raw CSV body → downloadable JSON file
https://api.eu.apyverse.com/apyhub/csv-to-json-converter/csv-raw-json-file

QUICKSTART

GUIDE

Quickstart

Send raw CSV text to convert it into a downloadable JSON file.

curl -X POST "https://api.eu.apyverse.com/apyhub/csv-to-json-converter/csv-raw-json-file?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 (application/json) containing the converted data. The response schema is a downloadable file, so there is no JSON object body to display.

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.
Raw CSV content.

About this endpoint

What it does

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

Query Parameter(s)

AttributeTypeMandatoryDescription
outputStringNoDefault: sample-output

Request Body

ParameterTypeMandatoryDescription
bodyStringYesRaw CSV content.

Response

Returns a downloadable JSON file as a binary response. The output schema is a single string value with binary format, representing the converted data file.

ParameterTypeMandatoryDescription
responseStringYesBinary file content in downloadable JSON format.

Query parameters

Name
Type
Description
outputOPTIONAL
string
DEFAULT sample-output

Body

Name
Type
Description
bodyREQUIRED
string
Raw CSV content.
▣ 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.