Turn your database into a REST API instantly.

Connect any SQL database and get a secure, standards-based REST API with zero backend code or lock-in.

See it in action

Get started in minutes

Three simple steps to connect your database and serve data through REST endpoints.

  1. 1

    Create your project

    npm init -y
    npm install silobase
    
    # package.json
    "scripts": {
      "start": "silobase start"
    }

    Initialize a new Node.js project, install Silobase, and add the start command.

  2. 2

    Configure your environment

    # .env
    DB_CLIENT=pg
    DB_HOST=localhost
    DB_USER=postgres
    DB_PASSWORD=...
    DB_NAME=mydb
    See full .env example
    DB_CLIENT=pg # or mssql or mysql or sqlite3
    DB_HOST=
    DB_USER=
    DB_PASSWORD=
    DB_PORT=
    DB_NAME=
    
    API_KEY_READ=
    API_KEY_WRITE=
    API_KEY_FULL=
    
    MASK_FIELDS=

    Configure your database credentials and API keys for secure access.

  3. 3

    Deploy anywhere

    npm run start

    Run locally or deploy to AWS, Render, Azure or any cloud of your choosing.

Choose your plan

Start free and scale to enterprise when you need advanced features.

Free

$0 /forever

Perfect for getting started and small projects.

  • Turn database to CRUD API
  • Mask private fields
  • Custom field masking
  • PostgreSQL support
  • MySQL support
  • MSSQL support
  • SQLite support

Start Making Requests

Every request follows the same structure: <base_url>/rest/v1/:table. Replace :table with the name of your database table.

POST   <base_url>/rest/v1/users

Create a new record in the users table.

{
  "username": "alice",
  "email": "alice@example.com",
  "full_name": "Alice Johnson",
  "date_of_birth": "1995-04-12"
}
GET   <base_url>/rest/v1/users

Fetch all rows from the users table.

{
  "status": "success",
  "data": {
    "count": 5,
    "rows": [
      {
        "user_id": 1,
        "username": "alice",
        "email": "alice@example.com",
        "full_name": "Alice Johnson",
        "date_of_birth": "1995-04-12T00:00:00.000Z",
        "created_at": "2025-11-03T15:06:35.067Z"
      },
      {
        "user_id": 2,
        "username": "bob",
        "email": "bob@example.com",
        "full_name": "Bob Smith",
        "date_of_birth": "1990-07-08T00:00:00.000Z",
        "created_at": "2025-11-03T15:06:35.067Z"
      }
    ]
  },
  "code": 200
}
PUT   <base_url>/rest/v1/users?user_id=eq.1

Update an existing record by filter condition.

{
  "full_name": "Alice Zhang"
}