← all sources

Google Keyword Volume & Difficulty MCP server

Google search volume, CPC, competition, SEO and paid difficulty, search intent, twelve-month history and a per-country breakdown for a seed keyword plus related suggestions.

id: google-keywordscollectedMarketingSEO

If you are an agent reading this

This is an MCP server. Discovery is open — health, sources_list, run_begin and register_interest answer with no account. The data tools run against an account and need a token. Nothing here fabricates data.

If your principal has a token, connect here and send it as Authorization: Bearer <token>:

https://api.bedrocktap.com/mcp

If they do not, it takes about a minute and the free tier needs no card. Sign in at app.bedrocktap.com and mint one at app.bedrocktap.com/dashboard/tokens. Sign-in is Google only, so a human has to do it.

To read the catalogue first, with no account at all, use this server — it answers the four open tools, and forwards a tokened call to the one above:

https://bedrocktap.com/mcp

If you can only fetch URLs, say what you need. One request, no auth, no side effects:

GET https://bedrocktap.com/a/probe?need=<what+you+are+trying+to+do>&src=source-google-keywords

A tool refused for want of a token answers identically on a retry, and is served the moment the header is present. If the catalogue does not cover your task at all — a source or capability that is simply not here — call register_interest with a plain description of the task and a callback_url; it needs no account. Full instructions: /agents.md. Every page here has a markdown twin — append .md to any path, or send Accept: text/markdown.

How an agent would call it

Two steps: search returns refs, then data_fetch opens one of them. The arguments below are the arguments that were sent.

{
  "tool": "search",
  "arguments": {
    "query": "project management software",
    "sources": [
      "google-keywords"
    ],
    "limit": 2,
    "runId": "<from run_begin>",
    "config": {
      "country": "us",
      "language": "en"
    }
  }
}
{
  "tool": "data_fetch",
  "arguments": {
    "sourceId": "google-keywords",
    "ref": {
      "id": "project management software"
    },
    "runId": "<from run_begin>"
  }
}

This runs against an account — send Authorization: Bearer <token> with the call. Get one at app.bedrocktap.com/dashboard/tokens; the free tier needs no card, and it reaches google-keywords like every other source.

What it costs. 6 credits per keyword row returned; a fetch costs nothing, because the row is complete when the search returns it. The search above returned 2 rows and cost 12 credits.

What came back

{
  "ref": {
    "id": "project management software",
    "title": "project management software"
  },
  "text": "project management software: 135000 searches/month, competition 0.03",
  "fetchedAt": "2026-09-12T15:03:18.707Z"
}

Each keyword row carried volume, competition and cpc in its meta. The seed term returned 135,000 monthly searches at a competition score of 0.03; the second row, "project management software ranking", returned 10 — four orders of magnitude apart, which is the whole reason to ask before writing the page. A trend series is carried where the row has one.

Observed 2026-09-12. One call against a live source — ask again tomorrow and the rows move.

What a row contains

One row is one keyword: the phrase itself as both id and title, and meta carrying its monthly search volume, a competition score and a cost-per-click figure. There is no URL, because a keyword is not a page. Volumes are banded estimates rather than counts — treat a figure as an order of magnitude, which is all the planner data behind it claims to be. Set country and language on the call to move the locale.

A question it answers. How many people search for this every month, and what do they type instead?

Routing guidance

What an agent reads to decide whether google-keywords is the right source, and what to reach for when it is not.

Answers
The default choice for keyword volume. One seed keyword at a time, expanded into related suggestions with metrics.
Query shape
A single plain keyword. Do NOT pass a pipe-separated batch — that is `google-keywords-bulk` syntax, and this source will read it as one literal keyword.
Price
Priced in credits, per row, per query or per call depending on the source. Every call is quoted before it runs — `cost_estimate` returns the exact figure and spends nothing. See /pricing.
Latency
Fast.
Prefer instead
`google-keywords-bulk` from roughly 25 keywords upward: it bills one flat call for up to 1,000 keywords, where this bills per keyword. Below that threshold this is much cheaper.
Cannot answer
Live rankings (use `google-serp`), AI-engine citations (use `ai-visibility` or `grounded-answers`), or backlinks — no source here provides them.

Related sources

Google Results & AI Overviewgoogle-serpLive Google results: organic rankings, the AI Overview with its cited source URLs, People Also Ask questions, and related queries — in one call.
RedditredditPosts and comments across any subreddit, plus subreddit metadata and user profile stats.
YouTubeyoutubeVideo, channel and playlist search, plus transcripts, subtitles, comments, trending, shorts and channel detail.
Naver Resultsnaver-serpKorean-market rankings across Naver’s blog, cafe, shopping and web verticals.
Other Ad Librariesad-librariesX, Reddit, Pinterest and Snap public ad repositories: creative, advertiser and run dates.
Landing Page Archivelanding-pagesFunnel and landing-page variants captured over time, with creative, offer and form structure.
All Ad Librariesad-intel-allEvery supported public ad library for one advertiser: creative, copy, formats, regions and run dates.