Docs

What SeedBase does

SeedBase turns a database schema into realistic, synthetic test data, referentially intact and ready in seconds.

Referentially intact

Respects foreign keys, types and constraints. Joins just work.

Synthetic & privacy-friendly

No real people or companies, invented yet realistic data.

Many targets

PostgreSQL, MySQL/MariaDB, SQLite, SQL Server. Export as SQL, CSV, JSON or Parquet, and push to MongoDB, Redis or Elasticsearch.

Reproducible

Fixed seed, identical data. Perfect for stable tests across a team.

Anonymize production data

Auto-detect personal data (PII) and mask it while preserving formats and foreign keys, privacy-friendly, with optional differential privacy.

Consistent subsetting

Pull a foreign-key-complete slice of your real database, a realistic 1% for local or CI.

Time simulation

Growth curves, seasonality, cohorts and churn, data that evolves over time.

Multi-store & streaming

Consistent entities into MongoDB, Redis and Elasticsearch, or stream events live to a webhook.

Three ways to use it

Web app

Import or build a schema, generate datasets, inspect and export them, all in the browser.

CLI

Pull schema and datasets straight into your local database with one command.

AI integration

A Claude Code plugin (skill and MCP server) generates test data right inside your coding assistant.

CLI in 4 steps

The CLI is pull-oriented: schema and datasets live on the platform, you pull them into your local database.

pip install seedbase

seedbase login
seedbase init
seedbase pull all

Everyday examples

seedbase generations                 # your datasets
seedbase pull all --drop             # recreate tables + load data
seedbase pull data --replace         # refresh data only
seedbase pull data -g nightly        # a specific dataset
seedbase pull all --drop --dry-run   # preview without writing

Python SDK & pytest

Programmatic access for scripts and CI, plus a pytest plugin that provides seeded data as a fixture.

from seedbase import SeedbaseClient

client = SeedbaseClient(token="dr_sk_...")
gen = client.generate(project_id, seed=42, wait=True)
data = client.download(gen["id"], fmt="sql")

In a test

def test_orders(seeded_data):
    assert seeded_data

Command reference

seedbase statusLogin, plan, project and target DB at a glance.
seedbase projectsList your projects.
seedbase initConfigure project + target database (.seedbase.json).
seedbase generationsList a project's generated datasets.
seedbase pull schemaCreate the project's tables in the target DB.
seedbase pull dataWrite a dataset into the target DB.
seedbase pull allSchema + dataset in one step.
seedbase generateTrigger a remote generation (CI/CD).
seedbase diffShow schema changes since the last pull.

Useful options

--dropDrop existing tables first.
--replaceEmpty tables before inserting (no duplicates).
--generation <id|name>Pick a specific dataset (default: newest).
--dry-runOnly show what would happen.
--to-file <path>Write SQL to a file instead of the DB.
--quiet / --jsonSilent or machine-readable output for scripts.

AI integration (Claude)

A plugin for Claude Code brings SeedBase into your AI coding assistant as native tools, describe what you need and Claude does the rest. It authenticates with an API key, no CLI install required.

Set up

# create an API key at seedbase.dev, Settings, API keys
# Option 1, hosted, zero install:
claude mcp add-json seedbase '{"type":"http","url":"https://seedbase.dev/mcp","headers":{"Authorization":"Bearer dr_sk_..."}}'

# Option 2, local via npx:
claude mcp add-json seedbase '{"type":"stdio","command":"npx","args":["-y","-p","@seedbase/client","seedbase-mcp"],"env":{"SEEDBASE_API_KEY":"dr_sk_..."}}'

Tools Claude then has

list_projectsList your SeedBase projects.
get_ddlGet a project's schema as CREATE TABLE (per dialect).
generate_test_dataGenerate a dataset and return it as SQL.

Example, you just say

"Fill my 'Shop' project with MySQL test data and load it into my local database."

Ready to start?

The free plan covers PostgreSQL and MySQL export plus basic generation.

Create a free account