---
title: "9 Best Embedded BI Tools for SaaS Teams (Compared)"
description: "For a small SaaS team, Metabase is the best embedded BI tool overall: guest embeds are free on every plan and guest viewers are not billed."
canonical: "https://www.aifordatabase.com/blog/embedded-bi-tools-saas/"
author: "Dhrumil Barot"
author_bio: "Dhrumil is an enterprise analytics expert. Dhrumil built AI for Database so anyone on a team can get answers from live company data in plain English, without waiting on a data team."
published: 2026-11-07
updated: 2026-11-07
---

# 9 Best Embedded BI Tools for SaaS Teams (Compared)

**TL;DR:** For a small SaaS team, Metabase is the best embedded BI tool overall: guest embeds are free on every plan and guest viewers are not billed. Apache Superset is the strongest free, self-hosted option if you can run it, and Preset or Cube are the cleanest paid paths. Luzmo, Holistics, GoodData, Sisense and Power BI Embedded fit once analytics is a feature you charge for.

Embedded BI tools let you put dashboards and charts inside your own product, so each customer sees their own data without logging into a separate BI app. The best embedded BI tools for SaaS teams in late 2026 are **Metabase** (free guest embeds, Pro at $575/month for multi-tenant permissions), **Apache Superset** (open source, iframe SDK with row-level security in the guest token), **Preset** (managed Superset, $500/month per 50 embedded viewers), **Cube** (embedded dashboards from $80 per developer), and **Luzmo** (one plan at €1,995/month). The deciding questions are what you pay when 100 customer accounts log in, how each tenant is kept to its own rows, and whether you embed with an iframe or an SDK. Every price below comes from the vendor's own pricing page, checked on 7 November 2026.

## What does embedded BI mean for a SaaS product?

Embedded BI is business intelligence shown inside another application instead of a standalone reporting product. A customer clicks "Reports" in your SaaS app and sees their own numbers, styled like your product, with no second login.

The alternative is hand-building charts with a chart library and custom SQL endpoints. That works for three charts and breaks when customers ask for filters, exports and breakdowns by region. If you are still deciding what a dashboard should show, our guide to [database dashboards](https://www.aifordatabase.com/glossary/database-dashboard/) covers the basics.

## How we judged these tools

We ranked for a SaaS team of 2 to 20 people with roughly 100 customer accounts who want analytics in the product this quarter. Four criteria, in order:

1.  **Cost at 100 customer users.** Many tools price embedded viewers like internal seats, which is where small teams get surprised.
2.  **Multi-tenant security.** How each customer is restricted to its own data: row-level security, locked parameters, or separate schemas.
3.  **Iframe or SDK.** Iframes are faster to ship; SDKs give native look and interaction.
4.  **Self-host option.** Matters for data residency, regulated customers and cost control.

## Summary table

| Tool | Embed method | Multi-tenant security | Price signal (vendor page, Nov 2026) | Self-host |
| --- | --- | --- | --- | --- |
| Metabase | Guest embed (iframe/web component), modular SDK, full app iframe | Locked JWT parameters; row and column permissions on Pro | Free guest embeds; Pro $575/mo + $12/user | Yes |
| Apache Superset | Embedded SDK (iframe) | RLS clauses in guest token | Free, you host it | Yes |
| Preset | Superset embedded SDK | RLS in guest token | $20/user/mo + $500/mo per 50 viewers | No |
| Cube | Embedded dashboards and chat | Semantic layer access policies | Premium $80/developer/mo | Core is open source |
| Luzmo | SDK and web components | Token-based tenant filters | €1,995/mo, one plan | No |
| Holistics | Iframe embed | Row-level permission rules | Custom; unlimited embed viewers | No |
| GoodData | iFrame, Web Components, React SDK | Workspace per tenant | Quote | On request / higher tiers |
| Sisense | Iframe or Compose SDK | Data security rules | Quote | Yes |
| Power BI Embedded | JavaScript SDK | RLS roles in the semantic model | Azure A SKU capacity, by node | No |

## 1\. Metabase

Metabase is the best fit for most small SaaS teams because its cheapest embedding path is also a secure one. Metabase has three embedding types: **guest embeds** (a signed dashboard or question in an iframe or web component), **modular embedding** (individual components, including AI chat, through an SDK), and **full app embedding** (the whole Metabase UI in an iframe, styled to your brand).

The pricing detail that matters: according to the Metabase docs, guest embeds are available on every plan, guest viewers don't sign in, don't count as users and aren't billed. On Open Source and Starter they show a "Powered by Metabase" banner. To keep each customer to its own data, you sign the customer's ID into the embed's JWT as a **locked parameter**, and Metabase only loads the embed if the token was signed with the secret shared between your app and your Metabase.

*   **Best for:** first customer-facing dashboards on a small budget.
*   **Pricing:** Open Source free; Starter $100/month with 5 users then $6/user; Pro $575/month with 10 users then $12/user, which adds multi-tenant embedded analytics, row and column level permissions and whitelabel ([Metabase pricing](https://www.metabase.com/pricing)).
*   **Limits:** with modular or full app embedding, people using your embeds count as users. At 100 customer users on Pro that is $575 + 90 × $12 = $1,655 a month. Guest embeds avoid that bill but give viewers less interactivity.

```
// Node: sign a Metabase guest embed locked to one customer
const jwt = require("jsonwebtoken");
const token = jwt.sign({
  resource: { dashboard: 12 },
  params: { customer_id: req.user.customerId }, // locked parameter
  exp: Math.round(Date.now() / 1000) + 10 * 60  // 10 minutes
}, process.env.METABASE_SECRET_KEY);
```

## 2\. Apache Superset

Apache Superset is the strongest fully free option, if someone on your team is happy to run it. The Superset Embedded SDK embeds a dashboard by inserting an iframe that contains a Superset page. You switch on the `EMBEDDED_SUPERSET` feature flag, set a strong `GUEST_TOKEN_JWT_SECRET` (the default must be changed in production), and have your backend call `POST /security/guest_token`.

Tenant isolation lives in that guest token: the request carries `rls` clauses that Superset applies to every query in the embedded dashboard ([Superset Embedded SDK README](https://github.com/apache/superset/tree/master/superset-embedded-sdk)).

```
{
  "user": { "username": "acme_viewer" },
  "resources": [{ "type": "dashboard", "id": "abc123" }],
  "rls": [{ "clause": "customer_id = 42" }]
}
```

*   **Best for:** teams with a DevOps person who want zero license cost and full control.
*   **Pricing:** free and open source; you pay for hosting.
*   **Limits:** you own upgrades, caching, and security patches. Styling inside the iframe is limited compared with an SDK. See our [Superset alternative comparison](https://www.aifordatabase.com/compare/superset-alternative/) for where it frustrates non-technical users.

## 3\. Preset

Preset is managed Superset from the team that created it, so you get the same embedded SDK and guest-token RLS without running servers. Embedded dashboards are an add-on on the Professional and Enterprise plans.

*   **Best for:** teams that like Superset but don't want to host it.
*   **Pricing:** Professional is $20/user/month billed annually ($25 monthly). Embedded dashboards require Embedded Dashboard Viewer Licenses starting at $500/month for 50 viewers, with volume discounts beyond that ([Preset pricing](https://preset.io/pricing/)). For 100 customer viewers, expect about $1,000/month in viewer licenses plus your editor seats.
*   **Limits:** viewers get "limited interactive capabilities to view and explore data", not full self-service. During the 14-day trial admins can embed without buying viewer licenses, which is a good way to prototype.

## 4\. Cube

Cube started as an open-source semantic layer and now sells embedded dashboards and embedded analytics chat on its cloud. It suits teams that want metrics defined once in code and reused across embedded charts, internal BI and AI agents.

*   **Best for:** engineering-led teams who want a semantic layer under their embedded analytics.
*   **Pricing:** Free tier; Starter $40 per developer/month; Premium $80 per developer/month, which is where embedded dashboards and embedded analytics chat appear. Dedicated deployments are $0.60/hour on Starter and $1.20/hour on Premium ([Cube pricing](https://cube.dev/pricing)).
*   **Limits:** pricing is per developer, not per viewer, which is cheap at 100 customers, but you need someone comfortable writing data models.

## 5\. Luzmo

Luzmo (formerly Cumul.io) is built only for embedded analytics, with SDKs, white-label styling and an AI layer for end users. It has one public plan.

*   **Best for:** SaaS teams selling analytics as a paid tier, who want polish fast.
*   **Pricing:** €1,995/month billed annually. The license includes 500 AI conversations and 100 million "Warp" rows a month, then €0.25 per extra million rows. Some contracts scale on monthly active users instead. There is no smaller tier, but there is a free trial ([Luzmo pricing](https://www.luzmo.com/pricing)).
*   **Limits:** roughly $24,000 a year before usage is a big commitment at 100 customers unless analytics is earning revenue.

## 6\. Holistics

Holistics is a code-first BI tool (its AML modeling language) with an embedded analytics offering. Its FAQ says embedded pricing covers unlimited embedded viewers, with custom non-user pricing.

*   **Best for:** teams already modeling data in Holistics who want to expose dashboards to customers.
*   **Pricing:** standard plans list from $800/month billed annually; embedded analytics is quoted by sales ([Holistics pricing](https://www.holistics.io/pricing/)). We cover the plans in detail in [Holistics pricing explained](https://www.aifordatabase.com/blog/holistics-pricing-2026/).
*   **Limits:** no self-serve price for embedding, so budget is unknown until a sales call.

## 7\. GoodData

GoodData is an API-first platform aimed at multi-tenant analytics, with a workspace hierarchy that maps neatly to "one workspace per customer".

*   **Best for:** B2B platforms with many tenants and a need for governed content publishing across them.
*   **Pricing:** quote-based. Plans list iFrame, Web Components and APIs for embedding, a React SDK for custom UIs, a Python SDK for backend management, and self-hosted deployment on higher tiers ([GoodData pricing](https://www.gooddata.com/pricing/)).
*   **Limits:** heavier setup than Metabase or Preset; worth it at hundreds of tenants, rarely at ten.

## 8\. Sisense

Sisense is an enterprise analytics platform that embeds through an iframe or **Compose SDK**, its code-first toolkit for building charts in your own front end ([Sisense pricing](https://www.sisense.com/pricing/)).

*   **Best for:** larger SaaS companies with strict uptime and security reviews.
*   **Pricing:** quote-based.
*   **Limits:** enterprise sales cycle and cost profile; rarely the first tool for a team of five.

## 9\. Power BI Embedded

Power BI Embedded is Microsoft's option for ISVs. According to Microsoft Learn, embedding needs a capacity (A, EM, P or F SKU), Power BI Embedded itself ships with an A SKU bought in Azure, and you need a Power BI Pro or Premium Per User account to publish content ([Microsoft Learn](https://learn.microsoft.com/en-us/power-bi/developer/embedded/embedded-capacity)). Azure bills by node type and number of nodes ([Azure pricing](https://azure.microsoft.com/en-us/pricing/details/power-bi-embedded/)).

*   **Best for:** teams already modeling in Power BI and selling into Microsoft shops.
*   **Pricing:** capacity-based, not per viewer, so cost follows load rather than customer count.
*   **Limits:** capacity sizing is its own skill, and report authoring happens in Power BI Desktop on Windows.

![Rough monthly cost for 100 embedded customer users, from vendor pricing pages](https://cdn.sanity.io/images/upsr56wu/production/ae233c820ad4a463ba7214ea059bb929f24bf4c1-1344x548.png?w=1280)

FIG 01 — Quote-only tools (Holistics, GoodData, Sisense) and capacity-billed Power BI are left out.

## Iframe or SDK embedding: which should you use?

Use an iframe when you need dashboards in front of customers this month; use an SDK when analytics is a core product surface. An iframe (Metabase guest embeds, Superset, Holistics) is a signed URL in a frame: quick to ship, isolated from your CSS and JavaScript, but harder to style and resize, and clicks inside it don't easily trigger actions in your app. An SDK (Metabase modular embedding, Luzmo, GoodData's React SDK, Sisense Compose SDK, Power BI's JavaScript SDK) renders components in your own page, so charts inherit your theme and can call your code on click. The cost is more front-end work and tighter coupling to the vendor's library versions.

A practical sequence for small teams: ship one iframe dashboard, watch which charts customers open, then move only those to SDK components.

## How is multi-tenant security handled?

Every tool on this list keeps tenants apart the same way at its core: your backend signs a short-lived token that says who the viewer is and which customer they belong to, and the BI engine adds that customer filter to every query. The differences are where the rule lives.

*   **Locked parameters** (Metabase guest embeds): the dashboard has a `customer_id` filter and the token fixes its value. Simple, but every question must use the filter.
*   **RLS clauses in the token** (Superset, Preset): the token carries a SQL clause such as `customer_id = 42` applied to datasets.
*   **RLS roles in the model** (Power BI, Metabase Pro row-level permissions): rules are defined once on the data model and mapped to user attributes.
*   **Workspace per tenant** (GoodData): each customer gets their own workspace, sometimes their own data source.

Whatever you choose, test it the way an attacker would: sign a token for customer A, then edit the URL or parameters to request customer B. If anything comes back, the setup is wrong.

![A tenant filter keeps each customer to its own rows](https://cdn.sanity.io/images/upsr56wu/production/8a6478009488721e0e3fb075b54a981da88dfcef-1344x410.png?w=1280)

FIG 02 — Row 3 belongs to customer 57 and never reaches customer 42's chart.

## Which embedded analytics tools are cheapest for startups?

The cheapest embedded analytics tools for startups are Metabase guest embeds and self-hosted Apache Superset, both $0 in license fees. Metabase is easier to run and its guest viewers are never billed; Superset gives more chart types and RLS in the token but takes more operations work. The cheapest paid options at 100 customers are Cube (priced per developer, $80 each on Premium) and Preset (about $1,000/month for 100 viewers). Luzmo and the quote-based tools start in the thousands per month.

## How to choose

*   **Under 50 customers, no budget:** Metabase guest embeds. Move to Pro when you need whitelabel or row-level permissions.
*   **You have DevOps time and want control:** self-hosted Superset.
*   **You want Superset without servers:** Preset.
*   **Engineers want metrics as code:** Cube.
*   **Analytics is a paid tier and must look native:** Luzmo, or Sisense Compose SDK at enterprise scale.
*   **Hundreds of tenants with governed content:** GoodData.
*   **Microsoft stack customers:** Power BI Embedded.

One thing embedded BI won't fix: your own team's questions about the same data. Customer dashboards are pre-built; your founders, ops and support people still need answers that nobody built a chart for, like "which accounts stopped using the export feature last month". That is the job [AI for Database](https://app.aifordatabase.com/signup) does: connect your Postgres, MySQL or Supabase database, ask in plain English, see the SQL, and pin the answer to a self-refreshing internal dashboard with alerts. Try AI for Database free at aifordatabase.com. For internal tool choices see our [Metabase alternative comparison](https://www.aifordatabase.com/compare/metabase-alternative/) and the [SaaS use cases page](https://www.aifordatabase.com/use-cases/saas/).

D

Written by [Dhrumil Barot](https://www.aifordatabase.com/about/#founder)

Dhrumil is an enterprise analytics expert. Dhrumil built AI for Database so anyone on a team can get answers from live company data in plain English, without waiting on a data team.

[LinkedIn](https://www.linkedin.com/in/bdhrumil)[X](https://x.com/fyidhrumil)

## Frequently Asked Questions

### What is the difference between embedded analytics and BI?

BI tools are used by your own team inside the BI product. Embedded analytics puts the same charts inside your application for your customers, with your branding, your login, and a tenant filter on every query.

### Is Metabase embedding free?

Yes for guest embeds. Metabase's docs say guest embeds are available on every plan, including Open Source, and guest viewers are not billed. Open Source and Starter show a "Powered by Metabase" banner; removing it and getting row-level permissions needs Pro at $575/month.

### Can Apache Superset be embedded in a React app?

Yes. Install @superset-ui/embedded-sdk, call embedDashboard with the dashboard ID and a fetchGuestToken function, and have your backend request a guest token from POST /security/guest\_token. The dashboard renders in an iframe inside your component.

### Do embedded viewers count as paid users?

It depends on the tool. Metabase guest viewers don't, but modular and full app embedding users do. Preset sells viewer licenses in blocks of 50. Cube charges per developer, and Power BI Embedded charges for capacity, so viewers don't add seats.

### Should I build embedded dashboards myself?

Build them yourself only for a handful of fixed charts. Once customers want filters, drill-downs, exports and per-user permissions, an embedded BI tool is cheaper than maintaining that code.

### What is the best open source embedded BI tool?

Metabase and Apache Superset are the two most used. Metabase is simpler to set up and secure with locked parameters; Superset offers more visualization types and row-level security clauses in its guest tokens.

Read next

*   [COMPANY METRICS DASHBOARD: 6 EXAMPLES WITH THE SQL →](https://www.aifordatabase.com/blog/company-metrics-dashboard/)
*   [BI CUBES EXPLAINED: WHAT IS A DATA CUBE IN BI? →](https://www.aifordatabase.com/blog/bi-cubes-olap-explained/)
*   [POSTGRES BOOLEAN TYPE: VALUES, NULL LOGIC AND COUNTING →](https://www.aifordatabase.com/blog/postgres-boolean/)

Source: https://www.aifordatabase.com/blog/embedded-bi-tools-saas/
