30 days free. No credit card. Full access from the moment you connect your site.

Start free trial

Get Rank Math Analytics Rows

rank-math/get-analytics-rows returns paginated analytics rows: per-post search performance, the rank-tracker keyword table, or the keywords overview with its position graph.

Each row carries clicks, impressions, CTR and average position for the requested period.

At a glance

Abilityrank-math/get-analytics-rows
ToolsetRank Math — toolset/rank-math
GroupRank Math › Analytics
RequiresRank Math SEO, active on the site
Capabilitymanage_options
SafetyRead-only — changes nothing
RepeatableIdempotent — running it twice leaves the same result
Ships inAcrossAI Abilities Manager 0.0.34 and later

How it works

The four metrics together are more informative than any of them alone, and the combinations are the interesting part. High impressions with low CTR is a page ranking for things it does not satisfy, or a title that does not earn the click. High CTR with low impressions is a page that works and nobody sees.

Average position is the one to read most carefully. It is an average across queries and across days, so a page averaging position eleven might be at four for its main query and thirty for a dozen incidental ones.

The rank-tracker table covers keywords somebody chose to track, which is a different population from the keywords a page actually ranks for. Both are useful; they answer different questions.

This needs a connected Google Search Console. Without one the ability says so rather than returning empty data — an empty result that reads as zero traffic is worse than an error, because it looks like an answer.

Paginated because these tables are large. A site with a few thousand posts has a few thousand rows.

Input

NameTypeRequiredWhat it is
typestringYesWhich table: per-post performance, the rank-tracker keywords, or the keywords overview.
fromstringNoStart date.
tostringNoEnd date.
pageintegerNo1-based page number.
per_pageintegerNoRows per page.

What comes back

NameTypeWhat it is
rowsarrayEach row with clicks, impressions, CTR and average position.
totalintegerHow many rows exist.
successbooleanWhether the call completed.
messagestringA one-line summary of what happened, suitable for showing a human.
error_codestringPresent only on failure — a stable machine-readable reason, such as a missing field, a wrong field type or an unmet confirmation.

Example

Ask your assistant:

Which pages get impressions but no clicks?

It resolves to one call:

{
  "ability": "rank-math/get-analytics-rows",
  "parameters": {
    "type": "posts",
    "from": "2026-08-01",
    "to": "2026-08-31",
    "per_page": 100
  }
}

Worth knowing

  • High impressions and low CTR is a title or intent problem, not a ranking one.
  • Average position averages across queries and days. Treat it loosely.
  • Tracked keywords are not the same population as ranking keywords.
  • Needs a connected Search Console.

Related abilities


Get the plugins:
AcrossAI Abilities Manager · AcrossAI MCP Manager

Browse the rest: Every ability, by category


Keep reading