/ PRODUCT · SELF-HOSTED · FOR TEAMS
Upload a CSV or Excel file and get a database with a complete REST API over it in seconds. No schema to design, no backend to write, no waiting on the dev team.
Runs on your servers · SQLite or PostgreSQL · OpenAPI included
| name | city | plan | |
|---|---|---|---|
| 1 | Northwind Ltd | Madrid | pro |
| 2 | Acme Foods | Lisbon | basic |
| 3 | Hoja Verde | Madrid | pro |
| 4 | Blue Harbour | Porto | pro |
| 5 | … |
$ curl api.example.com/data/customers?city=Madrid
{
"total": 312, "page": 1, "limit": 20,
"data": [
{ "name": "Northwind Ltd", "plan": "pro" },
{ "name": "Hoja Verde", "plan": "pro" },
…
]
}
$ █
/ WHY
The price list, the customer register, the stock count, last year's sales. Every company has data in Excel that a website, an internal tool or an integration needs to read — and turning it into a proper backend usually means a database, a schema, an API and weeks in the development queue.
instantDB skips all of that. Drop in the file and you get a table with its columns detected, endpoints to read, filter, insert, update and delete rows, and interactive documentation for whoever has to use it. When the data changes, upload it again.
/ HOW IT WORKS
Everything happens in a web interface: no command line, no SQL. Developers get a standard REST API and an OpenAPI spec; everyone else gets a table they can browse.
01
Upload
Drag a CSV or Excel file onto the page. Pick one sheet or import every sheet as its own dataset. Custom CSV separators are supported.
02
Get a table
Columns are detected and named automatically, and every row gets an id. You receive an ownership code that protects the dataset against changes.
03
Use the API
The endpoints are live straight away, documented in Swagger UI. Connect your website, app, spreadsheet or automation tool.
/ API
Read and search freely; writing needs the dataset's ownership code, so a public read endpoint never becomes a public write endpoint. Rate limiting is on by default.
# add a customer
$ curl -X POST api.example.com/data/customers \
-H "Content-Type: application/json" \
-d '{
"ownershipCode": "550e8400-…",
"data": { "name": "Río Claro",
"city": "Seville", "plan": "pro" }
}'
# every webhook for this dataset receives
{ "event": "row.insert", "dataset": "customers", … }
# the whole spec, for code generators
$ curl api.example.com/api-json
/ FEATURES
Once the data is in, instantDB gives you the pieces that usually take another sprint each: combining tables, reacting to changes, collecting new rows and seeing the numbers.
JOINS
Combine datasets
A visual builder to join several tables by their columns, group and order the result, and save it as a named configuration to open again later.
WEBHOOKS
React to changes
Notify your systems when rows are inserted, updated or deleted, or when a dataset is uploaded. Delivery logs and test sends included.
FORMS
Collect rows
Build a form for any dataset, choose which fields to show, and share it. Every submission becomes a new row — public or private.
CHARTS
See the numbers
Chart any dataset or join result, and get column statistics without exporting anything back to Excel.
/ DETAILS
Your servers
instantDB is installed on your infrastructure. Your data never passes through a third-party cloud.
SQLite or Postgres
A single SQLite file to start small, or point it at your PostgreSQL when the data grows.
Documented
Swagger UI and an OpenAPI spec, ready to generate a typed client in the language your team uses.
Protected writes
Changes to rows, webhooks and forms require the dataset's ownership code, and every endpoint is rate limited.
/ START
instantDB is licensed to run on your own infrastructure. It's built and maintained by MEPS — tell us what data you need to open up and we'll set it up with you. A public demo is on its way.