# Google Shopping Scraper — Prices & Offers (`hipersoft/google-shopping-scraper`) Actor

Scrape Google Shopping product offers in bulk by search term: title, price, currency, merchant, rating, review count, condition, delivery, product link and image. Multi-query, per-country/language. For price comparison, retail and market research.

- **URL**: https://apify.com/hipersoft/google-shopping-scraper.md
- **Developed by:** [hiper soft](https://apify.com/hipersoft) (community)
- **Categories:** E-commerce, Other
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.0015 / product scraped

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Google Shopping Scraper — Scrape Prices & Product Offers (Bulk)

**Scrape Google Shopping** product offers at scale into clean JSON, CSV, Excel or XML. This Google Shopping scraper turns any product search term into a structured feed of **title, price, currency, merchant, rating, review count, condition, delivery, product link and image** — a fast, no-code way to build a price-comparison or retail dataset from Google Shopping.

Comparing prices across dozens of retailers by hand is slow. This Actor searches Google Shopping for each term you give it and returns every product offer as a structured row — an easy, cheap way to collect prices and merchants for price comparison, repricing, market research or LLM pipelines.

### What does the Google Shopping Scraper do?

Give it a list of **product search terms**, pick a **country** and **language**, set a limit, and it collects the product offers Google Shopping returns for each term — the product title, its price and currency, the merchant selling it, rating and review count, condition, delivery text, a link and an image — ready for analytics, dashboards, price monitoring or datasets.

### What data can you scrape from Google Shopping?

| Group | Fields |
|---|---|
| 🏷️ **Product** | title, condition |
| 💰 **Price** | price, currency |
| 🏬 **Merchant** | merchant / store name |
| ⭐ **Reviews** | rating, review count |
| 🚚 **Delivery** | delivery / shipping text |
| 🖼️ **Media** | product image |
| 🔗 **Link** | product / offer URL |
| 🆔 **Identifiers** | product ID |

### Use cases

- **Price comparison & monitoring** — track how a product is priced across many merchants at once.
- **Repricing & competitor tracking** — watch competitor prices and offers by search term and country.
- **Market & assortment research** — see which merchants, products and price points appear for a category.
- **Retail & brand monitoring** — follow how a brand's products are listed, priced and rated.
- **Deal & coupon discovery** — surface the cheapest offers and delivery options for a product.
- **Build an e-commerce dataset** — thousands of product offers with prices, merchants and ratings for BI or ML.

### How to scrape Google Shopping data

1. Click **Try for free / Start** to open the Google Shopping Scraper.
2. Add one or more **product search terms** such as `airpods pro`, `dyson v15` or `nintendo switch oled`.
3. Choose a **country** and **language** for the market and currency.
4. Set **Max products per query**, then click **Run**.
5. Download the results as **JSON, CSV, Excel or XML**, or pull them from the API.

### Input

Pass a list of product search terms, choose a market, and cap the number of offers per term.

```json
{
  "queries": ["airpods pro", "dyson v15"],
  "country": "us",
  "language": "en",
  "maxItems": 100
}
```

| Field | Type | Description |
|---|---|---|
| `queries` | array | One or more product search terms. Each is searched on Google Shopping separately. |
| `country` | string | Two-letter country code for the market and prices (e.g. `us`, `gb`, `de`, `sg`). |
| `language` | string | Two-letter interface language (e.g. `en`, `es`, `de`). |
| `maxItems` | integer | Maximum product offers to collect per search term (default 100). |

### Output

Each product offer is one dataset item:

```json
{
  "query": "airpods pro",
  "title": "Apple AirPods Pro (2nd Generation)",
  "price": 199.99,
  "currency": "USD",
  "merchant": "Best Buy",
  "rating": 4.8,
  "reviewCount": 12045,
  "productId": "1234567890123456789",
  "condition": "new",
  "delivery": "Free delivery",
  "url": "https://www.bestbuy.com/site/apple-airpods-pro-2nd-generation/6447382.p",
  "image": "https://encrypted-tbn0.gstatic.com/shopping?q=tbn:example"
}
```

#### Output schema

| Field | Type | Description |
|-------|------|-------------|
| `query` | string | The search term this offer came from. |
| `title` | string | Product title. |
| `price` | number | Offer price in the market currency. |
| `currency` | string | ISO currency code (e.g. `USD`, `GBP`, `EUR`, `SGD`). |
| `merchant` | string | Merchant or store offering the product, where shown. |
| `rating` | number | Average product rating (0–5), where available. |
| `reviewCount` | number | Number of ratings / reviews, where available. |
| `productId` | string | Google Shopping product identifier, where available. |
| `condition` | string | `new`, `used` or `refurbished`, where indicated. |
| `delivery` | string | Delivery or shipping text, where shown. |
| `url` | string (URL) | Link to the product or merchant offer. |
| `image` | string (URL) | Product image URL. |

### Need more e-commerce data?

Building a wider product or price dataset? Pair this with our other marketplace scrapers:

- [Amazon Product Scraper](https://apify.com/hipersoft/amazon-product-scraper) — Amazon products, prices and reviews across marketplaces.
- [eBay Scraper](https://apify.com/hipersoft/ebay-scraper) — eBay active and sold listings with prices and conditions.
- [MercadoLibre Scraper](https://apify.com/hipersoft/mercadolibre-scraper) — Latin American marketplace products, prices and sellers.
- [Shopify Product Scraper](https://apify.com/hipersoft/shopify-product-scraper) — products and variants from any Shopify store.

### FAQ

**What does the Google Shopping Scraper return?**
For each search term it returns the product offers Google Shopping shows — title, price, currency, merchant, rating, review count, condition, delivery, a link and an image — as structured rows.

**Which countries and currencies are supported?**
Any Google Shopping market. Set `country` (e.g. `us`, `gb`, `de`, `sg`) and `language` to control the merchants shown and the currency returned, so multi-country data stays comparable.

**How many products can I scrape per run?**
As many as you like. Use `maxItems` to cap products per term, and pass many terms to scale to thousands of offers in one run.

**Does it include price and merchant for every offer?**
Every item includes the offer `price` and `currency`, plus the `merchant` where Google shows one, so you can compare the same product across retailers.

**How much does it cost?**
You pay only for the product offers you get, which makes it one of the cheapest ways to collect Google Shopping prices at scale. See the Pricing tab for current rates.

**What export formats are supported?**
JSON, CSV, Excel and XML, plus webhooks and the Apify API.

**Can I automate or integrate the Google Shopping Scraper with n8n?**
Yes. Use the [Apify node for n8n](https://docs.apify.com/platform/integrations/n8n) to run this Actor and pipe product offers straight into an n8n workflow — trigger on a schedule, then route the data to a database, spreadsheet or price alert. It also works with [Make](https://apify.com/integrations/make), [Zapier](https://apify.com/integrations/zapier), [Google Drive](https://docs.apify.com/platform/integrations/drive) and [many more](https://apify.com/integrations), plus the [Apify API](https://docs.apify.com/api/v2) and [webhooks](https://docs.apify.com/platform/integrations/webhooks).

**Is scraping Google Shopping legal?**
The Actor collects only public product-offer listings — no private or personal data. You are responsible for how you use the data and for complying with applicable terms and laws.

### Related Actors

- [Amazon Product Scraper](https://apify.com/hipersoft/amazon-product-scraper) — Amazon products, prices and reviews.
- [eBay Scraper](https://apify.com/hipersoft/ebay-scraper) — eBay active and sold listings.
- [MercadoLibre Scraper](https://apify.com/hipersoft/mercadolibre-scraper) — LatAm marketplace products and prices.
- [Shopify Product Scraper](https://apify.com/hipersoft/shopify-product-scraper) — products from any Shopify store.

### Notes

Original clean-room implementation. Returns only public product-offer listings — no private or personal data; you are responsible for how you use the data and for complying with applicable terms. This is an independent tool and is not affiliated with or endorsed by Google.

# Actor input Schema

## `queries` (type: `array`):

One or more product search terms (e.g. "airpods pro", "dyson v15"). Each term is searched on Google Shopping separately and its product offers are scraped.

## `country` (type: `string`):

Two-letter country code for the Google Shopping market and prices (Google gl parameter), e.g. us, gb, de, sg. Controls which merchants and currency are returned.

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

Two-letter interface language (Google hl parameter), e.g. en, es, de. Affects result language and labels.

## `maxItems` (type: `integer`):

Maximum number of product offers to collect for each search term. Paginates automatically until this many are found or results run out.

## Actor input object example

```json
{
  "queries": [
    "nintendo switch oled"
  ],
  "country": "us",
  "language": "en",
  "maxItems": 100
}
```

# Actor output Schema

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

The results as dataset items.

# 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 = {
    "queries": [
        "airpods pro",
        "dyson v15"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("hipersoft/google-shopping-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 = { "queries": [
        "airpods pro",
        "dyson v15",
    ] }

# Run the Actor and wait for it to finish
run = client.actor("hipersoft/google-shopping-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 '{
  "queries": [
    "airpods pro",
    "dyson v15"
  ]
}' |
apify call hipersoft/google-shopping-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,hipersoft/google-shopping-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/fihzRG1OXwcHigESh/builds/1taf8EMvdm7GxI9oa/openapi.json
