AI Overview & SERP Visibility Monitor avatar

AI Overview & SERP Visibility Monitor

Pricing

from $10.00 / 1,000 results

Go to Apify Store
AI Overview & SERP Visibility Monitor

AI Overview & SERP Visibility Monitor

Track whether your brand is cited in Google's AI Overview, owns the featured snippet, and ranks organically for the keywords you care about. One row per keyword. Measures public SERP surfaces only - no third-party LLM APIs.

Pricing

from $10.00 / 1,000 results

Rating

0.0

(0)

Developer

Thirdwatch

Thirdwatch

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Share

Does Google's AI recommend your brand? This Actor answers that question with evidence instead of guesswork. For every keyword you track, it checks whether Google rendered an AI Overview, whether that AI Overview cited your site, who owns the featured snippet, where you rank organically, and which competitors are being surfaced instead of you.

One dataset row per keyword. Built for weekly monitoring by SEO agencies, in-house marketing teams, and anyone whose organic traffic is being absorbed by AI-generated answers.

Why this exists

Google's AI Overview answers the question at the top of the page. The user reads it and leaves. Your rank-3 blue link never gets the click. Traditional rank trackers still report "position 3" and call that a good week.

Generative Engine Optimization (GEO) and Answer Engine Optimization (AEO) are the response to that shift, and both need the same missing input: a measurement of whether you are being cited in the answer surfaces themselves. That is what this Actor produces.

What it measures

For each keyword:

FieldMeaning
keywordThe query that was checked
countryCountry code the SERP was localized to
aiOverviewPresentWhether Google rendered an AI Overview at all
brandCitedInAiOverviewWhether the AI Overview cited your brand — null when no AI Overview existed
aiOverviewSources[]Every source the AI Overview cited (url, domain, title)
organicRankYour 1-based organic position — null when you are genuinely absent
featuredSnippetOwnerDomain that owns the featured snippet, if any
brandOwnsFeaturedSnippetWhether that owner is you
peopleAlsoAsk[]The People Also Ask questions on the page
competitorsCited[]Per competitor: AI Overview citation and organic rank
checkedAtUTC timestamp of the check
statuschecked or failed

Diagnostic fields are included too: aiOverviewDetectedBy, brandCitedMatchedBy, organicRankMatchedBy, matchStrategy, organicResultsParsed, and error.

The honesty rule this Actor is built around

Google does not render an AI Overview for every query. Many monitoring tools quietly report that absence as "your brand was not cited", which is a different and much more alarming claim.

This Actor keeps the two facts separate:

  • No AI Overview was rendered → aiOverviewPresent: false, brandCitedInAiOverview: null
  • An AI Overview was rendered and did not cite you → aiOverviewPresent: true, brandCitedInAiOverview: false
  • An AI Overview was rendered and cited you → aiOverviewPresent: true, brandCitedInAiOverview: true
  • The results page could not be retrieved → status: "failed", every measured field null, and no charge

The same discipline applies to organicRank: absent is null, never 0 and never a 999 sentinel that sorts like a real rank.

How brand matching works

Supply domain whenever you can. Domain matching is the reliable signal, and it matches subdomains too (help.notion.so counts as notion.so). Brand-name matching is the fallback and uses word-boundary matching, so Notion does not match Notionally Ltd.

Every row tells you which method produced the answer via brandCitedMatchedBy and organicRankMatchedBy, so you can audit any result you find surprising.

No LLM APIs

This Actor measures public Google SERP surfaces only. It does not call OpenAI, Perplexity, Anthropic, or any other model provider, and it does not resell output from an API it does not own. What it reports is what Google actually served on a public results page — verifiable by hand, and stable as a compliance story.

Input

{
"brand": "Notion",
"domain": "notion.so",
"keywords": [
"best note taking app",
"notion alternatives",
"team wiki software"
],
"country": "us",
"language": "en",
"competitors": ["obsidian.md", "Evernote"]
}
InputRequiredDefaultNotes
brandyesBrand name to track
domainnoYour domain. Strongly recommended for accuracy
keywordsyesOne row is produced per keyword
countrynousTwo-letter country code
languagenoenTwo-letter language code
competitorsno[]Names or domains; a dotted entry with no space is treated as a domain
proxyConfigurationnoGOOGLE_SERPMust use Apify's GOOGLE_SERP group

Output

{
"keyword": "best note taking app",
"country": "us",
"brand": "Notion",
"domain": "notion.so",
"status": "checked",
"aiOverviewPresent": true,
"aiOverviewDetectedBy": "attr:data-subtree=aio",
"brandCitedInAiOverview": true,
"brandCitedMatchedBy": "domain",
"aiOverviewSources": [
{ "url": "https://obsidian.md/", "domain": "obsidian.md", "title": "Obsidian" },
{ "url": "https://notion.so/product", "domain": "notion.so", "title": "Notion" }
],
"organicRank": 2,
"organicRankMatchedBy": "domain",
"featuredSnippetOwner": "obsidian.md",
"brandOwnsFeaturedSnippet": false,
"peopleAlsoAsk": ["What is the best free note taking app?"],
"competitorsCited": [
{ "competitor": "obsidian.md", "citedInAiOverview": true, "organicRank": 1 }
],
"matchStrategy": "domain",
"checkedAt": "2026-08-03T12:00:00+00:00"
}

Pricing

Pay per event. You are charged once per keyword actually checked — meaning a results page was successfully retrieved and parsed into a row. Keywords whose fetch failed still appear in your dataset marked status: "failed" so you know what was not covered, and they are never charged.

EventFREEBRONZESILVERGOLD
keyword-checked$0.05$0.045$0.04$0.035

A 50-keyword weekly check costs $2.50/week on the FREE tier.

Use cases

  • Weekly GEO/AEO reporting for retainer clients — show whether client brands are being cited in AI Overviews, not just where they rank.
  • AI Overview coverage mapping — find which of your keywords now trigger an AI Overview at all. That subset is where classic rank tracking has stopped predicting traffic.
  • Competitive citation share — see which competitors Google's answer surfaces prefer, and on which queries.
  • Content prioritization — pages that rank well but are never cited are candidates for restructuring toward extractable, answer-shaped content.
  • Featured snippet defense — track snippet ownership changes over time.
  • Post-migration verification — confirm a domain migration did not drop you out of the answer surfaces.

Notes on reliability

Google publishes no stable contract for the AI Overview block, and its markup changes. The detector is layered — several structural selectors, then several text markers — and every row records which signal fired in aiOverviewDetectedBy, so drift is visible in your data rather than silently reported as "no AI Overview".

Runs use Apify's GOOGLE_SERP proxy group, which handles Google's anti-bot protection internally. Residential proxies do not work for Google Search and are not used as a fallback.

Runs respect the platform timeout: if the deadline approaches, the Actor stops cleanly with the keywords it has finished rather than being killed mid-run.

Technical

  • Pure HTTP, 256 MB, apify/actor-python:3.14. No browser.
  • Rate limited between keywords.
  • One keyword failing never fails the run.