# Gemini Search Scraper & AI Brand Visibility Tracker ($1/1k) (`wulfcare/gemini-search-scraper`) Actor

Ask Google Gemini your prompts: get the full answer (tables and steps included), every cited source, products with prices, and a brand report: mentioned or not, rank vs competitors, own site cited. No login, API key or browser. $1 per 1,000 answers, the lowest Gemini price on Apify.

- **URL**: https://apify.com/wulfcare/gemini-search-scraper.md
- **Developed by:** [Wulfcare Data](https://apify.com/wulfcare) (community)
- **Categories:** SEO tools, AI, Marketing
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.00 / 1,000 gemini answers

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Gemini Search Scraper & AI Brand Visibility Tracker ($1/1k)

Find out what Google Gemini tells people when they ask about your market. Give it the questions your customers ask ("best CRM for a small business", "which accounting app for a plumber?"), your brand and your competitors, and for every answer you get:

- **The full answer**, as markdown (tables, step-by-step guides and callouts included) and as plain text
- **Every source**: title, URL, website and whether Gemini cited it inline
- **The products Gemini showed**, with prices, when it answers with shopping cards
- **A brand report**: is your brand mentioned, **where it ranks** against your competitors (1 = named first), how many times, **the sentence it first appears in**, and **whether Gemini cites your website**
- **A share-of-voice summary of the whole run**: for each brand, the % of answers that mention it, its average rank, how often it's named first and how often its site is cited, plus the 25 websites Gemini cites most

Each prompt is asked in a **new, logged-out Gemini chat at gemini.google.com**, with Google Search grounding, exactly as a new visitor sees it. You don't need a Google account, API key or Gemini Advanced. No browser runs, so it's fast and costs **$1 per 1,000 answers**.

### Why this Gemini scraper

- **$1 per 1,000 answers: the lowest price for Gemini answers on the Store.** Other Gemini scrapers charge $2-$7.60 per 1,000, and the most popular one $5.
- **Fast:** no browser runs. Every question goes straight to gemini.google.com the way the web app sends it: 5-12 seconds per answer and up to 10 at a time (75 answers took about a minute in testing).
- **The whole answer:** Gemini's comparison tables come out as markdown tables, step-by-step guides as numbered lists and warnings as quotes, not as missing placeholders.
- **Products with prices:** when Gemini answers with shopping cards, you get each product and its price in `products`.
- **Brand report and share of voice built in**, at no extra cost.
- **Never pay for a failure:** prompts Gemini didn't answer are free rows with the reason.

Tested on product, local, how-to and general questions in English, German, French and Spanish: every prompt answered.

### What people use it for

- **AI visibility / GEO / AEO tracking**: how often Gemini recommends you for the questions that matter, and whether that improves after you change your content. Run it weekly on a schedule and chart the share-of-voice summary
- **Competitor share of voice**: who Gemini names first in your category, and who it leaves out
- **Citation research**: the exact pages and websites Gemini reads to answer questions in your niche. Those are the pages to get listed on, reviewed by or quoted in
- **Content gaps**: prompts where competitors are recommended and you aren't, with the sentence Gemini used for them
- **Bulk answers**: thousands of Gemini answers with sources for research, datasets or content briefs
- **Client reporting for SEO agencies**: one run per client, with rows that drop straight into a spreadsheet or Looker Studio

### How to use it

1. Add your **prompts**, one per line. Write them the way a customer would ask.
2. Optional: add **your brand** and **competitors** as `Name, other name, website.com`, e.g. `Zoho CRM, Zoho, zoho.com`. A name counts as a mention in the answer, and a website counts both as a mention and as a citation.
3. Optional: **ask each prompt 3-5 times**. Gemini words every answer differently and the brands it names change too, so a few repeats give you a reliable share of voice instead of one snapshot.
4. Run it, then open the **Brand visibility** view, download JSON, CSV or Excel, or call the API. The **Share-of-voice summary** is in the run's Output tab (key-value store record `SUMMARY`).

### What you get

#### One row per answer

```json
{
  "prompt": "Compare HubSpot vs Salesforce vs Pipedrive for a 10-person sales team, with pricing",
  "repeat": 1,
  "yourBrand": "HubSpot",
  "yourBrandMentioned": true,
  "yourBrandRank": 1,
  "yourBrandCited": false,
  "brandsMentioned": ["HubSpot", "Pipedrive", "Salesforce"],
  "brands": [
    {
      "brand": "HubSpot",
      "mentioned": true,
      "mentions": 5,
      "rank": 1,
      "firstMention": "HubSpot Sales Hub Starter provides an intuitive user experience with strong inbound marketing tools, though costs scale rapidly at higher tiers.",
      "cited": false,
      "citedUrls": []
    },
    {
      "brand": "Salesforce",
      "mentioned": true,
      "mentions": 5,
      "rank": 3,
      "firstMention": "Salesforce Sales Cloud offers industry-leading enterprise customization and robust data management, but carries a steep learning curve and higher entry barriers.",
      "cited": false,
      "citedUrls": []
    }
  ],
  "answerText": "HubSpot Sales Hub Starter provides an intuitive user experience with strong inbound marketing tools, though costs scale rapidly at higher tiers...",
  "answer": "HubSpot Sales Hub Starter provides ...\n\n| | Best For | Ease of Use | Core Pricing (Per User/Mo) |\n| --- | --- | --- | --- |\n| Pipedrive | Pure pipeline tracking | Very High | $49 - $59 |\n...",
  "sources": [
    { "title": "Pipedrive Pricing 2026: Plans, Add-Ons, and Limits", "url": "https://axisconsulting.io/pipedrive-pricing-plans/", "domain": "axisconsulting.io", "siteName": null, "citedInline": true },
    { "title": "HubSpot Pricing 2026: Updated Plan Costs, Price Breakdown", "url": "https://www.engagebay.com/blog/hubspot-pricing/", "domain": "engagebay.com", "siteName": null, "citedInline": true }
  ],
  "sourceCount": 7,
  "citedDomains": ["axisconsulting.io", "engagebay.com", "twelverays.agency", "method.me", "spotsaas.com"],
  "products": [
    { "title": "Sales Hub Starter", "price": "$20.00" },
    { "title": "Marketing Hub Starter", "price": "$20.00" }
  ],
  "language": "en",
  "askedAt": "2026-10-06T18:52:19Z",
  "seconds": 7.3,
  "error": null
}
```

`rank` counts only the brands you track: 1 is the tracked brand Gemini names first. Every column is present on every row (`null` or empty when there's no value). Without any brands, you still get the answer, every source and the products.

#### Share-of-voice summary (record `SUMMARY`)

```json
{
  "answers": 20,
  "unanswered": 0,
  "brands": [
    { "brand": "HubSpot", "isYourBrand": true, "answersMentioning": 15, "mentionRate": 75.0, "averageRank": 1.33, "rankedFirst": 11, "answersCiting": 4, "citationRate": 20.0 },
    { "brand": "Zoho CRM", "isYourBrand": false, "answersMentioning": 12, "mentionRate": 60.0, "averageRank": 2.0, "rankedFirst": 5, "answersCiting": 6, "citationRate": 30.0 }
  ],
  "topCitedDomains": [{ "domain": "zoho.com", "answersCiting": 6, "citationRate": 30.0 }]
}
```

### Pricing

**$1 per 1,000 answers ($0.001 each)**, with no start fee and no monthly rental. With the default settings that's the whole price: the Actor runs on Apify's servers and their IP addresses at no extra cost.

**Asking from another country?** With Apify Proxy set to *Residential*, each answer costs **$0.002 more** ($3 per 1,000 in total), which covers the residential bandwidth.

**You're never charged for prompts Gemini didn't answer**: they're retried, and if they still fail, you get a free row with `error` saying why. The summary is free.

Set **Max cost per run** in the run options to cap your spend. The run stops cleanly when it gets there, and you keep every answer so far.

### Examples

**Weekly share of voice for your category** (schedule it weekly)

```json
{
  "prompts": ["What is the best CRM for a small business?", "best CRM for real estate agents", "HubSpot alternatives"],
  "yourBrand": "HubSpot, hubspot.com",
  "competitors": ["Salesforce, salesforce.com", "Zoho CRM, Zoho, zoho.com", "Pipedrive, pipedrive.com"],
  "repeats": 5
}
```

**Just the answers and sources** (no brand tracking)

```json
{ "prompts": ["best accounting software for tradies in Australia", "Xero vs MYOB for a sole trader"] }
```

**What Gemini tells people in the UK**

```json
{
  "prompts": ["best mortgage broker app"],
  "language": "en-GB",
  "proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"], "apifyProxyCountry": "GB" }
}
```

### Good to know

- **Logged-out Gemini with Google Search.** You see what a new visitor to gemini.google.com sees, on the model Google gives logged-out users. Nothing is personalised by history. Gemini decides for itself when to search: product and "best X" questions almost always come with sources, while general questions ("how to fix a leaking tap", "write a haiku") may have none.
- **Rich answers are kept.** Gemini's comparison tables become markdown tables, step-by-step guides become numbered lists and warnings become quotes, so `answer` reads like the page. Product images and "upload a photo" buttons are left out; the products themselves are in `products`.
- **Answers change.** Gemini is not deterministic: the same prompt can name different brands minutes apart. That's why *Ask each prompt this many times* exists, and why the summary gives rates rather than yes/no.
- **Speed**: an answer takes 5-12 seconds, and 4 run at a time by default, so about 25-40 answers a minute. Raise *Prompts at a time* to 10 for big runs (75 answers took about a minute in testing).
- **Any language**: ask in German, French, Spanish, Japanese and so on, and Gemini answers in that language.
- **Country**: by default the question comes from the Apify server's IP address in the US, so shops, prices and places are American. For another country, turn on Apify Proxy (Residential) and pick that country (+$0.002 per answer).
- **Brand matching** is whole-word and case-insensitive: `Asana` doesn't match "asanas". Add other names (`Zoho CRM, Zoho`) to catch every way Gemini writes your brand, and your website to track citations exactly. Without a website, a source counts as your site when its domain contains your brand name (`quickbooks.intuit.com` for QuickBooks).

### Other Actors by Wulfcare Data

- [ChatGPT Search Scraper & AI Brand Visibility Tracker](https://apify.com/wulfcare/chatgpt-search-scraper): the same brand report for ChatGPT's answers
- [Google Hotels Prices Scraper](https://apify.com/wulfcare/google-hotels-scraper): every booking site's price for any hotel and dates, and hotel searches
- [Free YouTube Scraper](https://apify.com/wulfcare/youtube-scraper): YouTube videos, Shorts, channels and searches with views, likes, comments and channel stats, free
- [Google Trends Scraper](https://apify.com/wulfcare/google-trends-scraper): interest over time, rising queries and Trending Now
- [Google Play Scraper](https://apify.com/wulfcare/google-play-scraper) and [App Store Scraper](https://apify.com/wulfcare/app-store-scraper): app reviews, details and charts
- [YouTube Transcript Scraper](https://apify.com/wulfcare/youtube-transcript-scraper): transcripts and captions of YouTube videos
- [Google Jobs Scraper](https://apify.com/wulfcare/google-jobs-scraper): job listings from Google Jobs

Found a problem or need a field? Open an issue on the Issues tab.

# Actor input Schema

## `prompts` (type: `array`):

What to ask Gemini, one prompt per line. Write them the way your customers would ask, e.g. "best accounting software for a plumber". Each prompt is asked in a new, logged-out Gemini chat.

## `yourBrand` (type: `string`):

Optional. Your brand name, then any other names and your website, separated by commas: "HubSpot, HubSpot CRM, hubspot.com". Every answer then says whether it mentions you, your rank against the competitors below, and whether it cites your site.

## `competitors` (type: `array`):

Optional. Other brands to track, one per line, in the same format: name, other names, website.

## `repeats` (type: `integer`):

Gemini words its answer differently each time, and the brands it names can change too. Ask the same prompt 3-5 times to get your share of mentions instead of a single snapshot. Every answer is its own row (and its own charge).

## `maxConcurrency` (type: `integer`):

How many questions run in parallel. 4 is a safe default; up to 10 is faster.

## `language` (type: `string`):

Interface language code, e.g. en, de, fr, es, ja (default en). Gemini usually answers in the language of the prompt anyway.

## `proxyConfiguration` (type: `object`):

Leave off (recommended): questions go out from the Apify server's own IP address (in the US), the fastest and cheapest way. Gemini tailors local results (shops, prices, places) to where the question comes from, so to see what people in another country get, turn on Apify Proxy, pick Residential and that country. Residential adds $0.002 per answer for the bandwidth.

## Actor input object example

```json
{
  "prompts": [
    "What is the best CRM for a small business?",
    "Which project management tool is best for a remote team?"
  ],
  "yourBrand": "HubSpot, hubspot.com",
  "competitors": [
    "Salesforce, salesforce.com",
    "Zoho CRM, Zoho, zoho.com",
    "Pipedrive, pipedrive.com",
    "monday.com"
  ],
  "repeats": 1,
  "maxConcurrency": 4,
  "language": "en",
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `results` (type: `string`):

No description

## `summary` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "prompts": [
        "What is the best CRM for a small business?",
        "Which project management tool is best for a remote team?"
    ],
    "yourBrand": "HubSpot, hubspot.com",
    "competitors": [
        "Salesforce, salesforce.com",
        "Zoho CRM, Zoho, zoho.com",
        "Pipedrive, pipedrive.com",
        "monday.com"
    ],
    "proxyConfiguration": {
        "useApifyProxy": false
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("wulfcare/gemini-search-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "prompts": [
        "What is the best CRM for a small business?",
        "Which project management tool is best for a remote team?",
    ],
    "yourBrand": "HubSpot, hubspot.com",
    "competitors": [
        "Salesforce, salesforce.com",
        "Zoho CRM, Zoho, zoho.com",
        "Pipedrive, pipedrive.com",
        "monday.com",
    ],
    "proxyConfiguration": { "useApifyProxy": False },
}

# Run the Actor and wait for it to finish
run = client.actor("wulfcare/gemini-search-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "prompts": [
    "What is the best CRM for a small business?",
    "Which project management tool is best for a remote team?"
  ],
  "yourBrand": "HubSpot, hubspot.com",
  "competitors": [
    "Salesforce, salesforce.com",
    "Zoho CRM, Zoho, zoho.com",
    "Pipedrive, pipedrive.com",
    "monday.com"
  ],
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}' |
apify call wulfcare/gemini-search-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,wulfcare/gemini-search-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/1RHDz84MkJGEGzITs/builds/lK0jP7EqmWDF0pzfl/openapi.json
