Skip to main content
Glama

Get domain keyword opportunities

get_domain_keyword_suggestions
Read-only

Returns the organic keywords a domain ranks for, including position and available metrics. Use after get_domain_overview when you want the detailed keyword opportunity list for a competitor or reference domain. Cached for 12 hours.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
domainYesCompetitor or reference domain to extract keywords from.
projectIdYesRequired. The HarborRank project ID to scope this call to. Get one from list_projects.
languageCodeNoLanguage code (e.g. 'en', 'es', 'vi'). Defaults to the project's default market language (see list_projects).
locationCodeNoDataForSEO location code. Defaults to the project's default market (see list_projects; editable in project settings). See dataforseo.com/help-center/locations. Some countries (e.g. Iceland, 2352) are served from Google Ads data: keyword volume/CPC/trends work, but keyword difficulty, search intent, and domain analytics are unavailable.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
metaNo
keywordsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, destructiveHint=false and openWorldHint, so the safety profile is covered. The description adds a genuinely useful trait beyond structured data: a 12-hour cache, which informs freshness expectations. It stays quiet on pagination/result limits, but that is a minor gap.

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?

Two tight sentences, front-loaded with the outcome, then the usage condition, then the caching caveat. No filler or redundancy.

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

Completeness4/5

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

With an output schema present, return values needn't be explained, and annotations cover safety. The description supplies purpose, sequencing, scope, and cache behavior, leaving only sibling differentiation against get_ranked_keywords unaddressed.

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% with well-documented params (domain, projectId, languageCode, locationCode), so the schema carries the heavy lifting. The description hints at domain scope but adds no syntax or default detail beyond what the schema already provides, matching the baseline 3.

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 and resource ('Returns the organic keywords a domain ranks for') and names the returned fields (position, available metrics). However, it never distinguishes this from the very similar sibling get_ranked_keywords, so an agent cannot tell the two apart from the descriptions alone.

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?

Gives clear sequencing guidance ('Use after get_domain_overview') and a scope ('for a competitor or reference domain'), which tells the agent when this is the right call. It does not name an explicit alternative for the near-identical ranked-keywords use case, so it stops short of full when-not guidance.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.