
Website Content Crawler
scrape.ly/store/querystone/website-content-crawlerAIDeveloper tools
1 monthly user

Track how AI answer engines (Gemini, Copilot, ChatGPT, Google AI Mode and AI Overviews) mention your brand: mentions, rank vs competitors, sentiment, domain citations, sources and share of voice. No login needed.
Find out whether AI assistants recommend your brand. Send your buyers' prompts to Google Gemini, Microsoft Copilot, ChatGPT, Google AI Mode and Google AI Overviews, and get one row per prompt and engine: is your brand mentioned, in which order against your competitors, at which list position, with what tone, and is your website cited as a source. Share-of-voice summary rows per engine and overall come free with every run. No login, no API keys.
Zoho CRM | zoho.com | Zoho.| Field | What it does |
|---|---|
brandName | Brand to track (required) |
brandDomains | Your domains, for citation detection |
prompts | Prompts to ask, one check per prompt and engine (required) |
competitors | Competitor names, optionally Name | domain | alias |
engines | gemini, copilot, chatgpt, google_ai_mode, google_ai_overview |
countryCode / language | Market and interface language |
brandAliases | Other names that count as your brand |
includeAnswerText | Keep the full answer as Markdown (default on) |
includeSummaryRows | Add the free share-of-voice rows (default on) |
{
"brandName": "HubSpot",
"brandDomains": ["hubspot.com"],
"prompts": ["best CRM software for small business", "HubSpot alternatives"],
"competitors": ["Salesforce | salesforce.com", "Pipedrive | pipedrive.com", "Zoho CRM | zoho.com | Zoho"],
"engines": ["gemini", "copilot"],
"countryCode": "us"
}
Each check row (one prompt on one engine):
| Field | Meaning |
|---|---|
brandMentioned, brandMentions | Is the brand named, and how often |
brandRank | Order of first mention among your brand and competitors (1 = named first) |
brandListPosition | Position in a numbered or bulleted list in the answer |
brandSentiment, brandSentimentScore | Keyword sentiment of the sentences that name the brand (-1 to 1) |
brandMentionContext | The text around the first mention |
brandDomainCited, brandCitedUrls | Your domain among the cited sources |
brandShareOfVoice | Your mentions / all tracked mentions in this answer |
visibilityScore | 0-100: 50 for a mention, up to 30 for being named early, 20 for a cited domain |
competitors | The same metrics for each competitor |
sources | Every source: position, title, url, domain, cited |
answer | The full answer as Markdown |
Each summary row (per engine, plus all): mention rate, share of voice, average rank, named-first rate, domain citation rate, visibility score, sentiment counts, per-competitor metrics, a share-of-voice ranking and the top cited domains.
{
"type": "check",
"prompt": "HubSpot alternatives",
"engine": "gemini",
"engineName": "Google Gemini",
"brand": "HubSpot",
"hasAnswer": true,
"brandMentioned": true,
"brandMentions": 7,
"brandRank": 1,
"brandListPosition": null,
"brandSentiment": "positive",
"brandSentimentScore": 0.43,
"brandDomainCited": false,
"brandShareOfVoice": 0.412,
"visibilityScore": 80,
"competitorsMentioned": ["Zoho CRM", "Pipedrive", "Salesforce"],
"sourcesCount": 9,
"citedSourcesCount": 4,
"citedDomains": ["outsales.ai", "pipeline.zoominfo.com", "reevo.ai"],
"countryCode": "us",
"language": "en"
}
You pay $0.04 per answered check (one prompt on one engine), plus a small amount of platform usage. Checks that fail, and prompts an engine does not answer (for example when Google shows no AI Overview), are free, and the summary rows are free.
Example: 50 prompts on Gemini and Copilot = 100 checks ≈ $4.00 plus a few cents of usage. The browser engines (ChatGPT, Google AI Mode, Google AI Overviews) also add browser usage for each check.
Do I need an account or API key? No. The engines are asked as a signed-out visitor; you do not need OpenAI, Google or Microsoft keys.
Which engines are the most reliable? Gemini and Copilot run over plain HTTP and are fast. ChatGPT and the two Google engines run in a real browser; they are slower and can occasionally fail when the engine shows a captcha. Failed checks are retried and never charged.
How is sentiment computed? With a fixed list of positive and negative words (with negation handling) in the sentences that mention the brand. No AI model is used, so the score is cheap, repeatable and explainable, but it does not understand sarcasm.
Why is Perplexity not included? Perplexity requires a sign-in for automated visitors, and this tracker never uses accounts.
Is it legal? It reads public answers that any visitor can see. Check the terms of each service for your use case.
Can I schedule it? Yes. Schedule weekly runs and compare the summary rows over time, or call it through the API.
Every field below can be set in the run form, passed through the API, or saved as a task. Unset fields fall back to the defaults shown.
brandNamestringRequiredBrand name
The brand to track, as people write it (for example HubSpot). Matched case-insensitively on whole words.
brandDomainsarrayOptionalBrand domains
Your website domains (for example hubspot.com). Used to detect when an AI answer cites your site as a source. Subdomains count.
promptsarrayRequiredPrompts
Questions or keywords your buyers ask AI assistants, one per entry. Every prompt is checked on every selected engine (one check each).
competitorsarrayOptionalCompetitors
Competitor brands to compare against. Optionally add domains and aliases after a | sign, for example: Zoho CRM | zoho.com | Zoho
enginesarrayOptionalAI engines
Which AI answer engines to ask. Gemini and Copilot are fast and the most reliable. ChatGPT, Google AI Mode and Google AI Overviews run in a real browser: slower, and they add browser usage to the cost.
countryCodestringOptionalCountry
Two-letter country code (us, gb, de, ...). Engines are reached from this country, so answers and sources are local.
languagestringOptionalLanguage
Interface language code (en, de, fr, pt-br, ...). Write prompts in the language you want answers in.
brandAliasesarrayOptionalBrand aliases
Other names that count as a mention of your brand (product names, old names, spellings such as Hub Spot).
competitorDomainsarrayOptionalCompetitor domains
Extra competitor domains. Each is attached to the competitor whose name matches it, or tracked as its own competitor.
includeAnswerTextbooleanOptionaldefault trueInclude the full answer text
Save every AI answer as Markdown in the answer field. Turn off for smaller rows.
includeSummaryRowsbooleanOptionaldefault trueAdd share-of-voice summary rows
Add one summary row per engine and one for all engines at the end of the dataset (free). The summary is also saved in the OUTPUT record.
maxConcurrencyintegerOptionalParallel checks per engine
How many prompts each engine answers at the same time (browser engines use fewer).
proxyConfigurationobjectOptionaldefault {"useScrapelyProxy":true,"scrapelyProxyGroups":["DATACENTER…Proxy configuration
Proxies for Gemini and Copilot, pinned to the country. A failing check switches to residential proxies automatically. Browser engines use the browser's own residential exit in the country.
Every run writes its results to a dataset. Preview it in the dashboard, then export it or read it through the API.
| Field | Type | Description |
|---|---|---|
| type | string | check (one prompt on one engine) or summary (share of voice per engine and overall). |
| prompt | string | The prompt sent to the engine. |
| engine | string | Engine key: gemini, copilot, chatgpt, google_ai_mode, google_ai_overview, or all (summary rows). |
| engineName | string | Engine name. |
| brand | string | Tracked brand. |
| hasAnswer | boolean | True when the engine gave an AI answer. |
| brandMentioned | boolean | null | Brand named in the answer. |
| brandMentions | number | Number of brand mentions. |
| brandRank | number | null | Order of the brand's first mention among the brand and competitors (1 = named first). |
| brandListPosition | number | null | Position of the brand in a numbered or bulleted list in the answer. |
| brandSentiment | string | Keyword sentiment of the sentences that mention the brand: positive, neutral, mixed, negative or not mentioned. |
| brandDomainCited | boolean | null | One of the brand domains is cited as a source of the answer. |
| brandShareOfVoice | number | Brand mentions divided by all tracked brand and competitor mentions. |
| visibilityScore | number | null | 0-100: 50 for a mention, up to 30 for being named early, 20 for a cited domain. |
| competitorsMentioned | array | Competitors named in the answer, in order of first mention. |
| sources | array | Sources of the answer: position, title, url, domain, cited. |
| sourcesCount | number | Number of sources. |
| answer | string | null | The AI answer as Markdown. |
| error | string | null | Why the check has no answer. |
You pay for the events the actor reports, such as each result or page it produces. Platform usage is included in the event prices.
| Event | Charged when | Price |
|---|---|---|
| AI engine check | One prompt answered by one AI engine, analysed for your brand and competitors. Failed checks and prompts without an AI answer are free. | $0.04 |
Run this actor from your own code. Swap in your API token and the examples work as-is.
import { ScrapelyClient } from 'scrapely-client'
const client = new ScrapelyClient({ token: process.env.SCRAPELY_TOKEN })
// Start the actor and wait for the run to finish.
const run = await client.actor('querystone/ai-brand-visibility-tracker').call({
"brandName": "HubSpot",
"brandDomains": [
"hubspot.com"
],
"prompts": [
"best CRM software for small business",
"HubSpot alternatives"
],
"competitors": [
"Salesforce | salesforce.com",
"Pipedrive | pipedrive.com",
"Zoho CRM | zoho.com | Zoho"
],
"engines": [
"gemini",
"copilot"
],
"countryCode": "us",
"language": "en",
"maxConcurrency": 5,
"proxyConfiguration": {
"useScrapelyProxy": true,
"scrapelyProxyGroups": [
"DATACENTER"
]
}
})
// Read the dataset the run produced.
const { items } = await client.dataset(run.defaultDatasetId).listItems()
console.log(items)Tokens live in your account settings. Keep them server-side: a token carries the full permissions of your account.
Connect the Scrape.ly MCP server once and your agent can run this actor as a tool. Pick your tool:
Fetch scrape.ly/agents.md and run querystone/ai-brand-visibility-trackerPaste into Claude Code, Codex, Cursor or any AI agent. It signs you in once in the browser.
{
"mcpServers": {
"scrapely": {
"url": "https://api.scrape.ly/mcp?tools=actors,runs,storage,docs&actors=querystone/ai-brand-visibility-tracker"
}
}
}No key in the file: your client opens the browser to sign you in the first time it connects.
Inputs the developer prepared for common jobs. Open one to see its input, then copy it to your account to run it as-is or adjust it.
How Gemini and Copilot mention a brand and its competitors in Germany.
Brand mentions and citations in two AI answer engines.
Compact visibility rows without full answer text.
Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.