Back to Connectors

Ubersuggest

by Neil PatelOAuthubersuggest-mcp.neilpatelapi.com

Connect Ubersuggest so your AI, flows, agents and functions can act through it.

Sign in with your account there; nothing to install. Documentation

Tools

Add keywords to list

Add keywords to a saved keyword list. Requires login. Only the new keywords are needed — existing ones stay, and duplicates are ignored. The account's plan caps how many keywords one list may hold.

Add project competitors

Add competitors to an existing project. Requires login. First use get_project to see current competitors, then include ALL existing competitors plus the new ones. The plan limit counts one entry per competitor **per tracked location**, so N competitors across M locations cost N*M against 'competitors_per_project' (see 'user_limits'). Going over returns a bare "Invalid project parameter: competitors". Each key must be a bare domain, e.g. 'competitor.com'.

Add project keywords

Add keywords to an existing project. Requires login. First use get_project to see current keywords, then include ALL existing keywords plus the new ones. The plan limit counts one entry per keyword **per tracked location**, so N keywords across M locations cost N*M against 'keywords_per_project' (see 'user_limits'). Going over returns a bare "Invalid project parameter: keywords".

Anchor texts

Get the most common anchor texts used in backlinks to a domain.

Article title suggestions

Suggests article titles plus a content angle for a project, from a keyword or a free-form prompt. Requires login. Free of charge. This is STEP 1 of writing an article with Content Studio: 1. 'article_title_suggestions' -> pick one 'titles' entry and keep 'content_idea'; 2. 'generate_article' with that title + content_idea (costs 100 monthly credits); 3. 'get_article' until the article is ready. The project must have a business summary, which is what grounds the suggestions in the user's business. If this fails with "business summary is missing or incomplete", call 'project_business_summary' for the same project_id first, then retry.

Auth status

Check current authentication status and account tier.

Backlink opportunity

Find backlink opportunities: referring domains that link to your competitors ('positive_targets') but not to you ('negative_targets'). Typical flow: run 'competitors' first to pick competitor domains, put them in 'positive_targets' each with scope='domain', and put your own domain in 'negative_targets'. The response lists referring domains linking to the positive_targets but not to the negative_targets.

Backlinks

List individual backlinks pointing to a domain or page.

Backlinks overview

Get a backlinks summary for a domain: total backlinks, referring domains, domain authority.

Brand config

Get the AI Search Visibility (AISV) brand setup for a project: tracked topics and prompts, competitors, alias groups, update frequency and limits. Requires login. Use this to understand WHAT is being tracked before interpreting the visibility numbers from 'brand_visibility_overview' / 'brand_prompts'. To find the project_id: call 'list_projects' and pick a project with "has_brand": true. An error mentioning "No brand found" means the project has no AISV brand configured — the user must set one up in the app first.

Brand prompts

Get the per-prompt AI Search Visibility (AISV) breakdown for a project's brand: for each tracked prompt, how the user's brand ranks, which brands were found, sentiment, sentiment keywords (positive/negative) and search intents. Requires login. To find the project_id: call 'list_projects' and pick a project with "has_brand": true. Use 'brand_visibility_overview' for the headline metrics and competitive ranking, and 'brand_config' to see the tracked topics/prompts. If the response is prefixed with a pending_update note, the report is still computing — ask the user to retry in a few minutes.

Brand visibility overview

Get the headline AI Search Visibility (AISV) metrics for a project's brand: how often the brand appears in AI assistant answers (visibility %), average rank, share of voice, total mentions and sentiment — overall and broken down by provider — plus the competitive brand ranking and aggregated search intents. Requires login. To find the project_id: call 'list_projects' and pick a project with "has_brand": true. Use 'brand_prompts' for the per-prompt breakdown, and 'brand_config' to see what is tracked. If the response is prefixed with a pending_update note, the report is still computing — ask the user to retry in a few minutes.

Competitors

Find the main organic competitors of a domain. The backend runs this as an async report: the tool starts the job and polls every 5s for up to ~40s, so a ready report comes back in one call. If the response has 'pendingData: true' the report is still building — call the tool again in a moment.

Configure brand

Create or update the AI Search Visibility (AISV) brand for a project: the topics and prompts tracked across ChatGPT, Gemini and Google AI Overviews, plus the competitor brands compared against. Requires login. Creates the brand when the project has none, otherwise updates it. Creating one also starts the tracking. Before calling: - 'brand_config' to read what is tracked today. **'topics' fully replaces the stored list** — there is no way to edit a single topic or prompt, so resend every topic you want to keep, including its prompts. - 'user_limits' for 'prompts_per_brand' (the cap on total prompts) and 'brands' (how many brands the plan allows). This spends one of the account's monthly 'brand_operations' credits whenever topics or prompts change, so confirm the list with the user first rather than saving twice.

Content ideas

Get content ideas for keywords: top-performing pages by social shares, estimated visits, and backlinks.

Create keyword list

Create a saved keyword list, optionally filling it with keywords. Requires login. The account's plan caps how many lists it may have.

Create project

Create a new tracked project for a domain. Requires login. Use location_suggest to find valid loc_id values. For a first-time setup, prefer 'onboard_project': it analyses the business, then suggests competitors, keywords, topics and prompts, and sets up AI Search Visibility too.

Delete keyword list

Delete a saved keyword list and every keyword in it. Requires login. This cannot be undone — confirm with the user first.

Domain keywords

Get the organic or paid keywords ranking for a domain, with search volume, position, and difficulty.

Domain overview

Get a comprehensive overview of a domain including traffic, organic keywords count, domain authority, and backlinks summary.

Domain top countries

Get the top countries where a domain gets organic traffic. Pass one or more language+location pairs in 'lang_locs' (format: 'languageCode:locationId', e.g. 'en:2840' for US-English, 'pt:2076' for Brazil-Portuguese). Use 'location_suggest' to find location IDs.

Domain top pages

Get the top pages of a domain ranked by estimated traffic.

Estimate serp clicks

Estimate monthly click-through traffic for each SERP result, given its search volume, position, and result type. This is a calculator — it does NOT look up rankings. For each entry you already know (volume + current position + type), it returns the projected clicks. Use it to model scenarios like "if I ranked #3 for kw X (10k volume), how many clicks would I get?". To discover positions for a keyword, use 'serp_analysis' or 'domain_keywords' first.

Generate article

Starts writing a full SEO article for a project and returns its 'article_id'. Requires login and a paid plan. COST: 100 credits from the account's monthly credit pool ('monthly_keyword_metrics_updates'). Free and lowest-tier plans do not have enough allowance, so confirm with the user before calling. ASYNCHRONOUS: the response only means the job was queued ('status' = "queued"). The article itself takes several minutes. -> Poll 'get_article' with the returned 'article_id' every ~15 seconds. -> Stop when 'status' is "generated" / "delivered" / "delivery_failed" (content is ready) or "failed" / "cancelled" (credits are refunded automatically). 'title' and 'content_idea' should come from 'article_title_suggestions'; pass the same seed ('source_type' + 'keyword'/'prompt') used there. The project must have a business summary — on "business summary is missing or incomplete", call 'project_business_summary' first.

Get article

Reads a Content Studio article and its generation status. Requires login. Free of charge — this is the polling endpoint for 'generate_article'. 'status' values: "queued" / "generating" -> still being written; 'content' is null. Poll again in ~15 seconds. "generated" / "delivered" / "delivery_failed" -> the article is ready; read 'content' (markdown), 'outline' and 'meta_description'. "failed" / "cancelled" -> generation stopped; 'error' explains why and the 100 credits were refunded.

Get project

Get details of a specific project including tracked keywords and settings. Requires login.

Google suggestions

Expand keywords into Google autocomplete suggestions, grouped the way the Ubersuggest web app groups them. Each seed keyword is fanned out into ~60 autocomplete queries (question words, prepositions, comparison words, alphabet and digit suffixes), so this returns hundreds of real long-tail variations per keyword rather than only what autocomplete shows for the bare term. At most 10 keywords are expanded per call. These are raw autocomplete phrases with no metrics attached — use 'keyword_overview' or 'match_keywords' to get search volume, CPC and difficulty for the ones worth pursuing.

Industry detect

Work out which industry a brand belongs to, and suggest related topics worth tracking in AI Search Visibility. Requires login. Use it when adding topics to a brand that already exists. For a brand-new project, 'onboard_project' already derives topics from the business summary. Feed the topics you pick into 'industry_prompts' to get prompts, then save both with 'configure_brand'.

Industry prompts

Generate the prompts to track for a brand's topics — the questions real users would ask an AI assistant about that topic. Requires login. Use it when adding topics to a brand that already exists; 'onboard_project' covers a brand-new project. The prompts come back per topic, ready to hand to 'configure_brand'. Show them to the user before saving: the wording decides what the visibility numbers actually measure. Spends one of the account's monthly 'brand_operations' credits.

Keyword list

Read one saved keyword list: its keywords with volume, CPC and difficulty. Requires login. Get the id from keyword_lists. A free account reads only as many keywords as its plan allows; 'hidden_by_plan' counts the rest, which an upgrade unlocks.

Keyword lists

List the user's saved keyword lists with their aggregates. Requires login. Use keyword_list with an id to read the keywords in one list. A free or downgraded account only reaches its three newest lists; 'hidden_by_plan' counts the ones an upgrade would unlock.

Keyword metrics

Recalculate a specific metric for a keyword: search difficulty or search intent. Runs an async report on the backend and waits for the result (may take ~30s; search_difficulty consumes the monthly keyword metrics update quota).

Keyword overview

Get search volume, CPC, SEO difficulty, and paid difficulty for a keyword.

Keyword suggestions

Get related keyword suggestions with metrics for seed keywords, as a flat list. For paginated or custom-sorted keyword research, use match_keywords instead.

Linking domains

Get referring domains that a target domain recently gained or lost. 'filter_by' selects the set: 'new' (gained, default) or 'lost'. There is no "full live list" option — for totals use 'backlinks_overview' instead. Date range ('begin_date'/'end_date') narrows the gained/lost window (the data source limits this to roughly the last 60 days). For "domains acquired in May 2026", use filter_by='new' with that month's begin/end dates.

List projects

List all your tracked projects/domains. Requires login.

Location details

Get details (name, type, parent hierarchy) for one or more location IDs, countries included. Accepts a list so you can resolve several at once.

Location suggest

Search for location IDs by name. Useful to find the locId parameter for other tools. Matches countries as well as cities and states.

Match keywords

Find keywords matching seed terms with volume, difficulty, and CPC data. Great for keyword research.

Onboard project

Run the full first-time setup for a domain: analyse the business, suggest competitors, generate AI Search Visibility topics and prompts, generate keywords, then create the project and its brand. Requires login. **Call it repeatedly.** The flow takes minutes, so one call does as much as fits and returns 'done': false with a 'stage' and everything gathered so far. To resume, call again with the same 'domain' and 'locations' — the generation jobs are keyed by them — and pass every returned field straight back, so nothing is recomputed. **It stops at 'stage': "review" and creates nothing.** At that point show the user the business summary, competitors, topics with their prompts, and keywords, and ask what to change. Only call again with 'confirm': true once they have answered. To apply edits, send the corrected 'competitors', 'topics' or 'keywords' along with 'confirm' — what you pass wins over what was generated. Reviewing matters: saving the brand spends one of the account's monthly 'brand_operations' credits, and prompts can only be changed by resending the whole list, so a fix afterwards costs another credit. Lists are trimmed to what the plan allows before anything is created; 'notes' says what was dropped. Resolve 'locations' with 'location_suggest' first — guessing a loc_id silently tracks the wrong country.

Page keywords

Get the keywords that a specific page ranks for.

Page overview

Get an overview of a specific page including its organic keywords and traffic.

Page shares

Get social media share counts + backlink/traffic metrics for a batch of page URLs. Supports multiple URLs in a single call.

Pagespeed audit

Run a PageSpeed audit on a domain to check Core Web Vitals and performance.

Project business summary

Makes sure a project has the business summary that Content Studio requires, and returns it. Requires login. Free of charge. Call this before 'article_title_suggestions' / 'generate_article', or whenever one of them fails with "business summary is missing or incomplete". Behaviour: - If the project already has a complete summary, it is returned as-is ('already_complete' = true) and nothing is written. - Otherwise the project's website is analysed (this takes up to ~1 minute) and the resulting summary is saved on the project. If the analysis is still running the tool returns 'done' = false — just call it again. - Pass 'business_summary' yourself to write it directly, e.g. when the automatic analysis cannot read the site. Ask the user for the facts instead of inventing them. - Omit 'project_id' and pass 'domain' to just analyse a site and get the summary back without storing it — useful before the project exists.

Project position info

Get ranking positions for the tracked keywords of a project (rank tracking report). Requires login. Returns the full report. How to read the response: - "done": true — the report is FINAL. Treat it as a definitive answer; do not retry expecting different data. - A keyword's "status": "ok" with "old_position.position": null and "new_position.position": null means the domain does NOT rank in the top 100 for that keyword. This is a final answer ("not ranking"), NOT a "still loading" state. The "binned.not_ranking" bucket counts these. - A keyword's "status": "pending" only appears for brand-new projects whose first SERP collection hasn't run yet (no "updated_at"). In that case, ranking data typically appears 5-60 minutes after project creation; the caller should retry then. - "average_positions.positions": [] simply means there's no historical ranking series to plot — consistent with "not ranking". Polls briefly (HTTP 200/202) for the rare cached-report regeneration path. If the backend errors persistently the tool throws — retry in a few minutes. Filter by lang/location/device; pick one combo you track in the project.

Remove keywords from list

Remove keywords from a saved keyword list. Requires login. Match the language and loc_id shown by keyword_list — the same phrase in another location is a different entry.

Rename keyword list

Rename a saved keyword list. Requires login. Its keywords are untouched.

Search neilpatel blog

Search articles from Neil Patel's blog. Filter by category server-side and/or refine with query keywords. Returns matching articles with full content as markdown. Provide at least one of: query, category.

Seo opportunities

Get SEO improvement opportunities for a project. Requires login.

Serp analysis

Analyze the SERP (Search Engine Results Page) for a keyword, showing top ranking URLs with metrics.

Site audit

Starts (or re-starts) a site audit crawl for a domain AND returns the initial crawl status. Requires a paid account. This is STEP 1 of the site audit flow. Internally the tool: a) calls the backend to register the crawl task (without this step, later status calls fail with "Task has not been set"); b) immediately reads 'site_audit_status' once so the response tells you whether the crawl just started, is already in progress, or a cached report is already available. Response is the same shape as 'site_audit_status': result.done === true -> a report is ready (cached or freshly finished). Inspect 'result.report'. result.done === false -> crawl is running. Start polling 'site_audit_status' every ~5 seconds with the same 'domain' / 'path' / 'crawlMaxPages' until 'result.done' is true. Then, to list URLs affected by a specific issue id from 'result.report.issues_per_category.{errors|warnings|recommendations}[].id', call 'site_audit_results'. Use 'path' only when auditing a single URL (page audit) rather than the whole domain. Set 'recrawl' to true to force a fresh crawl ignoring any cached result.

Site audit pages

Lists every URL that was crawled during a completed site audit, with HTTP status and index state. Requires a paid account. Use this after 'site_audit_status' returns 'result.done === true' when the user wants the full list of discovered pages (not issue breakdown). For issue-specific URLs use 'site_audit_results' instead.

Site audit results

Gets the list of pages affected by a specific SEO issue from a completed site audit. Requires a paid account. This is STEP 3 of the site audit flow — call it AFTER 'site_audit_status' returned 'result.done === true'. You do not need this tool to get the issue summary (that already lives in the status response's 'result.report.issues_per_category'). Pick the 'issue' id from 'result.report.issues_per_category.{errors|warnings|recommendations}[].id' in the status response (e.g. 'seo_missing_h1', 'seo_broken_links', 'seo_duplicate_titles'). Response contains: result.breakdown -> affected URLs with status + recommendation result.ignored -> URLs the user previously ignored result.diff -> change vs. previous audit

Site audit status

Checks the progress/result of a site audit previously started with 'site_audit'. Requires a paid account. This is STEP 2 of the site audit flow. Poll this tool repeatedly (every ~5 seconds) until 'result.done' is true. Response shape: result.done -> false while crawling, true when finished result.crawl_count -> pages crawled so far result.crawl_max_pages -> total pages the crawl will visit result.report -> partial (while crawling) or final (when done) audit report, including: overview -> totals + health score issues_per_category: { errors, warnings, recommendations } each with list of issue ids + counts result.extended_status -> 'no_errors' on success, otherwise the crawl failed When 'result.done' is true, stop polling and inspect 'result.report.issues_per_category' for issue ids. To list the affected URLs for a given issue id, call 'site_audit_results'. Pass the same 'domain' / 'path' / 'crawlMaxPages' you used when calling 'site_audit'.

Traffic value

Get the estimated monthly value in USD of a domain's organic traffic (the equivalent Google Ads spend). Only available for domains tracked as a project in this account — requires login.

User limits

Get the account's plan allowances. Requires login. Free of charge. Call this before setting a project up, so lists are trimmed to what the plan accepts. The backend rejects an over-limit request with a bare "invalid_parameter" that does not say which limit was hit. Useful keys: 'projects', 'keywords_per_project', 'competitors_per_project', 'locations_per_project', 'brands' (AI Search Visibility slots), 'prompts_per_brand', 'topics_per_brand', 'keyword_lists', 'keywords_per_keyword_list', and the monthly 'brand_operations_limits'/'brand_operations_used' pool that brand edits draw on.

Validate site

Validate if a domain or URL is reachable and can be analyzed by Ubersuggest.

Only use connectors from companies you trust: Serenities AI does not control which tools a connector offers and cannot verify that they work as intended or that they won’t change.