PricingDocs

Infra to work with billions of rows. Tooling to make it feel easy

Tinybird provides infrastructure and tooling to build, deploy, and iterate real-time APIs over massive data sets.

Hosted OLAP Database

Get fastest-database-in-the-world performance with zero maintenance overhead. Tinybird transparently scales and manages database deployments so you can query billions of rows in milliseconds with 99.9% uptime.

Speed boost: Materialized views

Process complex aggregations at write time with automatically-updating materialized views. Speed up your queries by 100x without manual refreshes.

[ Read the docs ]
Data
Computed at write time
Query
Automatically refreshed
Materialized View
Query pre-computed results
Request

Build APIs, forget about scale

Any database query can be deployed as a scalable OpenAPI endpoint, complete with auto-generated Swagger docs, observability UIs + log tables, dynamic query parameters, token-based auth, rate-limiting, multiple endpoint formats, and the ability to scale to 1M+ RPS at sub-second latency.

[ Read the docs ]

https://api.tinybird.co/v0/pipes/total_views.json?start_date=2024-01-01&end_date=2024-12-31&token=<JWT_TOKEN>

Stream JSON at 1K+ RPS

POST events directly from your app or serverless functions with the Tinybird Events API, an HTTP endpoint that eliminates the need for complex streaming infrastructure.

[ Read the docs ]

>> curl \
-X POST 'https://api.tinybird.co/v0/events?name=analytics_events' \
-H "Authorization: Bearer $TB_TOKEN" \
| jq .
{
"timestamp": "2022-10-27T11:43:02.099Z",
"transaction_id": "8d1e1533-6071-4b10-9cda-b8429c1c7a67",
"name": "BobbyDrake",
"email": "bobby.drake@pressure.io",
"age": 42,
"passport_number": 3847665,
"flight_from": "Barcelona",
"flight_to": "London",
"extra_bags": 1,
"flight_class": "economy",
"priority_boarding": false,
"meal_choice": "vegetarian",
"seat_number": "15D",
"airline": "Red Balloon"
}

Deploy Tinybird on your own infra

Prefer to have more control? You can deploy Tinybird on self-managed infrastructure, for free.

[ Read the docs ]

>> tb infra add
Running against Tinybird Cloud: Workspace example_workspace
Enter name: example
Enter host: https://tinybird.example.com
» Adding infrastructure 'example' in Tinybird...
✓ Infrastructure 'example' added
» Required environment variables:
TB_INFRA_TOKEN=example_token
TB_INFRA_WORKSPACE=example_workspace
TB_INFRA_ORGANIZATION=example_organization
TB_INFRA_USER=user@example.com

Connect your Kafka topics

Ingest from or sink to any Kafka-compatible topic with the native Kafka connector.

[ Read the docs ]

Object storage source and sink

Ingest files from S3. Sink query results to S3. Support for wildcards and templating to keep things in sync, on demand or on a schedule.

[ Read the docs ]

Serverless, transparent job queue

Run source, sink, and copy jobs on demand or on a schedule, with built in jobs logs to monitor background processes.

[ Read the docs ]

Token management and RBAC

Secure resources with static tokens or JWTs hashed with your admin token. Store events in a single table and support multi-tenant access with row-level security.

[ Read the docs ]

A complete CLI for your local dev

Run Tinybird locally with our Docker image,
and deploy your APIs on localhost.
Validate your entire build on your machine.

>> curl https://tinybird.co | sh
Installing Tinybird CLI...

Make sure to add `/Users/user_name/.local/bin` to your PATH. To use installed tools, run `export PATH="/Users/user_name/.local/bin:$PATH"` or `uv tool update-shell`.

Tinybird local has been successfully installed, start using it with `tb login` and create a new project with `tb create`.
>> export PATH="/Users/user_name/.local/bin:$PATH"
>> tb login
» Opening browser for authentication...

Workspace: worksp01
User: user_name@your_email_domain.com
Host: https://api.europe-west2.gcp.tinybird.co

✓ Authentication successful!
>> tb local start
» Starting Tinybird Local...
* Waiting for Tinybird Local to be ready...
✓ Tinybird Local is ready!

Data defined as code

Every Tinybird resource is defined in code. Work in your IDE or terminal and commit to git, just like you would with any other software project.

tinybird/ |- datasources/ | |- events.datasource | |- metadata.datasource |- endpoints/ | |- top_users.pipe | |- latest_data.pipe | |- fastest_api_ever.pipe |- materializations/ | |- metadata_latest_mv.pipe |- fixtures/ | |- mock_events.ndjson |- tests/ | |- top_users.yaml | |- latest_data.yaml | |- fastest_api_ever.yaml |- README.md |- .cursorrules

Simple, semantic structure

Define data sources, pipes, materializations, and endpoints in plaintext files.

[ Read the docs ]

It's just SQL

Your queries won't get lost in translation. Directly query the underlying storage with full-featured SQL.

[ Read the docs ]

Multi-node queries

Spaghetti should be on your plate, not in your code. Break out complex CTEs and subqueries into simple, observable nodes.

[ Read the docs ]

SQL templating

Add API query parameters using SQL tokens and implement advanced logic with template functions.

[ Read the docs ]

Painless schema migrations (even on huge tables)

Deploy live schema migrations in production without data loss, even on massive tables with streaming ingestion.

[ Read the docs ]

Live schema migration

SCHEMA >
`timestamp` DateTime,
`user_id` String,
`user_id` UUID,
`event` String,
+++`payload` JSON

ENGINE "MergeTree"
ENGINE_PARTITION_KEY "toYear(date)"
---ENGINE_SORTING_KEY "date, user_id, event, extra_data"
+++ENGINE_SORTING_KEY "user_id, date, event, extra_data"
ENGINE_TTL "date + toIntervalDay(90)"

Built-in observability

Tinybird includes production-grade observability for local and cloud deployments. Query service data sources for free and build free observability endpoints using Prometheus endpoint format.

[ Read the docs ]

Query service data source

SELECT *
FROM tinybird.jobs_log
WHERE job_id = {{String(job_id)}}

Yes, you can vibe code

Build resources, mock data, and tests with a prompt. Tinybird automatically creates a rules file to teach your AI IDE how to speak data.

[ Read the docs ]

Vibe code

>> tb create --prompt "I'm building a logs explorer. Create a data source to store my logs payload sorted by timestamp and an API endpoint to return the percentage of error logs over a supplied time range."

>> tb mock --rows 1000 --prompt "Create logs with exactly 5% errors using timestamps within the last 7 days"

>> tb test create error_pct --prompt "Make sure there are 5% errors"

>> tb --cloud deploy

>> curl \
-G '$TB_HOST/v0/pipes/error_pct.json' \
-H 'Authorization: Bearer $TB_TOKEN' \
-d 'start_date=2025-01-01' \
-d 'end_date=2025-02-01'

Skip the infra work. Ship your first API today.

Sign upRead the docs
A geometric decoration with a matrix of rectangles.
Tinybird wordmark