The data toolkit,
now an API
One key. One base URL. Convert, clean, extract, and generate — for CSV, JSON, YAML, PDF and more — without managing any infrastructure.
curl https://csvtoolsonline.com/api/v1/csv/to-json \
-H "Authorization: Bearer ctok_live_***" \
-d '{"csv":"name,age\nAlice,30"}'Quickstart
From zero to your first API call in under two minutes.
Sign in with email or Google to access the developer dashboard.
Create a key in your dashboard. You'll see the raw token once — store it safely.
Pass your key as a Bearer token and call any endpoint over HTTPS.
Authentication
The API uses bearer-token authentication. Pass your key in the Authorization header on every request.
Authorization: Bearer ctok_live_xxxxxxxxxxxxxxxxxxxx
Endpoints
Base URL https://csvtoolsonline.com/api. Click any category to expand.
POST/v1/csv/to-jsonConvert CSV text into a JSON array.
/v1/csv/to-jsonConvert CSV text into a JSON array.
curl https://csvtoolsonline.com/api/v1/csv/to-json \ -H "Authorization: Bearer ctok_live_***" \ -H "Content-Type: application/json" \ -d '{ "csv": "name,age\nAlice,30" }'
POST/v1/json/to-csvConvert JSON array into CSV text.
/v1/json/to-csvConvert JSON array into CSV text.
curl https://csvtoolsonline.com/api/v1/json/to-csv \ -H "Authorization: Bearer ctok_live_***" \ -H "Content-Type: application/json" \ -d '{ "data": [{"name":"Alice","age":30}] }'
POST/v1/csv/to-excelConvert CSV to .xlsx workbook.
/v1/csv/to-excelConvert CSV to .xlsx workbook.
curl https://csvtoolsonline.com/api/v1/csv/to-excel \ -H "Authorization: Bearer ctok_live_***" \ -H "Content-Type: application/json" \ -d '{ "csv": "a,b\n1,2" }'
POST/v1/csv/to-xmlConvert CSV to XML document.
/v1/csv/to-xmlConvert CSV to XML document.
curl https://csvtoolsonline.com/api/v1/csv/to-xml \ -H "Authorization: Bearer ctok_live_***" \ -H "Content-Type: application/json" \ -d '{ "csv": "id,name\n1,Acme" }'
POST/v1/csv/to-markdownConvert CSV to a Markdown table.
/v1/csv/to-markdownConvert CSV to a Markdown table.
curl https://csvtoolsonline.com/api/v1/csv/to-markdown \ -H "Authorization: Bearer ctok_live_***" \ -H "Content-Type: application/json" \ -d '{ "csv": "a,b\n1,2" }'
POST/v1/csv/cleanTrim whitespace, remove duplicates and empty rows.
/v1/csv/cleanTrim whitespace, remove duplicates and empty rows.
curl https://csvtoolsonline.com/api/v1/csv/clean \ -H "Authorization: Bearer ctok_live_***" \ -H "Content-Type: application/json" \ -d '{ "csv": "...", "ops": ["trim","dedupe"] }'
POST/v1/csv/mergeMerge multiple CSV files by columns or rows.
/v1/csv/mergeMerge multiple CSV files by columns or rows.
curl https://csvtoolsonline.com/api/v1/csv/merge \ -H "Authorization: Bearer ctok_live_***" \ -H "Content-Type: application/json" \ -d '{ "files": ["...","..."] }'
POST/v1/json/to-yamlConvert JSON to YAML.
/v1/json/to-yamlConvert JSON to YAML.
curl https://csvtoolsonline.com/api/v1/json/to-yaml \ -H "Authorization: Bearer ctok_live_***" \ -H "Content-Type: application/json" \ -d '{ "data": {"a":1} }'
POST/v1/yaml/to-jsonConvert YAML to JSON.
/v1/yaml/to-jsonConvert YAML to JSON.
curl https://csvtoolsonline.com/api/v1/yaml/to-json \ -H "Authorization: Bearer ctok_live_***" \ -H "Content-Type: application/json" \ -d '{ "yaml": "a: 1" }'
POST/v1/json/to-sqlGenerate SQL INSERT statements from JSON.
/v1/json/to-sqlGenerate SQL INSERT statements from JSON.
curl https://csvtoolsonline.com/api/v1/json/to-sql \ -H "Authorization: Bearer ctok_live_***" \ -H "Content-Type: application/json" \ -d '{ "data": [...], "table": "users" }'
POST/v1/json/minifyMinify or beautify a JSON payload.
/v1/json/minifyMinify or beautify a JSON payload.
curl https://csvtoolsonline.com/api/v1/json/minify \ -H "Authorization: Bearer ctok_live_***" \ -H "Content-Type: application/json" \ -d '{ "data": {...}, "mode": "minify" }'
POST/v1/xml/to-jsonConvert XML to JSON.
/v1/xml/to-jsonConvert XML to JSON.
curl https://csvtoolsonline.com/api/v1/xml/to-json \ -H "Authorization: Bearer ctok_live_***" \ -H "Content-Type: application/json" \ -d '{ "xml": "<root/>" }'
POST/v1/csv/to-parquetConvert CSV to Apache Parquet.
/v1/csv/to-parquetConvert CSV to Apache Parquet.
curl https://csvtoolsonline.com/api/v1/csv/to-parquet \ -H "Authorization: Bearer ctok_live_***" \ -H "Content-Type: application/json" \ -d '{ "csv": "..." }'
POST/v1/pdf/compressReduce PDF file size with quality presets.
/v1/pdf/compressReduce PDF file size with quality presets.
curl https://csvtoolsonline.com/api/v1/pdf/compress \ -H "Authorization: Bearer ctok_live_***" \ -H "Content-Type: application/json" \ -d 'multipart: file'
POST/v1/pdf/mergeMerge multiple PDFs into one.
/v1/pdf/mergeMerge multiple PDFs into one.
curl https://csvtoolsonline.com/api/v1/pdf/merge \ -H "Authorization: Bearer ctok_live_***" \ -H "Content-Type: application/json" \ -d 'multipart: files[]'
POST/v1/pdf/splitSplit a PDF by page ranges.
/v1/pdf/splitSplit a PDF by page ranges.
curl https://csvtoolsonline.com/api/v1/pdf/split \ -H "Authorization: Bearer ctok_live_***" \ -H "Content-Type: application/json" \ -d 'multipart: file, ranges'
POST/v1/pdf/to-textExtract plain text from a PDF.
/v1/pdf/to-textExtract plain text from a PDF.
curl https://csvtoolsonline.com/api/v1/pdf/to-text \ -H "Authorization: Bearer ctok_live_***" \ -H "Content-Type: application/json" \ -d 'multipart: file'
POST/v1/pdf/ocrOCR scanned PDFs and images.
/v1/pdf/ocrOCR scanned PDFs and images.
curl https://csvtoolsonline.com/api/v1/pdf/ocr \ -H "Authorization: Bearer ctok_live_***" \ -H "Content-Type: application/json" \ -d 'multipart: file'
POST/v1/pdf/to-imageRender PDF pages to PNG/JPG.
/v1/pdf/to-imageRender PDF pages to PNG/JPG.
curl https://csvtoolsonline.com/api/v1/pdf/to-image \ -H "Authorization: Bearer ctok_live_***" \ -H "Content-Type: application/json" \ -d 'multipart: file'
POST/v1/pdf/to-wordConvert PDF to editable .docx.
/v1/pdf/to-wordConvert PDF to editable .docx.
curl https://csvtoolsonline.com/api/v1/pdf/to-word \ -H "Authorization: Bearer ctok_live_***" \ -H "Content-Type: application/json" \ -d 'multipart: file'
POST/v1/pdf/protectPassword-protect a PDF.
/v1/pdf/protectPassword-protect a PDF.
curl https://csvtoolsonline.com/api/v1/pdf/protect \ -H "Authorization: Bearer ctok_live_***" \ -H "Content-Type: application/json" \ -d 'multipart: file, password'
POST/v1/pdf/unlockRemove password from an owned PDF.
/v1/pdf/unlockRemove password from an owned PDF.
curl https://csvtoolsonline.com/api/v1/pdf/unlock \ -H "Authorization: Bearer ctok_live_***" \ -H "Content-Type: application/json" \ -d 'multipart: file, password'
POST/v1/pdf/watermarkApply text or image watermark.
/v1/pdf/watermarkApply text or image watermark.
curl https://csvtoolsonline.com/api/v1/pdf/watermark \ -H "Authorization: Bearer ctok_live_***" \ -H "Content-Type: application/json" \ -d 'multipart: file, text'
POST/v1/extract/emailsExtract validated email addresses.
/v1/extract/emailsExtract validated email addresses.
curl https://csvtoolsonline.com/api/v1/extract/emails \ -H "Authorization: Bearer ctok_live_***" \ -H "Content-Type: application/json" \ -d '{ "text": "..." }'
POST/v1/extract/phonesExtract phones in E.164 format.
/v1/extract/phonesExtract phones in E.164 format.
curl https://csvtoolsonline.com/api/v1/extract/phones \ -H "Authorization: Bearer ctok_live_***" \ -H "Content-Type: application/json" \ -d '{ "text": "...", "defaultCountry": "US" }'
POST/v1/extract/urlsExtract URLs from any text.
/v1/extract/urlsExtract URLs from any text.
curl https://csvtoolsonline.com/api/v1/extract/urls \ -H "Authorization: Bearer ctok_live_***" \ -H "Content-Type: application/json" \ -d '{ "text": "..." }'
POST/v1/extract/regexRun a regex match on input text.
/v1/extract/regexRun a regex match on input text.
curl https://csvtoolsonline.com/api/v1/extract/regex \ -H "Authorization: Bearer ctok_live_***" \ -H "Content-Type: application/json" \ -d '{ "text": "...", "pattern": "\\d+" }'
POST/v1/generate/uuidGenerate v4 UUIDs in bulk.
/v1/generate/uuidGenerate v4 UUIDs in bulk.
curl https://csvtoolsonline.com/api/v1/generate/uuid \ -H "Authorization: Bearer ctok_live_***" \ -H "Content-Type: application/json" \ -d '{ "count": 10 }'
POST/v1/generate/ulidGenerate ULIDs in bulk.
/v1/generate/ulidGenerate ULIDs in bulk.
curl https://csvtoolsonline.com/api/v1/generate/ulid \ -H "Authorization: Bearer ctok_live_***" \ -H "Content-Type: application/json" \ -d '{ "count": 10 }'
POST/v1/generate/passwordGenerate strong passwords.
/v1/generate/passwordGenerate strong passwords.
curl https://csvtoolsonline.com/api/v1/generate/password \ -H "Authorization: Bearer ctok_live_***" \ -H "Content-Type: application/json" \ -d '{ "length": 24, "count": 5 }'
POST/v1/generate/mock-csvGenerate realistic mock CSV data.
/v1/generate/mock-csvGenerate realistic mock CSV data.
curl https://csvtoolsonline.com/api/v1/generate/mock-csv \ -H "Authorization: Bearer ctok_live_***" \ -H "Content-Type: application/json" \ -d '{ "rows": 100, "schema": [...] }'
POST/v1/timestamp/convertConvert between unix and ISO formats.
/v1/timestamp/convertConvert between unix and ISO formats.
curl https://csvtoolsonline.com/api/v1/timestamp/convert \ -H "Authorization: Bearer ctok_live_***" \ -H "Content-Type: application/json" \ -d '{ "value": 1717400000 }'
POST/v1/jwt/signSign a JWT with HS256/RS256.
/v1/jwt/signSign a JWT with HS256/RS256.
curl https://csvtoolsonline.com/api/v1/jwt/sign \ -H "Authorization: Bearer ctok_live_***" \ -H "Content-Type: application/json" \ -d '{ "payload": {...}, "secret": "..." }'
Pricing that grows with you
Start free — no credit card required. Switch plans, add capacity, or cancel anytime.
- 100 requests/mo
- 10 / min rate limit
- 2 MB max payload
- 1 API key
- Community support
- 10,000 requests/mo
- 60 / min rate limit
- 10 MB max payload
- 10 API keys
- Email support
- 100,000 requests/mo
- 300 / min rate limit
- 50 MB max payload
- 10 API keys
- Priority support
- 1,000,000 requests/mo
- 1,000 / min rate limit
- 100 MB max payload
- Unlimited keys
- SLA + Slack channel
Annual savings calculator
Drag the slider to pick the plan that matches your usage and see how much you save by paying yearly.
Optional add-ons
Stack on top of any paid plan · cancel anytimeNeed more horsepower? Boost specific capabilities without jumping to a bigger plan.
Raise per-request payload from 50 MB to 500 MB.
Up to 5× faster job runtime on shared infrastructure.
Long-running jobs with status callbacks to your URL.
A static outbound IP for IP-allowlisted integrations.
Keep request/response logs for 90 days (default 7).
Serve the API from api.yourdomain.com with TLS.
Compare all features
A side-by-side look at every plan, so you can pick with confidence.
| Feature | Free | Starter | Pro | Business |
|---|---|---|---|---|
| Monthly API requests | 100 | 10,000 | 100,000 | 1,000,000 |
| Rate limit | 10 / min | 60 / min | 300 / min | 1,000 / min |
| Max payload per request | 2 MB | 10 MB | 50 MB | 100 MB |
| API keys | 1 | 10 | 10 | Unlimited |
| Feature | Free | Starter | Pro | Business |
|---|---|---|---|---|
| All 33+ endpoints | ||||
| HTTPS + Bearer auth | ||||
| Async jobs & webhooks | ||||
| Priority processing | ||||
| Custom API domain |
| Feature | Free | Starter | Pro | Business |
|---|---|---|---|---|
| Audit log retention | 7 days | 7 days | 30 days | 90 days |
| SLA | — | — | 99.9% | 99.95% + credits |
| Support | Community | Priority | Slack + SLA |
| Feature | Free $0/mo | Starter $19/mo | Pro $79/mo | Business $299/mo |
|---|---|---|---|---|
| Usage & limits | ||||
| Monthly API requests | 100 | 10,000 | 100,000 | 1,000,000 |
| Rate limit | 10 / min | 60 / min | 300 / min | 1,000 / min |
| Max payload per request | 2 MB | 10 MB | 50 MB | 100 MB |
| API keys | 1 | 10 | 10 | Unlimited |
| Capabilities | ||||
| All 33+ endpoints | ||||
| HTTPS + Bearer auth | ||||
| Async jobs & webhooks | ||||
| Priority processing | ||||
| Custom API domain | ||||
| Support & compliance | ||||
| Audit log retention | 7 days | 7 days | 30 days | 90 days |
| SLA | — | — | 99.9% | 99.95% + credits |
| Support | Community | Priority | Slack + SLA | |
Errors & rate limits
Every response includes X-RateLimit-Remaining and X-Quota-Remaining headers.
200400401402429500Your developer dashboard
Create & revoke API keys, watch quota usage in real time, and manage billing — all in a private workspace.
