CSV to JSON Converter - Convert CSV by URL or Text API avatar

CSV to JSON Converter - Convert CSV by URL or Text API

Pricing

$20.00 / 1,000 file converteds

Go to Apify Store
CSV to JSON Converter - Convert CSV by URL or Text API

CSV to JSON Converter - Convert CSV by URL or Text API

Convert CSV to JSON via API - from a file URL or pasted raw text (fields: url or csv). Auto-detects delimiter (comma, tab, semicolon, pipe), types values (numbers, booleans, dates), handles quoted fields. Returns JSON records + column/type report. Sync run for agents and pipelines. $0.02 per file.

Pricing

$20.00 / 1,000 file converteds

Rating

0.0

(0)

Developer

Anthony Snider

Anthony Snider

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

7 hours ago

Last modified

Share

CSV to JSON Converter

Convert CSV to JSON in one call: give it a CSV file URL or paste raw CSV text, and get back a clean JSON array of typed records — delimiter auto-detected, numbers/booleans/dates typed, quoted fields handled correctly.

Use it from the web UI, call it as a plain HTTP API (sync run-and-return: one request in, JSON out), or wire it into an agent as an Apify MCP tool.

Common use cases

  • Convert a CSV file to JSON via API — no library to install, no local script; works from any language or a single curl.
  • Parse a CSV export into JSON records — Google Sheets / Excel "save as CSV", Shopify, Stripe, or analytics exports, straight into a pipeline.
  • Feed spreadsheet data to an LLM or agent — agents get typed JSON rows plus a column/type report instead of raw CSV text.
  • Normalize messy CSVs — semicolon-, tab-, or pipe-delimited files and quoted fields with embedded commas or newlines parse correctly.
  • Preview a dataset's schema — get the column list and inferred type per column before ingesting.

Features

  • Auto delimiter detection — comma, tab, semicolon, or pipe; no config needed.
  • Type inference — numbers, booleans, and dates are typed automatically (everything else stays a string).
  • Quoted fields handled — embedded commas, newlines, and quotes parse correctly.
  • URL or raw text — fetch a remote CSV (url) or paste it inline (csv).
  • Column + type report — the column list and inferred type per column come back alongside the rows.

Input

Fetch a CSV by URL:

{
"url": "https://raw.githubusercontent.com/datablist/sample-csv-files/main/files/organizations/organizations-100.csv",
"header": true,
"maxRows": 50000
}

Or paste raw CSV text instead (field name is csv):

{
"csv": "name,age,active\nAda,36,true\nGrace,42,false",
"delimiter": ""
}

If both url and csv are given, the URL wins. Leave delimiter empty to auto-detect. Set header: false to get generated column names (column_1, column_2, …).

Output

One result object in the dataset:

{
"source": "inline-csv",
"rowCount": 2,
"columns": ["name", "age", "active"],
"types": { "name": "string", "age": "number", "active": "boolean" },
"delimiter": ",",
"rows": [
{ "name": "Ada", "age": 36, "active": true },
{ "name": "Grace", "age": 42, "active": false }
]
}

On a bad input (unreachable URL, empty CSV) you get { "source": ..., "error": "..." } instead — no charge for failed conversions.

Call it as an API

curl -X POST "https://api.apify.com/v2/acts/eliai~csv-to-json/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"csv": "name,age\nAda,36"}'

The response body is the JSON result shown above — no polling needed.

Pricing and limits

  • $0.02 per file converted (pay-per-event; you only pay for successful conversions).
  • maxRows defaults to 50,000 data rows; hard cap 200,000.
  • The url must be a direct link to a CSV file (not an HTML page around it).