CSV to JSON Converter - Convert CSV by URL or Text API
Pricing
$20.00 / 1,000 file converteds
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
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
7 hours ago
Last modified
Categories
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).
maxRowsdefaults to 50,000 data rows; hard cap 200,000.- The
urlmust be a direct link to a CSV file (not an HTML page around it).