Article

7 Metabase Alternatives for Embedded Analytics (2026)

7 Metabase alternatives for embedded analytics in SaaS: per-seat cost at 1,000 end users, React SDK limits, embedded AI scope, and tenant isolation compared.

QueryPanel Team
15 min read
Metabase alternativesembedded analyticsSaaScustomer-facing analyticsReactmulti-tenant analyticscomparisonAI analytics

The seven Metabase alternatives for embedded analytics worth shortlisting in 2026 are QueryPanel, Embeddable, Luzmo, Holistics, Qrvey, Cube, and Superset/Preset. Most teams start looking once they price Metabase's React SDK: it requires Pro or Enterprise, and every customer who uses your embed becomes a billed Metabase user.

Published September 22, 2026. Metabase facts below come from its documentation for version 0.63 and its public pricing page as seen on that date. Competitor details come from each vendor's own docs. Pricing changes; check the linked pages before you budget.


Short answer: Keep Metabase if your embeds are mostly view-only, your user count is small, and your team already runs it well. Look at alternatives when per-seat pricing breaks at SaaS scale, when customers need to build their own dashboards, or when you want AI that answers new questions in the embed. Pick QueryPanel for a headful React workspace where tenants customize dashboards with an AI assistant, plus a headless Node SDK when credentials and results must stay on your servers. Pick Embeddable or Luzmo for polished components with a builder. Pick Holistics or Cube when a semantic layer should own your metrics. Pick Qrvey for self-hosted, flat-rate tenant self-service. Pick Superset/Preset for low-cost, view-only dashboards.

For the direct two-vendor decision, see QueryPanel vs Metabase.

Key takeaways

  • Metabase's embedding SDK is real native React, not an iframe wrapper. The reasons to leave are plans, seats, and scope, not rendering.
  • Every embed user is a seat. Metabase counts "users of your embeds accessed through your product" as users, and shared logins are against its terms.
  • The SDK, tenants, row and column security, and embedded AI chat all require Pro or Enterprise. Open source and Starter get view-only guest embeds.
  • Metabase's embedded AI builds questions, not dashboards. Its docs say the embedded chat won't write SQL or create or edit dashboards.
  • Alternatives split into three pricing shapes: per seat (Cube, Preset), usage or adoption (Luzmo), and flat or tenant-based (Embeddable, Qrvey, QueryPanel). Match the shape to how your customer base grows.

When Metabase is still the right choice

Metabase is a good product, and switching costs are real. Keep it when:

  • Your customers mostly view dashboards you build, and guest embeds (signed JWT, locked filters, no drill-through) are enough.
  • Your embedded user count is small enough that per-seat pricing stays predictable.
  • Internal analysts already live in Metabase, and one deployment for internal and customer reporting is worth more than a product-native customer UX.
  • You self-host the open-source edition and are comfortable owning upgrades and permissions.

A migration is not worth it just because another vendor has a newer AI demo. Leave when one of the limits below is blocking a product requirement.

Where SaaS teams hit Metabase's limits

The SDK needs a paid plan, and every embed user is a seat

The modular embedding SDK (npm @metabase/embedding-sdk-react) and SSO-based embeds are Pro and Enterprise features. On open source and Starter you get guest embeds: view-only, no query builder, no SQL editor, and no AI chat.

With SSO embeds, each end user signs in through a JWT your backend signs, and Metabase creates an account for them. Metabase is explicit that you should not share one account across users, because the session token can be used against the API directly. Its pricing page confirms that embed users count toward your user total.

Practitioners on Metabase's own forum describe the same trade-off: guest embeds lose interactivity, SSO embeds add a seat per customer user, and there is no mid-tier plan for embedding.

Multi-tenancy is a configuration project

Metabase added a Tenants feature: a @tenant claim in the JWT can create tenants and users automatically, with per-tenant groups and collections. Data isolation then comes from one of three permission strategies: row and column security on user attributes, connection impersonation to database roles, or database routing to a per-tenant database with an identical schema.

That covers most models, but you choose and maintain the strategy. Metabase also notes that switching a tenants setup back to single-tenant is destructive, so decide early.

Embedded AI answers questions but doesn't build dashboards

Metabase's embedded AI chat (Metabot, Pro/Enterprise, SSO only) builds a question in the query builder from existing metrics, models, saved questions, or tables. Per the same page, it won't write SQL, build or edit dashboards, or create metrics or models. On self-hosted Metabase you bring your own model key.

If your roadmap says "customers ask a question and pin the answer to their dashboard," test that flow end to end. With Metabase it stops at the question.

React integration constraints

From the SDK docs and version guide:

  • React 18 or 19 and Node 20+ are required.
  • No server-side rendering. In Next.js, components render in the browser only.
  • One dashboard per app page.
  • The npm package must match your Metabase server version. Since Metabase 57 the package is a thin loader and the SDK code is served by your Metabase instance. On Metabase Cloud, auto-upgrades can mean pinning versions.
  • Theming beyond light and dark presets needs a paid plan (appearance docs).

None of these is a dealbreaker alone. Together they shape how your analytics routes are built.

What Metabase costs at SaaS scale

Metabase's public list prices on September 22, 2026:

PlanPriceUsers includedExtra users
Open sourceFreeUnlimitedn/a (guest embeds only)
Starter$100/mo5$6/user/mo
Pro$575/mo10$12/user/mo
EnterpriseCustom, from $20,000/yearCustomCustom

A worked example: 50 customer tenants with 20 active users each is 1,000 embed users. On Pro list pricing that is $575 plus 990 extra users at $12, about $12,455 per month, or roughly $149,000 per year before AI tokens.

Nobody should pay that list number at this scale. It is the point where you negotiate an Enterprise package, which Metabase offers for cases "where per-seat pricing doesn't fit." The useful lesson is the shape: under per-seat pricing, your analytics bill grows with every user your customers invite, not with the value you deliver.

QueryPanel prices differently: plans count unique tenants per billing month, not end-user seats, so the same example is 50 tenants however many people each customer invites. AI chart generation is metered separately. See pricing.

Metabase alternatives at a glance

AlternativeEmbed modelTenant isolationAI inside the embedPricing shapeTenants build dashboards?
QueryPanelHeadful React SDK; headless Node SDKServer-minted RS256 tenant JWT; tenant filter applied at SQL generation and checked before executionNL to SQL and charts; AI assistant edits dashboardsCounts tenants, not seatsYes (AI-assisted, dashboard forks)
EmbeddableWeb component (no iframe)Security context in server token; RLS options; per-tenant DBAI chat on semantic models (labeled prototype)Flat, sales-ledYes (Custom Canvas)
LuzmoReact, Vue, Angular, web componentsParameter filters in embed token; connection overridesLuzmo IQ chat and prompt-to-chartFrom €1,995/mo plus usageYes (editor role)
HolisticsSigned-URL iframeJWT plus row-level permissions; per-tenant data sourcesAsk AI (Embed Portal only)Embedded plan sales-led, unlimited viewersYes (Embed Portal)
QrveyWeb component widgetsEncrypted token; record and column securitySidekick widget, bring your own LLMFlat rate, self-hostedYes
Cubeiframe, React SDK (preview), or headless APIsSigned sessions; security context per tenantAnalytics Chat on semantic SQLPer seat plus computeEnterprise only (Creator Mode)
Superset / PresetSDK wrapping an iframeGuest token with RLS WHERE clausesNone documented for embedsPer viewer licenseNo (view and light explore)

Use this table to cut the list to two or three. Then run the same proof of concept on each (see below).

1. QueryPanel: best for AI-assisted tenant dashboards, with a zero-trust option

Choose QueryPanel when: customers should customize their own dashboards with an AI assistant inside your React app, and you don't want every customer user to be a billed seat.

QueryPanel's primary product is its headful React SDK: a Notion-like dashboard workspace with an AI assistant for tenant customization. It also offers a headless Node SDK for custom UI with zero-trust architecture, where credentials and query results stay on your servers.

The two paths share one tenant model and one API:

  • Headful. Render QuerypanelEmbedded with a JWT minted by your backend using createJwt(). Customers ask questions in plain language, get SQL-backed charts, and reshape dashboards with the assistant. Per-tenant variations use dashboard forks. Start with the React embed guide.
  • Headless. Call qp.ask() from your API with the tenant ID from your auth. QueryPanel generates the SQL and chart spec, your client callback runs the query, and you render the UI yourself. Database credentials and rows never leave your infrastructure. See ask().

Tenant identity always comes from your server. You declare the tenant column when you attach the database, the tenant filter is part of SQL generation, and generated SQL is checked for that filter before it runs. Accuracy on your schema improves through a knowledge base of annotations, glossary terms, and example SQL.

Watch for: QueryPanel is React-only for the headful SDK and doesn't server-render embeds. It is built for customer-facing product analytics, not as a full self-serve BI tool for internal analysts. If you need both from one system, Metabase may still fit the internal side.

Best proof: attach one real Postgres or ClickHouse schema, create two tenants with uneven data, and ask the same five questions as each. Check the SQL, the results, and what a tenant can change on a shared dashboard. See headful vs headless for choosing a path.

2. Embeddable: best for code-owned components with a flat fee

Choose Embeddable when: your developers want to define components and models in code and ship a native-feeling embed without per-seat pricing.

Embeddable embeds dashboards as a web component authorized by a short-lived server token, not an iframe. Tenant isolation uses a security context with row-level security options, and environments can map customers to their own databases. Custom Canvas lets end users build dashboards from the datasets and chart templates you define. Pricing is a flat subscription quoted by sales, not per seat.

Watch for: the AI chatbot is marked as a prototype. There is no npm React wrapper; you render the custom element. If AI questions are a launch requirement, test what ships today.

3. Luzmo: best for a polished editor across frameworks

Choose Luzmo when: you want drop-in dashboard components, an embedded editor your customers can use, and an AI assistant, with pricing tied to customer usage.

Luzmo ships React, Vue, Angular, and web component packages. Tenant data is scoped with parameter filters in the embed token or per-tenant connection overrides. The embedded editor opens for users with a designer or owner role, and Luzmo IQ adds chat and prompt-to-chart. Public pricing starts at €1,995 per month billed annually, with AI conversations and data rows metered.

Watch for: some Luzmo contracts scale on monthly active users, which brings back a per-user element. Confirm which model your quote uses.

4. Holistics: best when analytics-as-code already owns your metrics

Choose Holistics when: a data team models metrics in a semantic layer and wants embedded dashboards that inherit it, and iframe embedding is acceptable.

Holistics embeds through a signed URL loaded in an iframe, with a single-dashboard mode and an Embed Portal that works as a small BI app. Tenant scope comes from JWT attributes and row-level permissions. Ask AI runs every query as the current embed user but is available only in Embed Portal. The embedded plan offers unlimited dashboard viewers and is priced by sales.

Watch for: the iframe boundary. If your goal is analytics that feels like part of the product, read iframe vs native React first.

5. Qrvey: best for self-hosted, flat-rate tenant self-service

Choose Qrvey when: you want the analytics platform deployed in your own cloud, with heavy tenant self-service and one flat price.

Qrvey embeds web component widgets that work with any framework. Identity and permissions travel in an encrypted token, with record and column-level security. Tenant users can build dashboards and even datasets. The pricing page describes unlimited tenants, users, and dashboards under a flat rate, quoted by sales.

Watch for: self-hosting means you own the deployment. Budget platform engineering time, not just license cost.

6. Cube: best when the semantic layer comes first

Choose Cube when: engineering wants governed metrics, caching, and APIs as infrastructure, and is willing to own more of the UI.

Cube offers three embed paths: iframes, a React SDK (in public preview), and headless APIs. Tenant scope comes from signed sessions and a security context, which can route each tenant to its own data source. Its Analytics Chat queries through Cube's semantic SQL. End users can build dashboards in Creator Mode, which is Enterprise only. Pricing is per seat plus compute, with embedding from the Premium plan.

Watch for: you are adopting a modeling layer, not only an embed. That pays off when many products share metrics, and slows you down when you need one customer-facing feature soon.

7. Superset / Preset: best for low-cost, view-only dashboards

Choose Superset or Preset when: you already use Superset and want managed, affordable dashboards your customers can view.

Both embed through an SDK that inserts an iframe, scoped by a server-minted guest token with row-level security rules. Preset's pricing lists embedding as an add-on at $500 per month for 50 viewer licenses, so embedded users count as licenses. Open-source Superset is free to self-host. No AI is documented for embedded viewers, and viewers get limited exploration rather than dashboard editing.

Watch for: if customers will ask for "let me build my own view," this is the wrong shortlist.

How to test a Metabase replacement

Run the same checks on every finalist, using your schema and two real-shaped tenants:

  1. Seat math. Model your current users, then 2x and 5x. Ask each vendor what counts as a billable unit: seat, viewer, monthly active user, tenant, or flat.
  2. Tenant identity from your server. The tenant must come from your backend token, never from a filter the browser can edit.
  3. Broad questions fail closed. "Show all orders" as tenant A returns only tenant A's rows, in dashboards, exports, and AI answers.
  4. Customer editing. Can a tenant change a shared dashboard for themselves without affecting other tenants?
  5. AI on your schema. Ask five real customer questions. Record whether the AI writes new queries or only recombines saved content.
  6. Your React routes. Put two analytics views on one page, test your router and theme, and check your Next.js setup if you use it.
  7. Migration effort. Count the Metabase questions and dashboards you'd rebuild. Most teams rebuild the top 10 and retire the rest.

For a deeper security checklist, see BI tools with row-level security for SaaS. For the wider category, see Best Embedded Analytics Tools for SaaS (2026).

FAQ

What are the best Metabase alternatives for embedded analytics?

QueryPanel for AI-assisted tenant dashboards in React with an optional zero-trust headless path; Embeddable for code-owned components at a flat fee; Luzmo for a polished editor across frameworks; Holistics or Cube when a semantic layer owns metrics; Qrvey for self-hosted flat-rate self-service; Superset/Preset for low-cost view-only dashboards.

Is Metabase's embedded analytics SDK an iframe?

No. The modular embedding SDK renders React components in your app. Metabase's full-app and public embeds use iframes. The main reasons teams leave the SDK are plan requirements, per-seat pricing, and AI scope, not rendering.

Does Metabase charge for embedded users?

Yes, on SSO-based embeds. Metabase's pricing page states that users of your embeds count as users, and Pro includes 10 users with $12 per additional user per month as of September 2026. Guest embeds on open source and Starter don't need user accounts but are view-only.

Can Metabase's embedded AI build dashboards?

Not as of Metabase 0.63. Its documentation says embedded AI chat builds questions from existing metrics, models, saved questions, or tables, and won't write SQL or create or edit dashboards.

Which Metabase alternative avoids per-seat pricing?

Embeddable and Qrvey sell flat subscriptions, QueryPanel counts tenants rather than seats, and Holistics' embedded plan includes unlimited viewers. Luzmo prices on customer usage, though some contracts use monthly active users. Cube and Preset price per seat or viewer license.

Which Metabase alternative keeps our data on our servers?

QueryPanel's headless Node SDK does: QueryPanel generates the SQL, your backend runs it through a client callback, and credentials and rows never reach QueryPanel. Self-hosting open-source Metabase, Superset, or Qrvey in your cloud also keeps data in your infrastructure, but you then operate the BI server.

Should we migrate everything off Metabase at once?

Rarely. Many teams keep Metabase for internal analysts and move the customer-facing surface first. Rebuild the dashboards customers actually open, run both in parallel for one release, then retire the embed.


Compare QueryPanel and Metabase directly, browse the embedded analytics tools shortlist, or start with the React embed guide.