Skip to main content
Glama

Keyword Search Volume, CPC, Keyword Ideas and Google Trends API

Server Details

Google keyword search volume, CPC, difficulty, keyword ideas and Google Trends. Pay per call (x402)

Ownership verified
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.1/5.0

Scored across 6 tools

Disambiguation3/5

The three google_trends_* tools have clearly distinct outputs (time series, regional breakdown, related queries), but keyword_overview and keyword_search_volume return the same Google Ads metrics and differ only in input format and batch size (POST/100 vs GET/20), making misselection likely. The descriptions acknowledge the overlap, which helps but doesn't eliminate it.

Naming Consistency4/5

All names are snake_case and use consistent family prefixes (google_trends*, keyword_*), so the set reads predictably. However, names are noun phrases rather than a verb_noun action pattern, and keyword_search_volume vs keyword_overview obscures the intentional input-format distinction.

Tool Count4/5

Six tools is a tight, well-scoped surface for keyword research plus Trends data. One tool (keyword_search_volume or keyword_overview) is largely redundant with the other, so it's slightly over-provisioned but still reasonable.

Completeness4/5

The surface covers trends over time, regional interest, related/rising queries, keyword discovery, and keyword metrics — the core of keyword research. Minor gaps exist, such as multi-keyword Trends comparison (only one keyword at a time) and no language/localization controls.

Available Tools

6 tools
keyword_ideasKeyword ideas (up to 100 per seed)A
Read-onlyIdempotent
Inspect

Keyword ideas for a seed keyword, each with Google search volume, CPC, competition, keyword difficulty and search intent; up to 100 ideas in one $0.04 call (Google Ads data). Use when you need related keywords to target. volume = avg monthly searches, cpc in USD, competition 0-1, difficulty 0-100. No ideas returns empty results (still charged). Bad input is free; upstream errors are not charged. Price: $0.04 per successful call, paid over x402 (USDC on Base); pass the payment in _meta["x402/payment"].

NameRequiredDescriptionDefault
limitNoMaximum ideas to return (1-100). Default 20.
countryNoISO 3166-1 alpha-2 code or country name, used when locationCode is absent.
keywordYesSeed keyword to expand (at most 80 characters; whitespace, control characters and case are normalised; a seed then empty, over 10 words or over 80 characters is a free 400).
languageCodeNoLanguage code (2-letter). Default en. An unsupported location falls back to 2840 (United States) with en (or the requested language if the United States offers it); a supported location with a language it does not offer uses that location's default language (en if offered). Either way market.fallback is true and market.warnings says what was used.
locationCodeNoGoogle Ads location code (geo target ID). Default 2840 (United States); an unsupported code falls back to 2840 (United States).
includeMonthlyNoAdd each idea's monthly search volumes.

TDQS

A4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark it read-only, idempotent and open-world, and the description adds substantial context beyond that: $0.04 cost, x402 USDC-on-Base payment via _meta["x402/payment"], empty result sets still being charged, bad input being free, and upstream errors not billed. That is exactly the billing/failure behavior an agent cannot get from annotations or schema, and nothing contradicts the hints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose and the metrics it returns are front-loaded and the pricing/edge-case notes follow in a logical order. There is mild redundancy between 'up to 100 ideas in one $0.04 call' and the later 'Price: $0.04 per successful call', but each sentence otherwise carries information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description takes on the job of describing the response (volume, CPC, competition, difficulty, intent) and also covers cost, payment mechanics and the empty-result/free-400/uncharged-error cases. An agent has enough to decide whether to call and how to pay correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the parameters (limit, country, locationCode, languageCode, includeMonthly) are already fully documented and the baseline of 3 applies. The description's metric glossary (volume, cpc, competition 0-1, difficulty 0-100) explains return values rather than adding parameter meaning, so it doesn't push this above baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Keyword ideas for a seed keyword') and enumerates the returned metrics, plus a count/price bound. It implies differentiation from volume-lookup siblings via 'Use when you need related keywords to target' but never names keyword_overview or keyword_search_volume, so the boundary is inferred rather than stated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is one clear usage cue ('Use when you need related keywords to target'), which positions it as an expansion/discovery tool. However, no sibling is named as an alternative and no when-not-to-use condition is given, even though keyword_search_volume and keyword_overview overlap conceptually.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

keyword_overviewKeyword overview (up to 100 keywords)A
Read-onlyIdempotent
Inspect

Search volume, CPC, competition, keyword difficulty and search intent for up to 100 keywords in one $0.04 call (Google Ads data). Use when you already have a keyword list to prioritise. volume = avg monthly searches, cpc in USD, competition 0-1, difficulty 0-100. Keywords without data are left out of results and listed in missing (still charged). Bad input is free; upstream errors are not charged. Price: $0.04 per successful call, paid over x402 (USDC on Base); pass the payment in _meta["x402/payment"].

NameRequiredDescriptionDefault
countryNoISO 3166-1 alpha-2 code or country name, used when locationCode is absent (uk = gb).
keywordsYesKeywords to look up (1-100; each at most 80 characters). Whitespace and control characters are normalised to single spaces and keywords to lower case; a keyword that is then empty, over 10 words or over 80 characters is not looked up and is listed in missing, and a request with no keyword left to look up is a free 400 (the one exception to openverbs schema compatibility).
languageCodeNoLanguage code (2-letter). Default en. An unsupported location falls back to 2840 (United States) with en (or the requested language if the United States offers it); a supported location with a language it does not offer uses that location's default language (en if offered). Either way market.fallback is true and market.warnings says what was used.
locationCodeNoGoogle Ads location code (geo target ID). Default 2840 (United States); an unsupported code falls back to 2840 (United States).
includeMonthlyNoAdd each keyword's monthly search volumes.

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations, the description discloses important behavior: pricing, x402 payment handling via _meta, exclusion and charging for keywords without data, and the distinction between free bad input and charged upstream errors. These details materially affect whether and how an agent should invoke the tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but front-loaded: the core capability and use case come first, followed by metric definitions, charging rules, and payment mechanics. Every sentence contributes operationally relevant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a paid, external-data tool with no output schema, the description covers the essential context: what metrics are returned, bulk limits, missing-data behavior, billing semantics, and the x402 payment mechanism. The schema already handles location, language, and fallback details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the parameters are already well documented. The description adds useful semantics for returned metrics, but it adds little input-parameter meaning beyond what the schema already provides, so the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific resource and metric set: search volume, CPC, competition, keyword difficulty and search intent for up to 100 keywords. It also implies a clear use case that separates it from idea-generation siblings, but it does not explicitly name or contrast a sibling such as keyword_search_volume.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives a clear usage condition: 'Use when you already have a keyword list to prioritise.' That helps distinguish it from keyword_ideas, but there is no explicit when-not guidance or named alternative tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

keyword_search_volumeSearch volume (GET, up to 20 keywords)A
Read-onlyIdempotent
Inspect

Google search volume, CPC, competition, keyword difficulty and intent for up to 20 comma-separated keywords in one $0.04 GET (Google Ads data). Use when you need monthly search volume for a few keywords in a country. volume = avg monthly searches, cpc in USD, competition 0-1, difficulty 0-100. Up to 100 keywords for the same $0.04: POST /v1/keyword-overview. Keywords without data are listed in missing (still charged). Bad input is free; upstream errors are not charged. Price: $0.04 per successful call, paid over x402 (USDC on Base); pass the payment in _meta["x402/payment"].

NameRequiredDescriptionDefault
langNoLanguage code offered for the country (en, es, de, ...). Default en when offered.
countryNoISO 3166-1 alpha-2 country code of a supported location (us, gb, de, ...; uk = gb). Default us.
keywordsYes1-20 keywords (no commas inside a keyword; each at most 80 characters). Whitespace and control characters are normalised to single spaces and keywords to lower case; a keyword that is then empty, over 10 words or over 80 characters is not looked up and is listed in missing; none left to look up is a free 400.
includeMonthlyNoAdd each keyword's monthly search volumes.

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the read-only and idempotent annotations, the description discloses pricing, which failures are charged, missing-keyword behavior, and the x402 payment mechanism. This is unusually complete behavioral context for a paid data-lookup tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense and front-loads the core purpose, metrics, and scope. Every sentence carries useful information, though the pricing and payment details make it heavier than strictly necessary for selection.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description supplies the metric meanings and billing/missing-data behavior an agent needs to call the tool correctly. Annotations already cover safety, and the description complements them with cost and failure-mode details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already fully documents keywords, country, lang, and includeMonthly. The description adds metric definitions for returned fields and repeats the 20-keyword limit, but adds little parameter-specific meaning beyond the schema; 'comma-separated keywords' also slightly mismatches the array parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names the exact resource and metrics (Google search volume, CPC, competition, keyword difficulty and intent) and the concrete scope (up to 20 keywords in one GET). It also explicitly distinguishes itself from keyword_overview, which handles up to 100 keywords via POST.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states when to use it: 'when you need monthly search volume for a few keywords in a country.' It also names the alternative for larger batches and the condition that selects it, leaving little ambiguity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 2 tool updates
    • Changedkeyword_ideas1 field changed
      • changedInput schema / properties / locationCode / description
        Previous value: -"DataForSEO location code. Default 2840 (United States); an unsupported code falls back to 2840 (United States)."New value: +"Google Ads location code (geo target ID). Default 2840 (United States); an unsupported code falls back to 2840 (United States)."
    • Changedkeyword_overview1 field changed
      • changedInput schema / properties / locationCode / description
        Previous value: -"DataForSEO location code. Default 2840 (United States); an unsupported code falls back to 2840 (United States)."New value: +"Google Ads location code (geo target ID). Default 2840 (United States); an unsupported code falls back to 2840 (United States)."
  2. 6 tool updates
    • First observedgoogle_trends
    • First observedgoogle_trends_by_region
    • First observedgoogle_trends_related_queries
    • First observedkeyword_ideas
    • First observedkeyword_overview
    • First observedkeyword_search_volume

Publisher details

Operator
Duo Leads · Publisher source
Vendor relationship
Independent · Publisher source
Trust center
Not available
Restrictions
Paid per call in USDC on Base via x402; no account, API key or subscription. · Publisher source

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    Free keyword research with live search volume, CPC, competition and 12-month trends.
    11
    5 npm
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables SEO keyword research with Google Suggest, intent classification, long-tail discovery, and related queries, with pay-per-call via x402 micropayments.
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    SEO and AI-visibility checks an agent buys per call: keyword research, on-page audits, Google rank and SERP data, backlinks, and AI-citation checks across ChatGPT, Claude, Gemini and Perplexity. 19 tools, $0.005–0.30 each, paid in USDC on Solana via x402 — no account and no API key.
    19
    59 npm
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources