Scrapers / Developer & File Tools

Data Format Converter
hipersoft/data-format-converter
Convert structured data between JSON, YAML, XML, TOML, NDJSON and CSV. Paste raw data or point at a file URL, auto-detect the source format, and get a clean converted document plus a dataset row.
Total users
2Monthly users
1Total runs
76Per file converted
$0.003Last rebuilt
Oct 26, 2026Overview
Convert structured data between JSON, YAML, XML, TOML, NDJSON and CSV — paste it in or point at a file URL, and get a clean converted document back.
What it does
- Converts between JSON, YAML, XML, TOML, NDJSON and CSV in any direction.
- Auto-detects the source format so you don't have to specify it.
- Accepts raw text or a file URL to fetch and convert.
- Runs a batch of many conversions in a single run.
- Returns the converted document as a downloadable file plus a tidy dataset row for each conversion.
Use cases
- No-code pipelines (n8n / Make / Zapier) — run this from the Apify node, then pass the converted output straight to the next step (a webhook, a database, a file store).
- APIs & integrations — turn a YAML config or an XML feed into JSON your app can consume.
- Data prep — flatten JSON or NDJSON into CSV for spreadsheets and BI tools.
- Migrations — move config or fixtures between formats when switching tools.
Input
{
"data": "{\"name\":\"Ada\",\"roles\":[\"admin\",\"dev\"]}",
"from": "auto",
"to": "yaml"
}
Batch mode:
{
"items": [
{ "data": "a,b\n1,2", "from": "csv", "to": "json" },
{ "data": "name: Ada", "from": "yaml", "to": "xml" }
]
}
| Field | Type | Description |
|---|---|---|
data |
string | Raw source document to convert. Provide this or fileUrl. |
fileUrl |
string | Public URL of a file to fetch and convert (used when data is empty). |
from |
string | Source format: auto, json, yaml, xml, toml, ndjson, csv. |
to |
string | Target format: json, yaml, xml, toml, ndjson, csv. |
items |
array | Optional batch of { data, from, to } objects for many conversions in one run. |
Output
Each converted document is saved to the run's key-value store and a row is pushed to the dataset.
{
"from": "json",
"to": "yaml",
"bytes": 34,
"resultUrl": "https://api.apify.com/v2/key-value-stores/.../records/converted-0001.yaml",
"ok": true
}
Output schema
| Field | Type | Description |
|---|---|---|
from |
string | Detected or specified source format. |
to |
string | Target format the document was converted to. |
bytes |
integer | Size of the converted document in bytes. |
resultUrl |
string | Direct link to download the converted file. |
ok |
boolean | Whether the conversion succeeded. |
FAQ
Which formats are supported? JSON, YAML, XML, TOML, NDJSON and CSV — in any direction.
Do I have to set the input format? No. Leave from on auto and it is detected for you.
Can I convert many documents at once? Yes — pass an items array and each is converted and saved separately.
Can I use it in n8n? Yes. Trigger it from the Apify node and pass the output to the next step. See Apify integrations and the Apify API.
Notes
Original clean-room implementation.
Input
| Field | Type | Description |
|---|---|---|
dataData | string | Raw source document to convert, pasted as text. Provide this OR a File URL. Ignored when Items is used. |
fileUrlFile URL | string | Public URL of a file to fetch and convert. Used when Data is empty. Ignored when Items is used. |
fromFrom format | string · auto, json, yaml, xml, toml, ndjson… | Source format of the input. Choose Auto-detect to identify it automatically. Default: "auto" |
toTo format | string · json, yaml, xml, toml, ndjson, csv | Target format to convert the input into. Default: "yaml" |
itemsBatch items | array | Optional batch: an array of objects like {"data":"...","from":"json","to":"yaml"} to run many conversions in one run. Overrides the single Data / File URL fields. |
API
curl -X POST "https://api.apify.com/v2/acts/hipersoft~data-format-converter/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{}'from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("hipersoft/data-format-converter").call(run_input={})
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/data-format-converter').call({});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);Pricing
| Event | Price | Paid plans from |
|---|---|---|
| File Converted Charged per file/document converted between formats. | $0.003 | $0.0015 |
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.