Skip to main content
Glama
localseodata

Local SEO Data

Official

keyword_suggestions

Read-only

Generate new keyword ideas from a seed keyword and localize search volume and CPC for a city or state, with country-level fallback when local data is unavailable.

Instructions

Use when generating new keyword ideas from a seed keyword. Keyword ideas come from our national keyword database; volumes and CPC are then localized via Google Ads for city/state locations (volume_scope: "local") with a labeled country-level fallback (volume_scope: "country") — check location_used for the actual scope, and location_alternatives for sibling entities like townships. keyword_difficulty remains national (SERP-based). A null search_volume means no data, not zero searches. For metrics on keywords you already have, search_volume returns volume/CPC directly. Costs 92 credits.

Input Schema

NameRequiredDescriptionDefault
limitNoMax suggestions. Default: 50, max: 1000
keywordYesSeed keyword (e.g. "plumber")
languageNoLanguage as ISO 639-1 code or name (e.g. "fr", "fr-FR", "French"). Defaults to English wherever we hold an English database for that country, and to the largest database that country has otherwise.
locationYesGeographic location (e.g. "Orchard Park, NY")
include_seed_keywordNoInclude seed keyword in results. Default: true

Output Schema

NameRequiredDescriptionDefault
languageNo
locationYes
data_sourceNo
suggestionsYes
total_countYes
seed_keywordYes
volume_scopeNo
location_usedNo
location_alternativesNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv1.1.0
    • addedInput schema / properties / language
      Added value: +{
      +  "description": "Language as ISO 639-1 code or name (e.g. \"fr\", \"fr-FR\", \"French\"). Defaults to English wherever we hold an English database for that country, and to the largest database that country has otherwise.",
      +  "type": "string"
      +}
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": true,
      +  "properties": {
      +    "data_source": {
      +      "type": "string"
      +    },
      +    "language": {
      +      "type": "string"
      +    },
      +    "location": {
      +      "type": "string"
      +    },
      +    "location_alternatives": {
      +      "items": {
      +        "additionalProperties": true,
      +        "properties": {
      +          "code": {
      +            "type": "number"
      +          },
      +          "name": {
      +            "type": "string"
      +          },
      +          "type": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "name",
      +          "code",
      +          "type"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "location_used": {
      +      "type": "string"
      +    },
      +    "seed_keyword": {
      +      "anyOf": [
      +        {
      +          "additionalProperties": true,
      +          "properties": {
      +            "cpc": {
      +              "type": [
      +                "number",
      +                "null"
      +              ]
      +            },
      +            "keyword": {
      +              "type": "string"
      +            },
      +            "keyword_difficulty": {
      +              "type": [
      +                "number",
      +                "null"
      +              ]
      +            },
      +            "search_volume": {
      +              "type": [
      +                "number",
      +                "null"
      +              ]
      +            },
      +            "serp_features": {
      +              "items": {
      +                "type": "string"
      +              },
      +              "type": "array"
      +            }
      +          },
      +          "required": [
      +            "keyword",
      +            "search_volume",
      +            "keyword_difficulty",
      +            "cpc",
      +            "serp_features"
      +          ],
      +          "type": "object"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "suggestions": {
      +      "items": {
      +        "additionalProperties": true,
      +        "properties": {
      +          "cpc": {
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "keyword": {
      +            "type": "string"
      +          },
      +          "keyword_difficulty": {
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "search_volume": {
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "serp_features": {
      +            "items": {
      +              "type": "string"
      +            },
      +            "type": "array"
      +          }
      +        },
      +        "required": [
      +          "keyword",
      +          "search_volume",
      +          "keyword_difficulty",
      +          "cpc",
      +          "serp_features"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "total_count": {
      +      "type": "number"
      +    },
      +    "volume_scope": {
      +      "enum": [
      +        "local",
      +        "country"
      +      ],
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "seed_keyword",
      +    "suggestions",
      +    "total_count",
      +    "location"
      +  ],
      +  "type": "object"
      +}
  2. First observedv0.1.0

TDQS

A4.6/5.0
Behavior5/5

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

The description adds substantial behavior beyond the readOnly/openWorld annotations: it explains the national database source, Google Ads localization for city/state scopes, country fallback, location_used and location_alternatives fields, national keyword_difficulty, null search_volume semantics, and a 92-credit cost.

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 front-loaded with the usage condition and remains dense with relevant operational details. It is appropriately sized for the tool's complexity, though the single long paragraph could be easier to scan.

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?

Given the output schema and annotations, the description covers the key behavioral context an agent needs: data source, localization scope, fallback behavior, null handling, alternative tool routing, and cost. Nothing material appears missing.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3. The description earns an extra point by explaining how the required location parameter affects volume_scope, fallback behavior, and related output fields, though it does not elaborate on limit, language, or include_seed_keyword beyond the schema.

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 opening sentence states a specific verb and resource: generating new keyword ideas from a seed keyword. It also distinguishes the tool from search_volume for users who already have keywords and need metrics.

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 explicitly says when to use this tool and gives search_volume as the alternative for existing keywords. It does not clarify when to choose related_keywords, keyword_opportunities, or keywords_for_site, so the sibling routing guidance is good but not exhaustive.

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