Upload a file.
Get an API.

Turn any CSV, JSON, or Excel file into a live REST API with filtering, sorting, and full-text search. One command. No backend code.

curl -F file=@data.csv api.liteio.dev/upload

Upload

Drop a CSV, JSON, TSV, JSON Lines, or Excel file. Schema detected automatically — column types, nullability, and constraints inferred from the data.

Query

Filter by any field with operators. Sort ascending or descending. Paginate with offset or page numbers. Full-text search across all text columns.

Share

Get a permanent URL. Share with your team, embed in dashboards, or give it to your AI agent. Public datasets need no authentication.

UPLOAD

One command. Working API.

Upload any supported file and get back a dataset ID with a live API URL. Schema is detected automatically — integers, numbers, booleans, dates, and text. The response includes ready-to-use example queries.

CSV, JSON, TSV, JSONL, Excel — all detected automatically
Auto schema — types inferred from first 1000 rows
Instant — API live before the response finishes printing
TERMINAL
$ curl -F file=@products.csv api.liteio.dev/upload { "id": "ds_a7f3b1c2", "name": "products", "rows": 2847, "columns": ["id", "name", "category", "price", "rating"], "api": "https://api.liteio.dev/d/ds_a7f3b1c2" }
QUERY

Filter. Sort. Search. Paginate.

Every dataset gets a full query API out of the box. Filter with field-level operators, sort by any column, paginate results, and run full-text search across all text fields.

9 filter operators — eq, gt, gte, lt, lte, ne, like, in, null
Multi-field sort — prefix - for descending
Full-text search?q=keyword across all text columns
TERMINAL
$ curl "api.liteio.dev/d/ds_a7f3b1c2?category=electronics&price:gt=50&sort=-rating&limit=3" { "data": [ {"name":"Pro Headphones", "price":299, "rating":4.9}, {"name":"USB-C Hub", "price":79, "rating":4.7}, {"name":"Wireless Mouse", "price":59, "rating":4.6} ], "meta": {"total":847, "limit":3, "has_more":true} }
INTROSPECTION

Schema and stats. Automatically.

Every dataset exposes its detected schema and column statistics. Know your data's shape, types, ranges, and distributions without writing a single query.

/schema — column names, types, nullability
/stats — min, max, avg, unique counts, top values
Export?format=csv or ?format=jsonl
TERMINAL
$ curl api.liteio.dev/d/ds_a7f3b1c2/stats { "price": {"min":4.99, "max":2499.99, "avg":89.42}, "rating": {"min":1.0, "max":5.0, "avg":3.8, "nulls":142}, "category": {"unique":12, "top":["electronics","books"]} }
AI INTEGRATION

Your AI queries your data.

Connect to Claude or ChatGPT via MCP. Your AI agent can list datasets, explore schemas, and query data with filters — all from the conversation. Upload a spreadsheet, ask questions in English.

4 MCP tools — list, query, schema, upload
Works with Claude via MCP server integration
Works with ChatGPT via connected apps
See all tools →
claude.ai
What are the top-rated electronics under $100?
Querying your products dataset:
?category=electronics&price:lt=100&sort=-rating

Found 23 products. Top 3:
1. Wireless Mouse — $59, 4.6 stars
2. USB-C Cable Pack — $24, 4.5 stars
3. Phone Stand — $18, 4.4 stars
FORMATS

Works with your data.

.csv
CSV

Comma-separated values. Header row detected automatically. The most common format for exports from spreadsheets, databases, and analytics tools.

.json
JSON

Array of objects or {"data":[...]} wrapper. Keys become column names. Nested objects flattened with dot notation.

.tsv
TSV

Tab-separated values. Same as CSV but tab-delimited. Common in bioinformatics, linguistics, and data exports from some databases.

.jsonl
JSON Lines

One JSON object per line. The streaming-friendly format used by OpenAI, Hugging Face, and modern data pipelines.

.xlsx
Excel

First sheet, first row as headers. Upload the spreadsheet your team already has — no manual export step needed.

?format=
Export

Query results exportable as CSV or JSON Lines. Apply filters and sort first, then download the subset you need.

FILTER OPERATORS

Express any query in the URL.

?field=value Exact match
?field:gt=100 Greater than
?field:gte=100 Greater than or equal
?field:lt=50 Less than
?field:lte=50 Less than or equal
?field:ne=books Not equal
?field:like=wire% Pattern match
?field:in=a,b,c In set
?field:null=true Is null
?sort=-price,name Multi-field sort
?q=keyword Full-text search
?limit=25&page=2 Pagination

Your data deserves an API.

Upload a file and start querying in seconds. No signup required for public datasets.

# API Upload any file. Get a REST API in seconds. No backend code required. Upload a CSV, JSON, TSV, or Excel file with one command. Get a live API with filtering, sorting, pagination, and full-text search — instantly. ## Quick Start
bash # Upload a file curl -F file=@products.csv https://api.liteio.dev/upload # Query your data curl https://api.liteio.dev/d/ds_a7f3b1c2 # Filter + sort curl "https://api.liteio.dev/d/ds_a7f3b1c2?category=electronics&price:gt=50&sort=-rating" # Full-text search curl "https://api.liteio.dev/d/ds_a7f3b1c2?q=wireless+headphones" # Get schema curl https://api.liteio.dev/d/ds_a7f3b1c2/schema # Export as CSV curl "https://api.liteio.dev/d/ds_a7f3b1c2?format=csv"
## Upload
POST /upload Content-Type: multipart/form-data
Upload any supported file. Returns dataset ID and working API URL. ### Supported Formats
FormatContent-TypeDetection
CSVtext/csvHeader row, comma delimiter
TSVtext/tab-separated-valuesHeader row, tab delimiter
JSONapplication/jsonArray of objects or { "data": [...] }
JSON Linesapplication/x-ndjsonOne JSON object per line
Excelapplication/vnd.openxmlformats...First sheet, header row
### Schema Detection Types inferred automatically from data:
TypeRule
integerAll values match /^-?\d+$/
numberAll values match /^-?\d+\.?\d*$/
booleanValues in {true, false, 1, 0, yes, no}
dateISO 8601 date
datetimeISO 8601 datetime
textDefault fallback
Override with X-Schema header (JSON mapping column → type). ## Query API All endpoints live under /d/{dataset_id}. ### List Rows
MethodEndpointDescription
GET/d/{id}List rows (default limit 25)
GET/d/{id}?limit=50&offset=100Offset pagination
GET/d/{id}?page=3&limit=25Page-based pagination
GET/d/{id}/{row}Get single row by number
### Filter Operators
OperatorExampleMeaning
(none)?category=electronicsEquals
:gt?price:gt=100Greater than
:gte?price:gte=100Greater than or equal
:lt?price:lt=50Less than
:lte?price:lte=50Less than or equal
:ne?category:ne=booksNot equal
:like?name:like=wire%Pattern match
:in?category:in=books,electronicsIn set
:null?rating:null=trueIs null
Multiple filters are AND-ed. ### Sort
GET /d/{id}?sort=-price,name # price DESC, name ASC GET /d/{id}?sort=category,-rating # category ASC, rating DESC
Prefix - for descending. Comma-separated for multi-field. ### Full-Text Search
GET /d/{id}?q=wireless+headphones
Searches all text columns. Results ranked by relevance. ### Introspection
MethodEndpointDescription
GET/d/{id}/schemaColumn names, types, nullability
GET/d/{id}/statsMin, max, avg, unique counts, top values
### Export
GET /d/{id}?format=csv GET /d/{id}?format=jsonl
Filters and sort apply before export. ## Update Data
bash # Replace entire dataset curl -X PUT -F file=@products_v2.csv https://api.liteio.dev/d/ds_a7f3b1c2 # Append rows curl -X POST -F file=@new_rows.csv https://api.liteio.dev/d/ds_a7f3b1c2/append
Same ID, same URL. Existing integrations keep working. ## AI Integration (MCP) Connect your AI to query uploaded data directly from the conversation. ### MCP Tools
ToolDescription
data_listList uploaded datasets
data_queryQuery with filters, sort, search
data_schemaGet schema and column stats
data_uploadUpload data from conversation context
### Connect Your AI Claude.ai: Settings > Integrations > Add custom connector > https://api.liteio.dev/mcp ChatGPT: Settings > Connected apps > Add by URL > https://api.liteio.dev/mcp Claude Desktop (claude_desktop_config.json):
json { "mcpServers": { "api": { "command": "npx", "args": ["-y", "mcp-remote", "https://api.liteio.dev/mcp"] } } }
## Authentication Public datasets require no auth (read-only). For private datasets:
bash # Upload with auth → private dataset curl -F file=@data.csv -H "Authorization: Bearer sk_..." https://api.liteio.dev/upload # Query private dataset curl -H "Authorization: Bearer sk_..." https://api.liteio.dev/d/ds_private123
## Limits
LimitValue
Max file size10 MB
Max rows100,000
Max columns100
Max datasets (free)10
Query result limit10,000 rows
## Links - API Reference — Swagger UI - MCP Tools — AI agent integration - OpenAPI Spec — Machine-readable spec