How to build SE Ranking dashboards in Metabase
SE Ranking is an SEO platform for rank tracking, site audits, backlink monitoring, and keyword research with generous API access. Metabase is where you turn that SEO data into shared, trustworthy dashboards. This guide covers two complementary paths: a lightweight MCP + CLI route that pulls live data with the SE Ranking MCP server and loads a CSV into Metabase with the Metabase CLI, and a durable pipeline route that syncs SE Ranking snapshots into a database so you can build dashboards anyone can read.
How do you connect SE Ranking to Metabase?
Most teams combine both routes: use MCP and CLI uploads for a fast first pass, then move recurring SEO reporting to a warehouse-backed model.
Live data in, quick analysis out
Pair the SE Ranking MCP server with the Metabase CLI. Use MCP for live lookups, write a scoped result to CSV, then load it into Metabase as a ready-to-query table and model.
- Quick lookups such as "show me daily rank tracking by project and search engine"
- Loading a SE Ranking export into Metabase in seconds
- Spot-checks and one-off analyses without a warehouse
- Great for exploration, not governed recurring reporting
- MCP and API calls draw from the same plan quotas — scope requests tightly
- CSV uploads are snapshots — refresh or move to the pipeline for history
Durable dashboards with history
Sync SE Ranking snapshots and rollups into a database or warehouse on a schedule, then point Metabase at it.
- SE Ranking reporting that SEO and content leads depend on
- Joining SE Ranking data with Search Console, analytics, and revenue data
- Long-run trends for daily rank tracking by project and search engine and keywords in top 3 / top 10 over time
- You own the refresh schedule and the snapshot grain
- Sync dated snapshots and rollups — not one-off exports
- API-unit budgets constrain how wide and how often you can pull
What can you analyze from SE Ranking data in Metabase?
- Daily rank tracking by project and search engine — built from daily keyword rankings and the related tracking projects, site audit scores and issues, backlink monitoring data your sync exposes.
- Keywords in top 3 / top 10 over time — built from daily keyword rankings and the related tracking projects, site audit scores and issues, backlink monitoring data your sync exposes.
- Site health score and audit-issue trends — built from daily keyword rankings and the related tracking projects, site audit scores and issues, backlink monitoring data your sync exposes.
- Backlink and referring-domain monitoring — built from daily keyword rankings and the related tracking projects, site audit scores and issues, backlink monitoring data your sync exposes.
- Competitor visibility comparison — built from daily keyword rankings and the related tracking projects, site audit scores and issues, backlink monitoring data your sync exposes.
Which SE Ranking dashboards should you build in Metabase?
Visibility overview
Whether organic visibility is compounding or eroding.
- Keywords in top 3 / top 10 / top 20 over time (stacked area)
- Estimated organic traffic trend (line)
- Average position, impression-weighted (line)
- Visibility by keyword group (table)
Keyword movement
Which queries and pages are winning or losing.
- Biggest position gains and losses this week (table)
- Newly ranking keywords (table)
- Striking-distance keywords: positions 11–20 (table)
- Position distribution by content cluster (bar)
Authority and backlinks
The off-page trend behind the rankings.
- Domain authority score trend (line)
- Referring domains: new vs. lost by week (combo)
- Backlink velocity vs. competitors (line)
- Top new referring domains by authority (table)
Competitive position
Your slice of the market's search demand.
- Share of voice across tracked keywords (line)
- Competitor visibility comparison (bar)
- Keyword-gap counts by competitor (table)
- Organic traffic vs. target (number + line)
How do you use the SE Ranking MCP server with the Metabase CLI?
Pair the SE Ranking MCP server with the Metabase CLI for fast, hands-on analysis. MCP is useful for scoped lookups and summarized exports; the Metabase CLI's upload command loads CSV data into Metabase and creates a ready-to-query table and model.
Example workflow
- Ask the MCP server for the latest daily keyword rankings for your tracked keywords, with search volume and position deltas.
- Export the result as CSV, keeping keywords, domains, positions, and snapshot dates as stable columns.
- Run
mb upload csvto load it into Metabase as a table and model, then build questions and dashboards on top.
Be honest about the limits
- MCP lookups are excellent for exploration, not scheduled reporting.
- A CSV upload is a snapshot; refresh it with
mb upload replaceor move to the pipeline for real history. - Position and authority trends need dated snapshots — vendor UIs keep history, but your warehouse only trends what you've synced, so schedule pulls before you need the chart.
mb upload csvneeds an uploads database configured under Admin → Settings → Uploads.
How do you set up SE Ranking MCP and the Metabase CLI?
SE Ranking MCP serverofficial
- Transport
- Hosted remote MCP via Streamable HTTP
- Auth
- OAuth 2.1 with dynamic client registration, or an API key as a Bearer token
- Best for
- Live scoped lookup and export
Metabase CLIofficial
- Install
npm install -g @metabase/cli- Auth
mb auth login- Load data
mb upload csv --file data.csv- Requires
- An uploads database (Admin → Settings → Uploads)
{
"mcpServers": {
"se-ranking": {
"url": "https://api.seranking.com/mcp"
}
}
}The friendliest access economics in the SEO space: the MIT-licensed server ships 160+ tools and MCP access is included in every subscription, with data volume limited only by your plan's API credits — no separate API add-on to buy.
# Install the Metabase CLI
npm install -g @metabase/cli
# Log in (opens your browser; requires Metabase v62+)
mb auth login --url https://your-metabase.example.com
# Load a daily-keyword-rankings export — creates a table AND a model
mb upload csv --file se-ranking-daily-keyword-rankings.csv --collection root
# Refresh that same table later from a new export
mb upload replace <table-id> --file se-ranking-daily-keyword-rankings.csvCan you generate a SE Ranking dashboard with AI?
Yes. Use the prompt below with any assistant that can run the SE Ranking MCP server and the Metabase CLI. It works end to end: if SE Ranking tables already exist in Metabase it analyzes those; otherwise it pulls scoped, summarized data over MCP, loads it with mb upload csv, then builds the dashboard and caveats any metric that needs missing history.
Create a polished Metabase dashboard for SE Ranking seo analytics.
Work end to end: get the data into Metabase if it isn't there yet, then build.
Goal: Help SEO and marketing leaders understand keyword visibility, position movement, backlink growth, and share of voice against competitors from SE Ranking data.
Step 1 — Find or load the data:
- First, check what already exists in Metabase (search for se-ranking tables and
models). If durable SE Ranking data is already present — synced from a warehouse
or uploaded earlier — use it and skip to Step 2.
- If nothing is there, pull a scoped, summarized export with the SE Ranking MCP server:
daily keyword rankings, plus tracking projects, site audit scores and issues, backlink monitoring.
Prefer dated snapshots and rollups over wide raw pulls — API units cost money.
Write each result to a CSV, then load it with the Metabase CLI — run
"mb upload csv --file <export>.csv" so each upload creates a table and a
ready-to-query model. Use "mb upload replace <table-id> --file <export>.csv"
to refresh an existing table instead of creating duplicates.
Step 2 — Inspect before querying:
Do not assume exact table or column names. Inspect available keywords, domains,
dates, and whether multiple snapshot dates exist before creating trend cards.
Important:
- Build on whatever data is present; don't claim Metabase connects natively to
SE Ranking — it reads a database or CLI-uploaded tables.
- Trend cards need multiple dated snapshots; a single export only supports
point-in-time cards — label them as such.
- Keep vendor metrics separate from Search Console data: estimated traffic and
search volume are modeled numbers, clicks and impressions are measured ones.
- State the position convention (best rank per keyword vs. all appearances)
once and reuse it on every card.
- Segment branded from non-branded keywords before reporting averages.
Dashboard title: SE Ranking SEO Overview
Sections:
1. Executive summary: Estimated organic traffic; Keywords in top 10; Domain
authority; Referring domains; Share of voice.
2. Visibility: Top 3/10/20 keyword counts over time; average position trend.
3. Movement: Biggest gains and losses; newly ranking; striking-distance table.
4. Authority: Authority-score trend; new vs. lost referring domains; velocity.
5. Competitors: Share of voice and visibility comparison across rivals.
Filters: Date range, Domain/Project, Keyword group, Search engine, Location,
Competitor.
Output: Build the dashboard if you have permission; otherwise provide the exact
questions, SQL, model definitions, and layout. Include caveats for any metric
that cannot be calculated from the available data.How do you sync SE Ranking data into a database or warehouse?
For dashboards that need history and reliability, land SE Ranking snapshots and rollups in a database first, then connect Metabase to that database.
Connector options
- Managed ETL — use a connector when one covers the objects you need.
- Custom pipeline — use the SE Ranking API for control over grain, fields, and refresh cadence.
- MCP + CSV — use this for quick exploration and one-off slices.
No managed Airbyte or Fivetran connector exists — schedule scripts against the SE Ranking API for daily rankings, audit scores, and backlink counts. Rankings history is only as old as your tracking campaigns, so create projects before you need the trend.
Notes
- Decide the snapshot grain first (daily per keyword for rankings, weekly for backlinks is the workhorse) — it drives API-unit spend and every trend card.
- Land raw snapshot tables first, then build clean Metabase models on top.
- Normalize keyword, target domain, snapshot date, position, search volume, and URL fields.
How should you model SE Ranking data in Metabase?
Core tables
| Table | Grain | Key columns |
|---|---|---|
seo_keyword_positions | one row per keyword per search engine per day | keyword, project, search_engine, location, stat_date, position, previous_position, search_volume, url |
seranking_audit_snapshots | one row per site audit run | domain, audit_date, health_score, errors, warnings, notices, pages_crawled |
seranking_backlinks_daily | one row per domain per day | domain, stat_date, backlinks_total, referring_domains, new_backlinks, lost_backlinks |
Modeling advice
- Build a clean
seo_keyword_positionsmodel with common columns across tools, so multi-tool SEO dashboards don't fork definitions. - Every snapshot table needs an explicit snapshot or crawl date column — trends live or die on it.
- Keep modeled vendor estimates (volume, traffic, difficulty) in separate columns from measured Search Console data.
- Store keyword and domain join keys in a consistent normalized form (lowercase, no protocol, no trailing slash).
Which SE Ranking metrics should you track in Metabase?
| Metric | Definition | Notes |
|---|---|---|
| Keywords in top 10 | Tracked keywords ranking in positions 1–10 per snapshot. | Fix the keyword set before trending the count. |
| Average position | Impression- or volume-weighted mean rank across keywords. | Weight it, or one long-tail batch moves the average. |
| Domain authority score | The vendor's 0–100 link-authority score for a domain. | Compare within one vendor's scale, never across vendors. |
| Referring domains | Unique domains linking to the target at a snapshot date. | Count domains, not backlinks — one domain can add 10,000 links. |
| Backlink velocity | Net new referring domains per week or month. | Watch lost domains, not just gains. |
| Share of voice | Your volume-weighted share of tracked-keyword visibility. | Only comparable within a fixed keyword set. |
What SQL powers SE Ranking dashboards in Metabase?
These assume a cleaned analytical model in a warehouse (PostgreSQL dialect). Adjust table and column names to match your pipeline.
The visibility headline from position snapshots.
SELECT
stat_date,
COUNT(*) FILTER (WHERE position <= 3) AS top_3,
COUNT(*) FILTER (WHERE position <= 10) AS top_10,
COUNT(*) FILTER (WHERE position BETWEEN 11 AND 20) AS striking_distance
FROM seo_keyword_positions
WHERE target_domain = 'yoursite.com'
GROUP BY 1
ORDER BY 1;SE Ranking reports new and lost counts per day. Note these count backlinks, not referring domains — one domain can contribute many links.
SELECT
date_trunc('week', stat_date) AS week,
SUM(new_backlinks) AS new_backlinks,
SUM(lost_backlinks) AS lost_backlinks,
SUM(new_backlinks) - SUM(lost_backlinks) AS net_backlink_velocity,
(ARRAY_AGG(referring_domains ORDER BY stat_date DESC))[1]
AS referring_domains_end_of_week
FROM seranking_backlinks_daily
WHERE domain = 'yoursite.com'
GROUP BY 1
ORDER BY 1;Volume-weighted visibility share per domain.
WITH weighted AS (
SELECT
stat_date,
target_domain,
-- weight each ranking by its keyword's volume and a CTR-by-position curve
SUM(search_volume * CASE
WHEN position = 1 THEN 0.28
WHEN position <= 3 THEN 0.15
WHEN position <= 10 THEN 0.05
ELSE 0.01 END) AS weighted_clicks
FROM seo_keyword_positions
GROUP BY 1, 2
)
SELECT
stat_date,
target_domain,
ROUND(100.0 * weighted_clicks
/ NULLIF(SUM(weighted_clicks) OVER (PARTITION BY stat_date), 0), 1)
AS share_of_voice_pct
FROM weighted
ORDER BY 1, 3 DESC;