CSV Tools Online
New33+ REST endpoints — CSV, JSON, PDF, extraction

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"}'
200 OK · 42msPOST /v1/csv/to-json
CSVJSONYAMLXMLSQLPDFExcelParquetMarkdownJWTUUIDOCRCSVJSONYAMLXMLSQLPDFExcelParquetMarkdownJWTUUIDOCR
100 free calls / month
99.9% uptime
No credit card
Getting started

Quickstart

From zero to your first API call in under two minutes.

1
Create an account

Sign in with email or Google to access the developer dashboard.

2
Generate a key

Create a key in your dashboard. You'll see the raw token once — store it safely.

3
Make a request

Pass your key as a Bearer token and call any endpoint over HTTPS.

Auth

Authentication

The API uses bearer-token authentication. Pass your key in the Authorization header on every request.

Authorization header
Required
Authorization: Bearer ctok_live_xxxxxxxxxxxxxxxxxxxx
Keep keys server-side. Never expose API keys in client-side code or commit them to git. Use environment variables and rotate keys regularly.
Reference

Endpoints

Base URL https://csvtoolsonline.com/api. Click any category to expand.

POST
/v1/csv/to-json

Convert CSV text into a JSON array.

Example requestcURL
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-csv

Convert JSON array into CSV text.

Example requestcURL
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-excel

Convert CSV to .xlsx workbook.

Example requestcURL
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-xml

Convert CSV to XML document.

Example requestcURL
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-markdown

Convert CSV to a Markdown table.

Example requestcURL
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/clean

Trim whitespace, remove duplicates and empty rows.

Example requestcURL
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/merge

Merge multiple CSV files by columns or rows.

Example requestcURL
curl https://csvtoolsonline.com/api/v1/csv/merge \
  -H "Authorization: Bearer ctok_live_***" \
  -H "Content-Type: application/json" \
  -d '{ "files": ["...","..."] }'

POST
/v1/json/to-yaml

Convert JSON to YAML.

Example requestcURL
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-json

Convert YAML to JSON.

Example requestcURL
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-sql

Generate SQL INSERT statements from JSON.

Example requestcURL
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/minify

Minify or beautify a JSON payload.

Example requestcURL
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-json

Convert XML to JSON.

Example requestcURL
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-parquet

Convert CSV to Apache Parquet.

Example requestcURL
curl https://csvtoolsonline.com/api/v1/csv/to-parquet \
  -H "Authorization: Bearer ctok_live_***" \
  -H "Content-Type: application/json" \
  -d '{ "csv": "..." }'

POST
/v1/pdf/compress

Reduce PDF file size with quality presets.

Example requestcURL
curl https://csvtoolsonline.com/api/v1/pdf/compress \
  -H "Authorization: Bearer ctok_live_***" \
  -H "Content-Type: application/json" \
  -d 'multipart: file'
POST
/v1/pdf/merge

Merge multiple PDFs into one.

Example requestcURL
curl https://csvtoolsonline.com/api/v1/pdf/merge \
  -H "Authorization: Bearer ctok_live_***" \
  -H "Content-Type: application/json" \
  -d 'multipart: files[]'
POST
/v1/pdf/split

Split a PDF by page ranges.

Example requestcURL
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-text

Extract plain text from a PDF.

Example requestcURL
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/ocr

OCR scanned PDFs and images.

Example requestcURL
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-image

Render PDF pages to PNG/JPG.

Example requestcURL
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-word

Convert PDF to editable .docx.

Example requestcURL
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/protect

Password-protect a PDF.

Example requestcURL
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/unlock

Remove password from an owned PDF.

Example requestcURL
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/watermark

Apply text or image watermark.

Example requestcURL
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/emails

Extract validated email addresses.

Example requestcURL
curl https://csvtoolsonline.com/api/v1/extract/emails \
  -H "Authorization: Bearer ctok_live_***" \
  -H "Content-Type: application/json" \
  -d '{ "text": "..." }'
POST
/v1/extract/phones

Extract phones in E.164 format.

Example requestcURL
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/urls

Extract URLs from any text.

Example requestcURL
curl https://csvtoolsonline.com/api/v1/extract/urls \
  -H "Authorization: Bearer ctok_live_***" \
  -H "Content-Type: application/json" \
  -d '{ "text": "..." }'
POST
/v1/extract/regex

Run a regex match on input text.

Example requestcURL
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/uuid

Generate v4 UUIDs in bulk.

Example requestcURL
curl https://csvtoolsonline.com/api/v1/generate/uuid \
  -H "Authorization: Bearer ctok_live_***" \
  -H "Content-Type: application/json" \
  -d '{ "count": 10 }'
POST
/v1/generate/ulid

Generate ULIDs in bulk.

Example requestcURL
curl https://csvtoolsonline.com/api/v1/generate/ulid \
  -H "Authorization: Bearer ctok_live_***" \
  -H "Content-Type: application/json" \
  -d '{ "count": 10 }'
POST
/v1/generate/password

Generate strong passwords.

Example requestcURL
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-csv

Generate realistic mock CSV data.

Example requestcURL
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/convert

Convert between unix and ISO formats.

Example requestcURL
curl https://csvtoolsonline.com/api/v1/timestamp/convert \
  -H "Authorization: Bearer ctok_live_***" \
  -H "Content-Type: application/json" \
  -d '{ "value": 1717400000 }'
POST
/v1/jwt/sign

Sign a JWT with HS256/RS256.

Example requestcURL
curl https://csvtoolsonline.com/api/v1/jwt/sign \
  -H "Authorization: Bearer ctok_live_***" \
  -H "Content-Type: application/json" \
  -d '{ "payload": {...}, "secret": "..." }'
Plans

Pricing that grows with you

Start free — no credit card required. Switch plans, add capacity, or cancel anytime.

Free
For hobby & testing
$0/mo
Forever free
  • 100 requests/mo
  • 10 / min rate limit
  • 2 MB max payload
  • 1 API key
  • Community support
Starter
For indie developers
$19/mo
Billed monthly
  • 10,000 requests/mo
  • 60 / min rate limit
  • 10 MB max payload
  • 10 API keys
  • Email support
MOST POPULAR
Pro
For growing startups
$79/mo
Billed monthly
  • 100,000 requests/mo
  • 300 / min rate limit
  • 50 MB max payload
  • 10 API keys
  • Priority support
Business
For teams & companies
$299/mo
Billed monthly
  • 1,000,000 requests/mo
  • 1,000 / min rate limit
  • 100 MB max payload
  • Unlimited keys
  • SLA + Slack channel
No credit card to start Cancel anytime Upgrade or downgrade instantly Secure payments via Stripe

Annual savings calculator

Drag the slider to pick the plan that matches your usage and see how much you save by paying yearly.

Selected planPro
Pay monthly
$948/yr
$79 × 12 months
Pay yearly
$756/yr
$63/mo billed annually
You save
$192
per year (20% off)

Optional add-ons

Stack on top of any paid plan · cancel anytime

Need more horsepower? Boost specific capabilities without jumping to a bigger plan.

Higher file size

Raise per-request payload from 50 MB to 500 MB.

+$20/mo
Priority processing

Up to 5× faster job runtime on shared infrastructure.

+$30/mo
Async + Webhooks

Long-running jobs with status callbacks to your URL.

+$15/mo
Dedicated IP

A static outbound IP for IP-allowlisted integrations.

+$40/mo
Extended retention

Keep request/response logs for 90 days (default 7).

+$10/mo
Custom API domain

Serve the API from api.yourdomain.com with TLS.

+$25/mo

Compare all features

A side-by-side look at every plan, so you can pick with confidence.

Scroll horizontally to compare plans
Feature
Free
Starter
Pro
Business
Monthly API requests10010,000100,0001,000,000
Rate limit10 / min60 / min300 / min1,000 / min
Max payload per request2 MB10 MB50 MB100 MB
API keys11010Unlimited

Scroll horizontally to compare plans
Feature
Free
Starter
Pro
Business
All 33+ endpoints
HTTPS + Bearer auth
Async jobs & webhooks
Priority processing
Custom API domain

Scroll horizontally to compare plans
Feature
Free
Starter
Pro
Business
Audit log retention7 days7 days30 days90 days
SLA——99.9%99.95% + credits
SupportCommunityEmailPrioritySlack + SLA
Reliability

Errors & rate limits

Every response includes X-RateLimit-Remaining and X-Quota-Remaining headers.

200
OK
Request succeeded.
400
Bad Request
Malformed input or validation error.
401
Unauthorized
Missing or invalid API key.
402
Payment Required
Monthly quota exceeded — upgrade your plan.
429
Too Many Requests
Rate limit exceeded. Retry after the delay in the header.
500
Server Error
Something went wrong on our end. Retries are safe.

Your developer dashboard

Create & revoke API keys, watch quota usage in real time, and manage billing — all in a private workspace.