Scrapers / Developer & File Tools

CSV to JSON Converter
hipersoft/csv-to-json
Convert CSV to clean JSON (and JSON back to CSV) with delimiter detection, header handling and automatic type inference for numbers, booleans and dates. Ready for APIs, no-code tools and pipelines.
Total users
2Monthly users
1Total runs
82Per file converted
$0.01Last rebuilt
Oct 26, 2026Overview
Convert CSV to clean JSON — or JSON back to CSV — in bulk. Automatic delimiter handling, header detection and type inference for numbers, booleans and dates, so the output is ready for APIs, no-code tools, spreadsheets and data pipelines. Paste your data or point to a file URL.

What it does
- CSV → JSON: parse CSV into a clean JSON array, with optional type inference.
- JSON → CSV: flatten a JSON array into a CSV file.
- Handles custom delimiters, headers and large files.
Use cases
- API integration — turn CSV exports into JSON to POST to an API.
- No-code tools — get data into the shape a tool expects.
- Spreadsheets — convert JSON back to CSV for Excel/Sheets.
Input
{ "mode": "csv-to-json", "csvText": "name,age,active\nAda,36,true\nAlan,41,false", "header": true, "dynamicTyping": true }
| Field | Type | Description |
|---|---|---|
mode |
string | csv-to-json or json-to-csv. |
csvText |
string | CSV to convert (or use fileUrl). |
jsonText |
string | JSON array to convert (for JSON → CSV). |
fileUrl |
string | Optional file URL instead of pasting. |
delimiter |
string | Column delimiter (auto-detected if blank). |
header |
boolean | First CSV row is a header. |
dynamicTyping |
boolean | Infer numbers/booleans (CSV → JSON). |
Output

A summary row, plus the full converted file at result.json / result.csv in your key-value store.
{ "rows": 2, "columns": 3, "resultUrl": "https://api.apify.com/v2/key-value-stores/.../records/result.json" }
Output schema
| Field | Type | Description |
|---|---|---|
rows |
integer | Number of rows converted. |
columns |
integer | Number of columns. |
resultUrl |
string (URL) | Link to the converted file. |
FAQ
Where's the converted data? In the result.json / result.csv file in the run's key-value store.
Can I automate it? Yes — via integrations on the Apify platform and the Apify API.
Notes
Original clean-room implementation.
Input
| Field | Type | Description |
|---|---|---|
modeDirection | string · csv-to-json, json-to-csv | Which way to convert. Default: "csv-to-json" |
csvTextCSV | string | Paste CSV here (for CSV → JSON). Leave empty to use a file URL. |
jsonTextJSON | string | Paste a JSON array here (for JSON → CSV). Leave empty to use a file URL. |
fileUrlFile URL | string | Optional link to a CSV or JSON file to convert instead of pasting. |
delimiterDelimiter | string | Column delimiter (leave blank to auto-detect for CSV, defaults to comma for output). |
headerFirst row is a header | boolean | Treat the first CSV row as column names. Default: true |
dynamicTypingInfer types | boolean | Convert numbers and booleans automatically (CSV → JSON). Default: true |
API
curl -X POST "https://api.apify.com/v2/acts/hipersoft~csv-to-json/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"csvText": "name,age,active\nAda,36,true\nAlan,41,false"
}'from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("hipersoft/csv-to-json").call(run_input={
"csvText": "name,age,active\nAda,36,True\nAlan,41,False"
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('hipersoft/csv-to-json').call({
"csvText": "name,age,active\nAda,36,true\nAlan,41,false"
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);Pricing
| Event | Price | Paid plans from |
|---|---|---|
| File converted One CSV/JSON file converted and saved to your storage | $0.01 | $0.005 |
You pay only for what the run returns. Set a maximum cost per run and it stops cleanly at that limit.
Related scrapers
Bulk Image Downloader
Download thousands of images from a list of URLs and store each in the key-value store with a public link. Returns content type, size, dimensions and SHA-256 per image. Bulk-ready. Great for datasets, backups and media pipelines.
8,102 runs · 103 users · $0.056 / url processedText to Speech
Convert any text to natural-sounding speech as an MP3 download. 300+ premium neural voices across 70+ languages, adjustable rate, pitch and volume. Great for voiceovers, videos, accessibility and audio content. No setup.
278 runs · 22 users · $0.01 / audio generatedGoogle Maps Email Extractor
Search Google Maps for businesses, then crawl each business website to extract emails, social profiles and extra phone numbers. Turns any Maps search into a ready lead list. No setup.
159 runs · 8 users · $0.006 / business lead scrapedWebsite Screenshot
Capture full-page or viewport screenshots of any URL as PNG or JPEG, at any device size. For monitoring, previews, thumbnails and automation workflows.
156 runs · 3 users · $0.004 / screenshot capturedBulk URL Status Checker
Check thousands of URLs over plain HTTP: status codes, broken links (404/410/5xx), full redirect chains, response time, content type, page title and SSL certificate expiry.
154 runs · 13 users · $0.002 / url checkedGoogle Search Scraper
Scrape Google Search results (organic listings) for any query: title, URL, displayed URL, snippet and position. Multi-query, per-country/language, pagination. Uses Google SERP proxy — reliable, no captcha, no setup.
121 runs · 8 users · $0.001 / result scrapedSend the site and the fields. We build it and you get it first.