# Google Shopping Trends Scraper: Product Demand ($0.30/1k) (`unitbytes/google-shopping-trends-scraper`) Actor

Extract Google Shopping product trends, breakout e-commerce searches (+5,000%), seasonal buyer timelines, and top buying regions. Screen up to 100 product keywords in one run in flat JSON or Excel/CSV.

- **URL**: https://apify.com/unitbytes/google-shopping-trends-scraper.md
- **Developed by:** [UnitBytes | Enterprise Web Data](https://apify.com/unitbytes) (community)
- **Categories:** E-commerce, SEO tools, Marketing
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.30 / 1,000 result scrapeds

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?

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

<p align="center">
  <a href="https://apify.com/unitbytes/google-shopping-trends-scraper?fpr=939u3w&fp_sid=readme" target="_blank">
    <img src="https://raw.githubusercontent.com/unitbytes/.github/main/assets/banners/unitbytes-google-trends-realtime-keyword-api-banner.jpg" alt="Google Shopping Trends Scraper & E-Commerce Product Demand by UnitBytes" width="100%" />
  </a>
</p>

<p align="center">
  <a href="https://console.apify.com/actors/unitbytes~google-shopping-trends-scraper" target="_blank">
    <img src="https://raw.githubusercontent.com/unitbytes/.github/main/assets/try-it-for-free.svg" width="240" height="48" alt="Try it for Free">
  </a>
  <br>
  <sub>⚡ <b>E-Commerce & Product Trial:</b> Discover breakout physical products with Apify free monthly credit</sub>
</p>

## 🛍️ Google Shopping Trends Scraper — Breakout Product Demand

> **Spot winning products 4–8 weeks before inventory stockouts.** Query Google's dedicated **Google Shopping Search Index** directly to extract **Breakout shopping searches (`+5,000%`), seasonal buyer timelines, high-converting states/DMA metros, and related brands**—up to **100 product keywords in a single run**.

<div align="center">

| 🛍️ Google Shopping Index | 🚀 +5,000% Breakout Products | 📦 Bulk 100 Products | 📍 DMA & City Ad Targeting | 💰 $0 Start Fee ($0.30/1k) |
| :---: | :---: | :---: | :---: | :---: |
| True Purchase-Intent Searches | Spot Winning Products Early | Screen Entire Catalogs | Localize Meta & Google Ads | 4-Tier Volume PPE |

</div>

***

<table>
  <tr>
    <td colspan="6" style="padding:10px 14px;background:#059669;color:#FFFFFF;font-size:13px;font-weight:700;border-radius:6px 6px 0 0">
      ⚡ UnitBytes · Search Trends & Market Demand Intelligence Suite
    </td>
  </tr>
  <tr>
    <td colspan="2" style="padding:10px 12px;border:1px solid #E2E8F0;background:#FFF4ED;vertical-align:top;width:33.3%">
      <span style="white-space:nowrap">🛍️ <b><a href="https://apify.com/unitbytes/google-shopping-trends-scraper?fpr=939u3w&fp_sid=ecosystem" style="color:#C2410C;text-decoration:none;font-size:13px">Google Shopping Trends</a></b></span><br><span style="color:#EA580C;font-size:11px;font-weight:700">📍 You are here</span><br>
      <span style="color:#64748B;font-size:11px">Breakout physical products, seasonal buyer demand & regions</span>
    </td>
    <td colspan="2" style="padding:10px 12px;border:1px solid #E2E8F0;background:#FAFAFA;vertical-align:top;width:33.3%">
      <span style="white-space:nowrap">🔥 <b><a href="https://apify.com/unitbytes/google-trending-now-scraper?fpr=939u3w&fp_sid=ecosystem" style="color:#0F172A;text-decoration:none;font-size:13px">Google Trending Now</a></b></span><br><span style="color:#2563EB;font-size:11px;font-weight:600">Realtime Viral Spikes</span><br>
      <span style="color:#64748B;font-size:11px">4h/24h/48h/7d trending searches, volumes & breaking news</span>
    </td>
    <td colspan="2" style="padding:10px 12px;border:1px solid #E2E8F0;background:#FAFAFA;vertical-align:top;width:33.3%">
      <span style="white-space:nowrap">🎥 <b><a href="https://apify.com/unitbytes/youtube-trends-scraper?fpr=939u3w&fp_sid=ecosystem" style="color:#0F172A;text-decoration:none;font-size:13px">YouTube Trends Scraper</a></b></span><br><span style="color:#2563EB;font-size:11px;font-weight:600">Video Creators & SEO</span><br>
      <span style="color:#64748B;font-size:11px">Breakout YouTube search queries, video topics & viewer regions</span>
    </td>
  </tr>
  <tr>
    <td colspan="3" style="padding:10px 12px;border:1px solid #E2E8F0;background:#FAFAFA;vertical-align:top;width:50%">
      <span style="white-space:nowrap">📈 <b><a href="https://apify.com/unitbytes/google-trends-scraper?fpr=939u3w&fp_sid=ecosystem" style="color:#0F172A;text-decoration:none;font-size:13px">Google Trends All-in-One Scraper</a></b></span><br><span style="color:#2563EB;font-size:11px;font-weight:600">Marketers & Spreadsheets</span><br>
      <span style="color:#64748B;font-size:11px">20-year timelines, DMA heatmaps, bulk 100 keywords & Excel/CSV</span>
    </td>
    <td colspan="3" style="padding:10px 12px;border:1px solid #E2E8F0;background:#FAFAFA;vertical-align:top;width:50%">
      <span style="white-space:nowrap">⚡ <b><a href="https://apify.com/unitbytes/google-trends-api?fpr=939u3w&fp_sid=ecosystem" style="color:#0F172A;text-decoration:none;font-size:13px">Google Trends Fast API</a></b></span><br><span style="color:#2563EB;font-size:11px;font-weight:600">Developers & AI Agents (MCP)</span><br>
      <span style="color:#64748B;font-size:11px">Sub-second REST API & unnested flat JSON for LLM pipelines</span>
    </td>
  </tr>
</table>

***

### ✨ Why Use Google Shopping Trends Scraper?

#### 1. 🛍️ 100% Pure Buyer-Intent Search Signals

Standard Web search mixes informational curiosity with shopping. By querying **Google Shopping (`gprop: "froogle"`)** directly, every single data point reflects real shoppers searching for physical products, brands, models, and price comparisons.

#### 2. ⭐ All 4 E-Commerce Datasets in One Run (`scrape_type: "all"`)

- 🚀 **Breakout & Top Product Queries (`related_queries`)**: Uncover specific product models, sizes, and brands surging **`+5,000%` (`rising`)** alongside evergreen bestsellers (`top`).
- 📈 **Seasonal Buyer Timeline (`interest_over_time`)**: Pinpoint the exact week Q4 holiday, summer, or back-to-school demand begins climbing.
- 🌍 **Top Buying Regions, DMA Metros & Cities (`interest_by_region`)**: Allocate Google Shopping, Meta, and TikTok ad spend to the exact states or cities with `100` buyer demand.
- 🏷️ **Related Brands & Categories (`related_topics`)**: Discover competing D2C brands and adjacent product lines.

#### 3. 📦 Compare 5 Competitors OR Bulk-Screen 100 Products

- **Head-to-Head Product Comparison (`compare_keywords: true` - Default)**: Compare up to 5 products or brands on a shared 0–100 scale.
- **Bulk Catalog Screening (`compare_keywords: false`)**: Screen up to **100 SKU or product keywords** in a single run.

***

### 🧪 Ready-to-Run Input Examples

#### 1. ⭐ Complete Product Demand Intelligence (Timeline + Regions + Breakout Queries + Brands)

```json
{
  "scrape_type": "all",
  "keywords": ["Air Fryer", "Espresso Machine"],
  "predefined_timeframe": "today 12-m",
  "common_geo": "US"
}
```

#### 2. 🚀 Winning Product & Breakout Model Discovery (`category: 18` = Shopping)

```json
{
  "scrape_type": "related_queries",
  "keywords": ["Walking Pad", "Red Light Therapy", "Ice Bath"],
  "category": 18,
  "predefined_timeframe": "today 3-m",
  "common_geo": "US"
}
```

#### 3. 📦 Bulk 100-SKU Catalog Demand Screening (`compare_keywords: false`)

```json
{
  "scrape_type": "interest_over_time",
  "keywords": [
    "portable blender",
    "massage gun",
    "sunrise alarm clock",
    "standing desk",
    "ergonomic chair",
    "wireless carplay adapter"
  ],
  "compare_keywords": false,
  "predefined_timeframe": "today 12-m",
  "common_geo": "US"
}
```

***

### ⚙️ Input Parameters Reference

| Parameter | Type | Default | Description |
| :--- | :--- | :--- | :--- |
| `keywords` | `array[string]` | `["Air Fryer", "Espresso Machine"]` | Products or brands to analyze (up to 5 in comparative mode, or up to **100** when `compare_keywords: false`) |
| `scrape_type` | `string` | `"all"` | `"all"` (all 4 datasets), `"related_queries"`, `"interest_over_time"`, `"interest_by_region"`, or `"related_topics"` |
| `compare_keywords` | `boolean` | `true` | `true` compares up to 5 products on a shared 0–100 scale. `false` runs up to 100 products independently |
| `category` | `integer` | `0` | Retail category filter (`0` = All, `18` = Shopping, `5` = Electronics, `11` = Home & Garden, `44` = Beauty, `68` = Apparel, `71` = Food) |
| `predefined_timeframe` | `string` | `"today 12-m"` | `now 1-d`, `now 7-d`, `today 1-m`, `today 3-m`, `today 12-m`, `today 5-y`, `all` |
| `custom_timeframe` | `string` | `""` | Custom date range `'YYYY-MM-DD YYYY-MM-DD'` |
| `common_geo` | `string` | `"US"` | 2-letter ISO country code (`US`, `GB`, `DE`, `CA`, `AU`, etc.), country name, or `WORLDWIDE` |
| `custom_geo_code` | `string` | `""` | Sub-region code (`US-CA`, `US-TX`, etc.) |
| `geo_resolution` | `string` | `"COUNTRY"` | Regional granularity: `COUNTRY`, `REGION`, `DMA`, or `CITY` |
| `output_format` | `string` | `"flat"` | `"flat"` (1 row per data point for Excel/CSV/APIs) or `"legacy"` (nested JSON envelope) |
| `max_events` | `integer` | `10000` | Maximum number of results to extract |

***

### 💎 Pay-Per-Event Pricing (Zero Start Penalty)

| Apify Plan Tier | Unit Price per Data Point | Cost per 25-Item Query | Run Start Fee |
| :--- | :--- | :--- | :--- |
| **Free** | $0.00045 | **~$0.011** (1.1¢) | **$0.00** ($0.00005) |
| **Starter** | $0.00040 | **~$0.010** (1.0¢) | **$0.00** ($0.00005) |
| **Scale** | $0.00035 | **~$0.008** (0.8¢) | **$0.00** ($0.00005) |
| **Enterprise** | $0.00030 | **~$0.007** (0.7¢) | **$0.00** ($0.00005) |

***

### 📞 Support & Feedback

- 🐛 **Bug Reports & Feature Requests**: Open a ticket on the [Apify Issues Tab](https://apify.com/unitbytes/google-shopping-trends-scraper/issues?fpr=939u3w)
- 💬 **Creator Profile**: [unitbytes on Apify](https://apify.com/unitbytes)

### ⚖️ Compliance & Privacy

This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Google LLC or Alphabet Inc. It retrieves only publicly available, aggregate search statistics published by Google Trends and does not collect or process any personal data. Read Apify's guide on [the legality of web scraping](https://blog.apify.com/is-web-scraping-legal/).

# Actor input Schema

## `keywords` (type: `array`):

Enter up to 5 products/brands to compare side-by-side on a shared 0–100 scale, or uncheck 'Compare Products' below to bulk-screen up to 100 product keywords in a single run.

## `scrape_type` (type: `string`):

Select 'All-in-One' to extract seasonal demand timeline, buyer geography, breakout product queries, and related brands/categories in a single run.

## `compare_keywords` (type: `boolean`):

When enabled (default), up to 5 products/brands are compared side-by-side on the same 0–100 scale. Uncheck to bulk-screen up to 100 product keywords in one run (each scored independently on its own 0–100 scale).

## `category` (type: `integer`):

Filter by retail category ID (0 = All Categories, 18 = Shopping, 5 = Consumer Electronics, 11 = Home & Garden, 44 = Beauty & Personal Care, 45 = Health & Wellness, 68 = Apparel & Fashion, 71 = Food & Groceries).

## `trends_urls` (type: `array`):

Optionally paste trends.google.com/trends/explore?... URLs directly.

## `predefined_timeframe` (type: `string`):

Select a preset time window for Google Shopping buyer demand.

## `custom_timeframe` (type: `string`):

Format: 'YYYY-MM-DD YYYY-MM-DD' (e.g. '2025-10-01 2025-12-31' for Q4 holiday demand). Overrides Predefined Timeframe when filled.

## `common_geo` (type: `string`):

2-letter ISO country code ('US', 'GB', 'DE', 'FR', 'CA', 'AU', etc.), full country name, or 'WORLDWIDE'.

## `custom_geo_code` (type: `string`):

Optional state/region code such as 'US-CA' or 'US-TX' for localized ad targeting.

## `geo_resolution` (type: `string`):

Granularity for 'Top Buying Regions' (use DMA or CITY to target regional ad campaigns).

## `output_format` (type: `string`):

'flat' outputs 1 row per data point (ready for Excel, CSV, Google Sheets, and APIs). 'legacy' outputs a consolidated nested JSON object.

## `max_events` (type: `integer`):

Maximum number of trend data points to return (1 to 10,000).

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

Apify Residential proxies are automatically managed on Apify Cloud.

## `gprop` (type: `string`):

Locked to Google Shopping index by default

## `acknowledge_costs` (type: `boolean`):

Internal flag for backward compatibility

## Actor input object example

```json
{
  "keywords": [
    "Air Fryer",
    "Espresso Machine"
  ],
  "scrape_type": "all",
  "compare_keywords": true,
  "category": 0,
  "predefined_timeframe": "today 12-m",
  "common_geo": "US",
  "custom_geo_code": "",
  "geo_resolution": "COUNTRY",
  "output_format": "flat",
  "max_events": 10000,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  },
  "gprop": "froogle",
  "acknowledge_costs": true
}
```

# Actor output Schema

## `results` (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 = {
    "keywords": [
        "Air Fryer",
        "Espresso Machine"
    ],
    "common_geo": "US"
};

// Run the Actor and wait for it to finish
const run = await client.actor("unitbytes/google-shopping-trends-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 = {
    "keywords": [
        "Air Fryer",
        "Espresso Machine",
    ],
    "common_geo": "US",
}

# Run the Actor and wait for it to finish
run = client.actor("unitbytes/google-shopping-trends-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 '{
  "keywords": [
    "Air Fryer",
    "Espresso Machine"
  ],
  "common_geo": "US"
}' |
apify call unitbytes/google-shopping-trends-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,unitbytes/google-shopping-trends-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/XZXOvZWIrpO6UULTT/builds/539mAx9ImiRnAdkKd/openapi.json
