Free to start — no credit card
.csv
in,
API out.
Upload a CSV or Excel file and instantly get a REST API with filtering, sorting, and pagination — or connect AI assistants directly via MCP.
Built by Sean Reed
1. Upload
Drop a CSV or Excel file. We detect column names, data types, and show a preview.
2. Confirm
Review and rename columns. Hit confirm and we build your table.
3. Query
Fetch, filter, sort, and paginate via your API key.
Works with ChatGPT, Claude & more via MCP
Enable MCP on any dataset and AI assistants can query, filter, and aggregate your data directly. No copy-pasting, no prompts full of CSV rows.
$ curl -H "Authorization: Bearer YOUR_KEY" \ "https://csv-api.com/api/v1/datasets/d_a8f3bc91/records?sort=-age&per_page=2" { "data": [ { "name": "Alice", "age": 32, "city": "Portland" }, { "name": "Bob", "age": 28, "city": "Portland" } ], "meta": { "total": 47, "page": 1, "per_page": 2, "total_pages": 24 } }
Filtering & Sorting
Query by any column with exact match, comparison, or pattern filters. Sort ascending or descending on any field.
Pagination
Built-in offset pagination with configurable page sizes. Response metadata includes total count and page info.
Type Detection
Columns are auto-typed as integer, float, boolean, date, or string. Query operators respect detected types.
API Key Auth
Every account gets API keys. Authenticate with a Bearer header or pass the key as a query parameter.
Instant Setup
Upload a CSV or Excel file and your API is live in seconds. No configuration, no schema definitions, no deploy step.
CORS Ready
APIs include CORS headers so you can fetch data directly from frontend apps, static sites, or SPAs.
Natural Language Queries
Ask questions about your data in plain English with the prompt parameter. We translate your query into filters automatically.
Interactive API Docs
Every dataset gets auto-generated OpenAPI documentation with an interactive Swagger UI. Explore endpoints, test queries, and see response schemas.
Inline Data Editing
Add, edit, and delete individual rows directly from the dashboard. Update your API data without re-uploading the file.
Write API
Create, update, and delete records over REST. Private (sk_) keys unlock writes; public (pk_) keys stay read-only and safe to embed.
Bulk Upserts
Insert or update up to 1,000 rows per request with on_conflict and key_columns. Idempotent imports without re-uploading whole files.
Aggregation
count, sum, avg, min, max with optional group_by — without dragging rows to the client. Same filter syntax as the list endpoint.
Built for your workflow
However you work with data, csv-api fits right in.
Rapid Prototyping
Need a backend for your hackathon project or prototype? Upload a CSV or Excel file and start building your frontend immediately.
Internal Tools
Power admin dashboards and internal apps with real data. Use natural language queries to find exactly what you need without writing filters by hand.
Static Sites & SPAs
Fetch live data from your Jekyll, Hugo, or React site without standing up a server. Query with plain English prompts or structured filters.
Data Sharing
Share a filtered, read-only API with teammates or clients instead of emailing spreadsheets around.
Simple pricing
Start free. Upgrade when you need more.
Free
$0/mo
- 3 datasets
- 500 rows
- 500 KB uploads
- 100 req/hr
- 5 prompt queries/hr
- 1 shared page
Starter
$9/mo
- 10 datasets
- 5,000 rows
- 10 MB uploads
- 1,000 req/hr
- 100 prompt queries/hr
- Inline data editing
- 5 shared pages
Pro
$29/mo
- 50 datasets
- 50,000 rows
- 50 MB uploads
- 5,000 req/hr
- 500 prompt queries/hr
- Inline data editing
- 50 shared pages
Scale
$79/mo
- Unlimited datasets
- 200K+ rows
- 100 MB uploads
- 25,000 req/hr
- 1,000 prompt queries/hr
- Inline data editing
- Unlimited shared pages