Tinybird provides infrastructure and tooling to build, deploy, and iterate real-time APIs over massive data sets.
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.
Process complex aggregations at write time with automatically-updating materialized views. Speed up your queries by 100x without manual refreshes.
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.
https://api.tinybird.co/v0/pipes/total_views.json?start_date=2024-01-01&end_date=2024-12-31&token=<JWT_TOKEN>
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.
>> 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"
}
Prefer to have more control? You can deploy Tinybird on self-managed infrastructure, for free.
>> 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
Ingest from or sink to any Kafka-compatible topic with the native Kafka connector.
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.
Run source, sink, and copy jobs on demand or on a schedule, with built in jobs logs to monitor background processes.
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.
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!
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
Define data sources, pipes, materializations, and endpoints in plaintext files.
Your queries won't get lost in translation. Directly query the underlying storage with full-featured SQL.
Spaghetti should be on your plate, not in your code. Break out complex CTEs and subqueries into simple, observable nodes.
Add API query parameters using SQL tokens and implement advanced logic with template functions.
Deploy live schema migrations in production without data loss, even on massive tables with streaming ingestion.
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)"
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.
Query service data source
SELECT *
FROM tinybird.jobs_log
WHERE job_id = {{String(job_id)}}
Build resources, mock data, and tests with a prompt. Tinybird automatically creates a rules file to teach your AI IDE how to speak data.
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'