Instant database
for modern apps

Focus on building features. RushDB handles the rest.

typescript Typescript Logo
python Python Logo
import RushDB from '@rushdb/javascript-sdk'

const db = new RushDB('API_TOKEN')

const user = await db.records.create('USER', {
  name: 'Paul Schmitz',
  lastActive: '2024-12-02T11:38:29Z',
  verified: true,
  size: 9.5,
  favoriteTags: ['Daily Run', 'Foam']
})

await db.records.find({
  labels: ['USER'],
  where: {
    size: { $gte: 9 },
    favoriteTags: {
      $in: ['Foam']
    }
  }
})

RushDB is an open-source, graph-powered zero-config database

pnpm add @rushdb/javascript-sdk
package-version

Push any JSON or CSV data

RushDB intelligently maps relationships, types,
and labels any input data, so you don’t have to.

import RushDB from '@rushdb/javascript-sdk'

const db = new RushDB('rushdb-api-key')

await db.records.createMany("COMPANY", {
  name: 'Google LLC',
  address: '1600 Amphitheatre Parkway, Mountain View, CA 94043, USA',
  foundedAt: '1998-09-04T00:00:00.000Z',
  rating: 4.9,
  DEPARTMENT: [{
    name: 'Research & Development',
    description: 'Innovating and creating advanced technologies for AI, cloud computing, and consumer devices.',
    tags: ['AI', 'Cloud Computing', 'Research'],
    profitable: true,
    PROJECT: [{
      name: 'Bard AI',
      description: 'A state-of-the-art generative AI model for natural language understanding and creation.',
      active: true,
      budget: 1200000000,
      EMPLOYEE: [{
        name: 'Jeff Dean',
        position: 'Head of AI Research',
        email: 'jeff@google.com',
        salary: 3000000
32MB

In a single payload or...

10 000+ products for online store

100 000+ financial transactions

1 000 000+ API logs

~0.25ms

Batch write speed per Record

ACID Compliance

Ensures data integrity and reliability

Automatic Data Normalization

Records are created with appropriate types and relationships between them,
without any need for predefined models or schemas.

COMPANY
Record
---------------------
name:        "string"
address:     "string"
foundedAt: "datetime"
rating:      "number"
PROJECT
Record
---------------------
name:        "string"
description: "string"
active:     "boolean"
budget:      "number"
DEPARTMENT
Record
---------------------
name:        "string"
description: "string"
tags:        "string"
profitable: "boolean"
EMPLOYEE
Record
------------------
name:     "string"
position: "string"
email:    "string"
salary:   "number"

Query Smarter, Not Harder

Every Property gets its own "container," smartly linked to other matching Records
by name and type, making querying easy and performant.

Property
-------------------
name: "description"
type:      "string"
PROJECT
DEPARTMENT

Complex Queries, Simple Syntax

Find exactly what you need with ease. With automated on-the-fly data normalization, query complex, deeply interconnected data without the acrobatics.

typescript Typescript Logo
python Python Logo
await db.records.find({
  labels: ['COMPANY'],
  where: {
    stage: 'seed',
    address: { $contains: 'USA' },
    foundedAt: {
      $year: { $lte: 2000 }
    },
    rating: {
      $or: [{ $lt: 2.5 }, { $gte: 4.5 }]
    },
    EMPLOYEE: {
      $alias: '$employee',
      salary: {
        $gte: 500_000
      }
    }
  },
  aggregate: {
    employees: {
      fn: 'collect',
      alias: '$employee',
      limit: 10
    }
  }
})

Build Powerful Filters & Search

List every variation. Filter with ease. Build catalogs and search experiences like a pro - no backend, no fuss. All from a single API.

typescript Typescript Logo
python Python Logo
// Property `name` [string]
await db.properties.values(
  '0192397b-8579-7ce2-a899-01c59bad63f8'
)
// Response
{
  values: [
    'Eleanor Whitaker',
    'Marcus Donovan',
    'Priya Kapoor',
    'Julian Alvarez'
  ],
  type: 'string'
}

// Property `size` [number]
await db.properties.values(
  '019412c0-2051-71fe-bc9d-26117b52c119'
)
// Response
{
  min: 5.5,
  max: 12.5,
  values: [5.5, 6, 6.5, 7, 7.5, 8, 8.5, ...],
  type: 'number'
}

Live Demo: See RushDB in Action

Experience the power of RushDB firsthand.

Explore Examples GitHub
Live Preview
db.ts
api.ts
Records.tsx React Logo

Use Cases

SaaS & Apps

Building the next big thing shouldn't start with battling clumsy databases and other stuff. Focus on delivering features - RushDB takes care of the rest.

AI / ML & Research

Having fast and reliable data storage for AI is challenging yet rewarding. RushDB helps you store structured and semi-structured data at scale.

Persistence for AI Era: Smart and Simple

RushDB handles the complexity - so you can focus on building. Just push JSON, query granularly, and let automatic labeling and type suggestions do the rest.

typescript Typescript Logo
python Python Logo
import OpenAI from 'openai'
import RushDB from '@rushdb/javascript-sdk'

const db = new RushDB('rushdb-api-key')
const openai = new OpenAI({ apiKey: 'openai-api-key' })

async function generateAndStoreData() {
  // Step 1: Call OpenAI API to generate some output
  const prompt = '...'
  const completion = await openai.chat.completions.create({
    model: 'gpt-3.5-turbo',
    messages: [{ role: 'user', content: prompt }],
    response_format: { type: 'json_object' }
  })

  // Step 2: Extract the generated content
  const generatedContent = completion.choices[0].message.content
  const parsedContent = JSON.parse(generatedContent)

  // Step 3: Store the output in RushDB
  const record = await db.records.createMany(
    'AI_RESPONSE',
    parsedContent
  )
}

IoT Projects

Don’t let infrastructure complexity slow down your IoT innovation. RushDB handles data ingestion and storage - so you can focus on building smarter solutions.

Search Engines

RushDB makes filtering large datasets fast and efficient, handling data of any shape and complexity with search capabilities designed for performance.

Hobby Projects

What’s more frustrating than losing your spark of inspiration to infrastructure hassle? RushDB lets you skip the grind and get back to building.

Create a project, grab your API token,
and start building in less than 30 seconds

Fully Featured Dashboard

That helps you navigate your data intuitively and fast

dashboard-preview

Self-hosted? Simple.

1. Setup your Neo4j instance or use Neo4j Aura

2. Run RushDB container with Neo4j credentials

docker run -p 3000:3000 --name rushdb \
-e NEO4J_URL='bolt+s://your-neo4j-instance-url:7687' \
-e NEO4J_USERNAME='neo4j' \
-e NEO4J_PASSWORD='password' \
rushdb/platform

That's it. RushDB is ready at localhost:3000 🎉️

Read the Docs

Not an infra fan? Opt for RushDB Cloud

2 Projects Free Forever. No Maintenance Required.
Focus on building apps, not on managing infrastructure.

Team & Mission

ArtemiyAndrey

We're two engineers with 15+ years of combined experience at Yandex, 3Commas, and Sumsub. Throughout our careers, we've seen how data management consistently holds teams back - from complex feature additions to database operations and search functionality. Every project required meticulous data planning, normalization, and custom retrieval solutions, creating unnecessary friction and delays.

RushDB exists to eliminate these barriers. Our mission is to make developers unstoppable by radically simplifying data operations. We're building the foundation that lets engineering teams move at maximum velocity - no more wrestling with databases, search implementations, or data restructuring. Just pure, frictionless development focused on shipping features and scaling ideas.

Developer experience is our north star. We believe great software shouldn't be bottlenecked by data infrastructure. By handling the complex data layer, we free developers to focus on what truly matters: creating exceptional products that deliver real value.