Skip to main content
Glama

search_console_analytics_query

Retrieve organic Google Search performance data from Search Console, including clicks, impressions, CTR, and average position. Group results by dimensions like query, page, device, or date.

Instructions

Query the Search Console Search Analytics API for organic Google Search performance data. Returns the raw 'rows' array from the searchAnalytics.query response: [{keys: [], clicks (int), impressions (int), ctr (float 0.0-1.0), position (float, 1-indexed average ranking)}]. Empty array when no data. Read-only. Use dimensions=['query'] for keywords, ['page'] for URLs, ['device'] for device split, ['date'] for a daily trend. For convenience shortcuts use search_console_analytics_top_queries / top_pages / device_breakdown; for before/after comparisons use search_console_analytics_compare_periods.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
site_urlYesProperty identifier as registered in Search Console. For URL-prefix properties use the full URL including trailing slash (e.g. 'https://example.com/'). For Domain properties use the 'sc-domain:' prefix (e.g. 'sc-domain:example.com'). The property must be verified and accessible to the authenticated Google account.
start_dateYesInclusive start date in 'YYYY-MM-DD' format (e.g. '2026-03-01'). Search Console data typically lags 2-3 days, so 'today' returns no rows. Maximum lookback is 16 months.
end_dateYesInclusive end date in 'YYYY-MM-DD' format (e.g. '2026-03-31'). Must be >= start_date. Search Console data lags 2-3 days; requesting the last two days typically returns no rows.
dimensionsNoDimensions to group rows by. Allowed: query, page, country, device, date, searchAppearance. Omit for an ungrouped total (clicks/impressions/ctr/position across the window). Each additional dimension multiplies row cardinality — agents should usually pick 1-2.
row_limitNoMaximum rows to return. Default 100. Search Console API caps at 25000 per request; agents that need more should split the call by date range.
dimension_filter_groupsNoOptional Search Console dimensionFilterGroups payload (list of {groupType: 'and', filters: [{dimension, operator ('equals'|'contains'|'notContains'|'notEquals'|'includingRegex'|'excludingRegex'), expression}]}). Passed through verbatim to the REST API.
Behavior4/5

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

With no annotations, the description carries full burden. It transparently states the tool is read-only, details the return format including field types, notes empty array when no data, and mentions data lag (2-3 days). It doesn't cover rate limits or auth, but for a read query that is acceptable.

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 well-structured, starting with purpose, then return format, parameter guidance, and sibling links. Every sentence adds value, though it could be slightly condensed. It is informative without being verbose.

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 tool's complexity (6 params, no output schema), the description covers all essential aspects: purpose, return shape, parameter usage, alternatives, and data lag. It leaves no major gaps for an agent to interpret.

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 baseline is 3. The description adds significant value beyond the schema by providing example dimension values (e.g., 'query' for keywords), explaining row_limit default and API cap, and describing the structure of dimension_filter_groups. This extra context justifies a 4.

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 clearly states it queries the Search Console Search Analytics API for organic Google Search performance data, explains the return format (raw rows array with specific fields), and distinguishes itself from sibling tools by naming them explicitly (top_queries, top_pages, device_breakdown, compare_periods).

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?

The description provides clear usage context: it specifies the tool is read-only, explains dimensions and row_limit usage, and points to convenience shortcuts. It doesn't explicitly list when not to use it, but the sibling differentiation gives implicit guidance.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/logly/mureo'

If you have feedback or need assistance with the MCP directory API, please join our Discord server