Track brand organic ranks on Google SERPs and Reddit for AI-visibility monitoring
AI Brand Visibility Scraper | ChatGPT Search Rank (Store id taroyamada/ai-visibility-monitor-actor) monitors a brand’s organic positions on Google search results and Reddit threads. The live Store description is: track your AI brand’s organic rankings across Google SERPs and Reddit threads; extract precise rank deltas, competitor overlap, and social mentions. It parses SERP and community HTML for ranking details, rank deltas, and visibility scores. It is not a Google News RSS discovery tool and not a review-page scraper.
$20.00 per 1,000 AI visibility result rows
Open AI Brand Visibility Scraper on Apify
Google SERP and Reddit rank tracking, not Google News RSS or review pages
Use this page when the job is brand keyword rank on live Google SERPs and, after a Google-first run is reliable, Reddit threads. Use Google News Scraper when the job is query-based Google News RSS headlines and article URLs. Use G2 & Capterra Review Scraper or Shopify App Store Review Scraper when the source is a public review page. Use Apple Podcasts Reviews Scraper when the source is iTunes Customer Reviews RSS.
| This Actor | Google News Scraper | G2 & Capterra / Shopify reviews | |
|---|---|---|---|
| Intent | Brand organic rank and competitor overlap for AI-visibility monitoring | Discover current article URLs by Google News query | Normalize public software or Shopify app reviews |
| What it reads | Google SERP HTML and Reddit thread HTML (searchSources: Google-first, then Reddit) |
Google News RSS for queries |
G2/Capterra review-page HTML or apps.shopify.com/{slug} listings |
| Primary input | Required brand and keywords |
Required queries (max 50) |
reviewPageUrls or appUrls |
| Primary output | Rank, rank delta, competitor counts, matched brand URL, visibility status | Headline, article URL, publisher, timestamps, snippet | Ratings, review rows, pros/cons or app-level reports |
| ChatGPT API? | Not in the live schema. Store title is a listing name, not a ChatGPT API | No | No |
This Actor does not accept Google News queries, G2 or Capterra review URLs, Shopify slugs, or podcast IDs. README Key Features also mentions reviews, listings, catalogs, and iOS/Android/Shopify market data; those names are not in the live searchSources description, which only documents Google-first then Reddit.
Use cases
- Schedule daily or weekly competitive intelligence checks across Google and Reddit for brand keyword monitoring.
- Detect ranking changes and compute rank deltas and visibility score shifts for brand vs competitors.
- Build competitor overlap matrices to identify which sites are overtaking organic positions.
- Track shifting SERP features and trending community discussions relevant to a brand or product.
- Generate weekly executive summaries and trend reports for stakeholders.
- Trigger webhook alerts on sudden drops in brand sentiment or search rankings.
- Automate recurring data collection for analytics warehouses and BI dashboards without custom scraper development.
Those bullets are the published README use-case list. The same README also lists a generic “aggregate cross-platform signals (search, app stores, e-commerce storefronts, reviews)” line; live searchSources still documents Google and Reddit only.
How is AI Brand Visibility Scraper different from Google News Scraper and review scrapers?
This Actor tracks brand organic rankings on Google search results pages and Reddit threads for AI-visibility monitoring. The live Store description is: Track your AI brand's organic rankings across Google SERPs and Reddit threads. Extract precise rank deltas, competitor overlap, and social mentions. The live searchSources description is: Sources to check for each keyword. Starter mode should stay Google-first; add Reddit only after the Google-first run is reliable. Google News Scraper queries Google News RSS for headlines, article URLs, publishers, and timestamps (required queries, maximum 50). That is news-article discovery, not SERP rank tracking. G2 & Capterra Review Scraper and Shopify App Store Review Scraper read public review-page HTML. Apple Podcasts Reviews Scraper reads Apple/iTunes Customer Reviews RSS. This Actor does not accept Google News queries, G2 or Capterra review URLs, Shopify slugs, or podcast IDs.
What input is required?
brand and keywords are required. The schema sets additionalProperties to false. Live schema fields:
| Field | Type | Default | Notes |
|---|---|---|---|
brand |
string | required | Primary brand label used in summaries. Schema prefill is OpenAI. Starter runs can be just your brand plus one keyword. |
brandTerms |
array | — | Terms that indicate your brand in titles/URLs, such as domains and product names. Schema prefill is openai.com, openai. |
competitors |
array | — | Optional. Leave empty for a brand-only first run, then add 1–3 competitors for overlap context. Each item can be a string or an object with name and terms[]. Schema prefill is empty. |
keywords |
array | required | Keywords or prompts to monitor across search sources. Schema prefill is ai api pricing. Starter mode should begin with one high-intent keyword. |
searchSources |
array | — | Sources to check for each keyword. Schema prefill is google. Starter mode should stay Google-first; add Reddit only after that run is reliable. No enum is published. |
maxResultsPerKeyword |
integer | 10 | How many top results to inspect per keyword and source; minimum 5, maximum 20 |
requestTimeoutSeconds |
integer | 30 | HTTP timeout per request; minimum 5, maximum 120 |
userAgent |
string | — | Optional custom user-agent header |
delivery |
string | dataset |
dataset, webhook, or email. Starter mode uses dataset. |
datasetMode |
string | changes_only |
changes_only or all. Starter mode should keep changes_only. |
webhookUrl |
string | — | Required when delivery is webhook |
emailTo |
array | — | Required when delivery is email. Schema prefill is alerts@example.com. |
notifyOnNoChange |
boolean | false | When false, webhook/email mode skips if no event items were produced |
snapshotKey |
string | ai-visibility-snapshots |
Storage key used for rank snapshots |
nowIso |
string | — | Optional fixed timestamp for deterministic tests |
dryRun |
boolean | false | Skip delivery side effects and snapshot saves |
The published input schema does not include queries, surfaces, extractAiOverviewCitations, or chatgpt.
Published README input example (matches the schema):
{
"brand": "OpenAI",
"brandTerms": [
"openai.com",
"openai"
],
"competitors": [],
"keywords": [
"ai api pricing"
],
"searchSources": [
"google"
],
"requestTimeoutSeconds": 30,
"maxResultsPerKeyword": 10,
"delivery": "dataset",
"datasetMode": "changes_only",
"emailTo": [
"alerts@example.com"
],
"notifyOnNoChange": false,
"snapshotKey": "ai-visibility-snapshots",
"dryRun": false
}
Published Store example run input:
{
"brand": "OpenAI",
"brandTerms": [
"openai.com",
"openai"
],
"competitors": [
{
"name": "Anthropic",
"terms": [
"anthropic.com",
"claude.ai",
"anthropic"
]
},
{
"name": "Perplexity",
"terms": [
"perplexity.ai",
"perplexity"
]
}
],
"keywords": [
"ai api pricing"
],
"searchSources": [
"google"
],
"requestTimeoutSeconds": 20,
"maxResultsPerKeyword": 10,
"delivery": "dataset",
"datasetMode": "changes_only",
"notifyOnNoChange": false,
"snapshotKey": "ai-visibility-snapshots",
"dryRun": false
}
Store Quickstart: start with a one-keyword, Google-first, brand-only run. If that output fits, published templates are Competitor Snapshot (1 keyword, Google), Weekly Executive Email (Google-first recurring), Webhook Alert (Google-first change alerts), and Brand vs Competitors (Google + Reddit) only after the Google-first canary is stable.
Run AI Brand Visibility Scraper on Apify
What does a visibility result contain?
The published README output table lists meta, results, and per-row fields: id, name, kind, keyword, source, status, visibilityStatus, changed, previousBrandRank, currentBrandRank, rankChange, previousCompetitorCount, currentCompetitorCount, capturedAt, previousCapturedAt, searchUrl, matchedBrandUrl, summary, trend, actionItems, topResults, warning, error, and priority. The truncated README sample also shows meta.generatedAt, meta.now, meta.input, meta.snapshot, meta.warnings, meta.totals (targets, changed, initial, unchanged, errors, improved, declined, stable, newAppearances, disappeared), and meta.executiveSummary.overallStatus. There is no published output JSON schema on the Store page. The sample is a README illustration, not a live coverage guarantee.
Published README sample (the Store README is truncated after overallStatus; no further keys are published):
{
"meta": {
"generatedAt": "2026-03-29T13:38:02.262Z",
"now": "2026-03-25T12:00:00.000Z",
"input": {
"brand": "OpenAI",
"keywordCount": 1,
"keywords": [
"ai api pricing"
],
"searchSources": [
"google"
],
"delivery": "dataset",
"datasetMode": "changes_only",
"emailToCount": 0,
"dryRun": false
},
"snapshot": {
"key": "sample-output-runtime-upgrade",
"loadedFrom": "local",
"savedTo": "local"
},
"warnings": [
"target(google-ai-api-pricing): competitors is empty; starter mode will still track brand presence, but add competitors later for overlap context"
],
"totals": {
"targets": 1,
"changed": 0,
"initial": 1,
"unchanged": 0,
"errors": 0,
"improved": 0,
"declined": 0,
"stable": 0,
"newAppearances": 0,
"disappeared": 0
},
"executiveSummary": {
"overallStatus": "watch",
The README cuts off at that comma. Do not treat missing keys as published fields. previousBrandRank and currentBrandRank are listed in the output table with type null.
Does this Actor query ChatGPT or an AI search API?
No. The live Store description names Google SERPs and Reddit threads. The live searchSources field description names Google-first starter mode, then Reddit. The live input schema has no ChatGPT, AI Overview, or search-API field. A README Input Examples block titled ChatGPT search rank focus uses unpublished names queries, surfaces, and extractAiOverviewCitations. additionalProperties is false, so those names are not live schema fields. The Store title includes ChatGPT Search Rank as a listing title; that is not a published ChatGPT API integration.
Use live field names keywords and searchSources (prefill google). Do not send unpublished aliases.
How do dataset, webhook, email, and changes_only delivery work?
delivery defaults to dataset. Enum is dataset, webhook, and email. webhookUrl is required when delivery is webhook. emailTo is required when delivery is email. datasetMode defaults to changes_only; enum is changes_only and all. Starter mode should keep changes_only. notifyOnNoChange defaults to false; when false, webhook/email mode skips if no event items were produced. dryRun true skips delivery side effects and snapshot saves. Store Quickstart starts with a one-keyword, Google-first, brand-only run, then optional upgrades: Competitor Snapshot, Weekly Executive Email, Webhook Alert, and Brand vs Competitors (Google + Reddit) only after the Google-first canary is stable.
README tips: run weekly for trend tracking; daily for competitive launch monitoring. Use webhook delivery to push insights into BI tools or research Slack. Archive results in Apify Dataset for historical trend analysis. Start with a small watchlist and iterate on keyword precision before scaling.
Open AI Brand Visibility Scraper on Apify
How is AI Brand Visibility Scraper priced?
Billing is pay-per-event. The live Store card is $20.00 / 1,000 ai visibility result rows. The billed event is AI visibility result row at $0.02, charged only when a visibility result row is delivered. Unchanged monitoring runs are free. Current PPE lists only that event (no actor-start). You are not charged for Apify platform usage, only the fixed event price. The README Cost section still quotes actor-start $0.01 plus dataset-item $0.003 ($3.01 for 1,000 items); those figures are not the live Store rates.
$20.00 per 1,000 AI visibility result rows ($0.02 per delivered visibility result row; unchanged monitoring runs are free)
See AI Brand Visibility Scraper pricing on Apify
Limits to keep in mind
- Live sources documented on the Store and in
searchSourcesare Google SERPs and Reddit threads — not a ChatGPT API. - Required fields are
brandandkeywords.additionalPropertiesis false. maxResultsPerKeywordis 5–20 (default 10).requestTimeoutSecondsis 5–120 (default 30).- Starter mode is one keyword, Google-first, brand-only,
datasetModechanges_only. Add Reddit only after that canary is stable. - Unchanged monitoring runs are free under current PPE; you are charged only when a visibility result row is delivered.
- Not Google News RSS discovery and not G2, Capterra, Shopify, or Apple Podcasts review scraping.
Open AI Brand Visibility Scraper on Apify
Related pages
- Google Maps Lead Enrichment Scraper — enrich existing Maps/local-business lead rows; it does not scrape Google Maps itself
- Google News Scraper — Google News RSS headlines and article URLs, not SERP rank tracking
- G2 & Capterra Review Scraper — B2B software review pages, not organic SERP ranks
- Shopify App Store Review Scraper — Shopify merchant listings, not Google/Reddit rank tracking
- Apple Podcasts Reviews Scraper — iTunes Customer Reviews RSS, not SERP ranks
- Review Intelligence pack — podcast vs Shopify App Store vs G2/Capterra reviews
- RSS & Atom Feed Extractor — known-publisher feeds, not Google SERP ranks
- Article Content Extractor — cleaned article HTML after URL discovery
- Website Content Extractor — docs, product, and policy page cleanup
- Apify Store Ranking Scraper — Apify Store API Actor rankings, not Google SERP ranks
- Chrome Web Store Extension Intelligence — Chrome Web Store listing metadata
- Content Intelligence pack — RSS, Google News, article, and website extraction
- Meta Tag & OpenGraph Scraper
- Structured Data Scraper & Validator
- Sitemap Scraper & Analyzer
- Trade Show Exhibitor Intelligence
- SSL/TLS Certificate Scraper
- Tools