/ PRODUCT · SELF-HOSTED · FOR TEAMS

instantDB.

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

Every file becomes a table, and every table gets its own endpoints.

/ WHY

Your data lives in spreadsheets. Your apps need an API.

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

From file to endpoint in three steps.

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

A real REST API, not an export.

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.

GET
/data/:dataset?column=value&page=2
GET
/data/:dataset/:id
POST
/data/:dataset
PUT · PATCH
/data/:dataset/:id
DELETE
/data/:dataset/:id
GET
/data/:dataset/stats
POST
/data/join

# 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

More than CRUD.

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.

  1. 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.

  2. 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.

  3. 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.

  4. 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

Your spreadsheet,
an API by lunch.

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.

TALK TO US → DEMO · SOON