What is Metabase? A Guide for Developers
Metabase is an open-source business intelligence (BI) and analytics platform that lets developers deploy a full-featured analytics layer — for interna...
What is Metabase? A Guide for Developers
Metabase is an open-source business intelligence (BI) and analytics platform that lets developers deploy a full-featured analytics layer — for internal teams or embedded in a product — in hours rather than months. Unlike enterprise BI tools that require dedicated analysts and weeks of configuration, Metabase is designed to be set up, embedded, and operated by developers using the tools and workflows they already know.
Metabase is available as a self-hosted open-source deployment or as a managed cloud service. As of 2025, it is one of the most widely deployed open-source analytics tools in the world, with tens of thousands of organizations running it on their own infrastructure.
---
What Problem Does Metabase Solve?
Every application eventually needs analytics. Either the people using the app need to see data about their own usage, or the team building it needs visibility into how the product is performing. The traditional paths to solving this are expensive:
- Build it yourself — hire frontend engineers to build custom dashboards using charting libraries like D3, Recharts, or Chart.js. This takes months and becomes a maintenance burden that competes with core product work.
Metabase occupies a fourth option: a deployable, embeddable analytics platform that developers can own end-to-end. A developer can spin up a Metabase instance, connect it to a production database, and have a working dashboard in the same afternoon.
---
How Metabase Works
At its core, Metabase sits between your database and your users. It connects directly to your data source, provides a query interface (both visual and SQL), and renders the results as charts, tables, and dashboards.
Data Sources
Metabase connects natively to most common databases and data warehouses, including:
Connections are configured through the admin panel or via environment variables at startup. Metabase does not store your data — it queries it directly at runtime (or via optional caching layers).
The Query Layer
Metabase provides two ways to query data:
The Query Builder is a visual, no-code interface that lets non-technical users filter, group, and aggregate data without writing SQL. Under the hood, it generates SQL that executes against your connected database.
The Native SQL Editor gives developers and analysts full control to write raw SQL, use template variables for dynamic filtering, and build complex queries that the visual interface can't express.
Both query types produce the same output: data that can be visualized and saved to dashboards.
Dashboards
Dashboards in Metabase are collections of saved questions (queries) arranged on a canvas. They support:
Dashboards can be shared via public links, embedded in external applications, or restricted to authenticated users.
---
Metabase's Key Technical Capabilities
Embedding
Metabase supports embedding dashboards and individual charts directly inside third-party applications. This is one of the most common reasons developers choose Metabase — it eliminates the need to build a custom analytics UI from scratch.
Embedding comes in two forms:
Embedded dashboards can be styled to match the host application and can accept parameters passed from the parent page.
Row-Level Security
Metabase supports data sandboxing, which restricts what rows a given user or group can see when querying a table. This is implemented through sandbox policies that filter data based on user attributes — for example, ensuring that a customer logged in as company_id=42 can only see rows where company_id = 42.
This makes Metabase viable for multi-tenant use cases where a single database backs multiple customers, without needing to shard your data or build a custom access layer.
The Metabase API
Metabase exposes a REST API that covers most administrative and query operations. Developers use it to:
The API is the foundation for treating Metabase as code — managing configuration through version control and CI/CD pipelines rather than clicking through a UI.
SSO and Auth Integration
Metabase integrates with enterprise identity providers via:
JWT authentication is particularly important for embedding scenarios, where the parent app is already managing session state and needs to pass identity context into Metabase without requiring a separate login.
---
Metabase Open Source vs. Metabase Pro/Enterprise
Metabase is available in three tiers:
Open Source (free) — The full core of Metabase, including query builder, SQL editor, dashboards, and basic embedding. Self-hosted. No user limits. Suitable for internal analytics tools and early-stage embedding.
Pro — Adds signed embedding, SSO, data sandboxing, audit logging, and other features required for production SaaS deployments. Available as self-hosted or cloud.
Enterprise — Adds white-labeling, advanced permissions, priority support, and features for large-scale deployments with many users or complex governance requirements.
For most developers building embedded analytics into a product, Pro is the relevant tier — it unlocks signed embedding and row-level security, which are the two capabilities most critical for a multi-tenant production deployment.
---
How Metabase Fits in a Modern Data Stack
Metabase is designed to sit at the presentation layer of a modern data stack. A typical architecture looks like:
Raw Data Sources → ETL/ELT Pipeline → Data Warehouse → Metabase → End Users
(APIs, DBs) (Fivetran, dbt) (Snowflake, (Dashboards, (Analysts, Redshift) Embedding) Customers)
Metabase connects directly to the warehouse or operational database. It is not an ETL tool — it doesn't move or transform data. For teams using dbt, Metabase can consume dbt-transformed tables and expose semantic metadata from dbt models.
For smaller teams without a warehouse, Metabase connects directly to production operational databases (PostgreSQL, MySQL) with read-only credentials.
---
What Metabase Is Not
Metabase is not a data pipeline tool. It does not ingest, transform, or move data. For ETL/ELT, teams typically use dbt, Fivetran, Airbyte, or custom pipelines.
Metabase is not a data catalog. It doesn't replace tools like Datahub or Amundsen for comprehensive data lineage and discovery.
Metabase is not a full observability platform. For application-level metrics, error tracking, and infrastructure monitoring, tools like Datadog, Grafana, or New Relic are more appropriate.
Metabase is not a replacement for custom data applications. When the analytics use case is highly interactive, domain-specific, or requires deeply custom UX, building on top of a charting library or using a tool like Observable may be more appropriate.
---
When Developers Choose Metabase
Metabase is the right choice when:
It's typically not the right choice when:
---
Getting Started
The fastest way to evaluate Metabase is to run it locally with Docker:
bash
docker run -d -p 3000:3000 --name metabase metabase/metabase
This starts a Metabase instance on localhost:3000 backed by an embedded H2 database. For production, you'll want to configure an external application database (PostgreSQL is recommended) and connect your actual data source.
Full deployment guides for AWS, GCP, Azure, and Kubernetes are covered in the deployment section of this guide series.
---
Summary
Metabase is an open-source analytics platform built for developers who need to ship analytics fast — whether that's an internal dashboard for a small team or an embedded analytics experience for thousands of customers. It connects directly to your database, requires no dedicated data analyst to operate, and can be deployed in minutes using Docker or Kubernetes.
Its key differentiators from enterprise BI tools are its deployment model (self-hosted, open-source), its embedding capabilities (signed JWT embedding for multi-tenant SaaS), and its developer-friendly operational model (API-driven, configurable as code).
For developers evaluating analytics options, Metabase represents the fastest path from "we need dashboards" to "dashboards are live in production."