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
/api/json-to-csvFull 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).
| Field | Type | Required | Description |
|---|---|---|---|
| input | string | Yes | A JSON array of objects (e.g. [{"name":"Alice"}]) or a CSV string to parse back to JSON |
| mode | default | No | json-to-csv — convert JSON array to CSV; csv-to-json — parse CSV to JSON array |
| delimiter | default | No | Field delimiter character: , (comma), ; (semicolon), or \t (tab) |
| flatten | default | No | When 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.
| Field | Type | Description |
|---|---|---|
| output | string | The converted CSV or JSON string |
| row_count | number | Number of data rows (excluding header) |
| column_count | number | Number of columns |
| columns | array | Column headers |
| mode | enum | — |
| error | optional | — |
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
| Status | Meaning |
|---|---|
| 200 | Success — result in response body |
| 400 | Bad request — invalid input; error field describes the problem |
| 404 | Tool not found |
| 429 | Rate limit exceeded (30 req/min anonymous, 300 req/min free key) |
| 500 | Internal 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.