formatting

JSON to CSV Converter API Reference

Convert a JSON array of objects to a comma-separated values (CSV) file with a header row, or parse a CSV string back to a JSON array. Handles nested objects by dot-notation flattening (e.g. address.city), quoted fields with embedded commas or newlines, and configurable delimiters (comma, semicolon, tab).

Endpoint

POST/api/json-to-csv

Full URL: https://quickhelp.dev/api/json-to-csv

Request

Content-Type: application/json. No authentication required for the anonymous free tier (30 req/min per IP).

FieldTypeRequiredDescription
inputstringYesA JSON array of objects (e.g. [{"name":"Alice"}]) or a CSV string to parse back to JSON
modedefaultNojson-to-csv — convert JSON array to CSV; csv-to-json — parse CSV to JSON array
delimiterdefaultNoField delimiter character: , (comma), ; (semicolon), or \t (tab)
flattendefaultNoWhen true, nested objects are flattened using dot notation (address.city). When false, nested objects are JSON-stringified in the cell.

Response

Returns application/json. On error, returns a JSON object with an error string field and an appropriate HTTP status code.

FieldTypeDescription
outputstringThe converted CSV or JSON string
row_countnumberNumber of data rows (excluding header)
column_countnumberNumber of columns
columnsarrayColumn headers
modeenum
erroroptional

Example

JSON array to CSV

curl

curl -X POST https://quickhelp.dev/api/json-to-csv \
  -H 'Content-Type: application/json' \
  -d '{"input":"[{\"name\":\"Alice\",\"age\":30,\"city\":\"London\"},{\"name\":\"Bob\",\"age\":25,\"city\":\"Paris\"}]","mode":"json-to-csv","delimiter":",","flatten":true}'

Request body

{
  "input": "[{\"name\":\"Alice\",\"age\":30,\"city\":\"London\"},{\"name\":\"Bob\",\"age\":25,\"city\":\"Paris\"}]",
  "mode": "json-to-csv",
  "delimiter": ",",
  "flatten": true
}

Response

{
  "output": "name,age,city\nAlice,30,London\nBob,25,Paris",
  "row_count": 2,
  "column_count": 3,
  "columns": [
    "name",
    "age",
    "city"
  ],
  "mode": "json-to-csv"
}

Error codes

StatusMeaning
200Success — result in response body
400Bad request — invalid input; error field describes the problem
404Tool not found
429Rate limit exceeded (30 req/min anonymous, 300 req/min free key)
500Internal server error — transient; retry with exponential back-off

OpenAPI spec

The full OpenAPI 3.1 specification for all tools is available at /openapi.json. Import it into Postman, Insomnia, or any OpenAPI-compatible client to get all endpoints with schema validation automatically.

We use cookies to serve ads and measure traffic. Cookie policy · Privacy policy