GEO Brand Monitor avatar

GEO Brand Monitor

Pricing

Pay per usage

Go to Apify Store
GEO Brand Monitor

GEO Brand Monitor

Track how AI search engines talk about your brand. Automatically identify citation sources, check which ones mention you, and find contacts to reach out to for brand authority building.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Alexander

Alexander

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

19 hours ago

Last modified

Categories

Share

Monitor your brand's visibility in ChatGPT Search results. This Actor checks two layers of brand presence:

  1. Direct AI citation - Does ChatGPT Search mention your brand in its response?
  2. Source-level presence - Do the third-party sources that ChatGPT cites also mention your brand?

Sources that don't mention your brand are outreach opportunities. For those, the Actor scrapes contact details you can use for content placement outreach.

How it works

For each search query you provide, the Actor:

  1. Queries ChatGPT Search via Google Search Scraper to get the AI-generated response and cited sources.
  2. Checks brand mention in the AI response using case-insensitive text matching.
  3. Filters sources by removing your own domains and competitor domains, leaving only third-party sources.
  4. Crawls each source page using Website Content Crawler.
  5. Checks brand mention in each source using case-insensitive text matching.
  6. Scrapes contacts from sources that don't mention your brand (outreach opportunities) using Contact Details Scraper.

Input

FieldTypeDescription
queriesstring (textarea)One search query per line
brandstringBrand name to search for (case-insensitive)
ownDomainsstring[]Your domains to exclude from analysis
competitorDomainsstring[]Competitor domains to exclude
maxContactsPerDomainintegerMax contact leads per source domain (default: 3)
maxSourcesPerQueryintegerMax sources to process per query (default: 10)

Example input

{
"queries": "best web scraping tools\nweb scraping platforms\nhow to scrape websites",
"brand": "Apify",
"ownDomains": ["apify.com", "use-apify.com"],
"competitorDomains": [
"brightdata.com", "oxylabs.io", "scrapingbee.com", "scraperapi.com",
"zyte.com", "octoparse.com", "parsehub.com", "import.io",
"webscraper.io", "diffbot.com", "phantombuster.com", "crawlbase.com",
"thunderbit.com", "browserbase.com"
],
"maxContactsPerDomain": 3,
"maxSourcesPerQuery": 10
}

Output

Each row in the output dataset represents one source per query:

FieldDescription
queryThe search query
aiResponseFull ChatGPT Search response text
brandMentionedInAIWhether the brand appears in the AI response: Yes, No, or Error
sourceUrlURL of the cited source
sourceDomainDomain of the source
brandMentionedInSourceWhether the brand appears in the source content: Yes, No, or Error
contactsArray of contact details (only for outreach opportunities)

Example output

{
"query": "best web scraping tools",
"aiResponse": "The full ChatGPT Search response text...",
"brandMentionedInAI": "Yes",
"sourceUrl": "https://example.com/article",
"sourceDomain": "example.com",
"brandMentionedInSource": "No",
"contacts": [
{
"name": "John Doe",
"email": "john@example.com",
"position": "Editor"
}
]
}

Use cases

  • Generative Engine Optimization (GEO) - Track how your brand appears in AI-generated search results.
  • Brand monitoring - Monitor which queries surface your brand in ChatGPT Search.
  • Competitive analysis - Understand where competitors are mentioned and you're not.
  • Outreach opportunities - Find third-party sites that cover your topic but don't mention your brand, along with contact details for outreach.

Actors used

This Actor orchestrates three Actors:

Cost considerations

  • Google Search Scraper with ChatGPT Search is the base cost per query.
  • Website Content Crawler runs once per source (controlled by maxSourcesPerQuery).
  • Contact Details Scraper runs only for sources that don't mention your brand. Use maxContactsPerDomain to limit costs.

To minimize costs during testing, use 1-2 queries with maxSourcesPerQuery set to 3.