# Google Trends Scraper (`crw/google-trends-scraper`) Actor

Collect real-time trending topics from Google Trends by country, time range, and category. Paste any Google Trends URL and get structured data in seconds.

- **URL**: https://apify.com/crw/google-trends-scraper.md
- **Developed by:** [CRW](https://apify.com/crw) (community)
- **Categories:** SEO tools, News, Automation
- **Stats:** 3 total users, 3 monthly users, 97.9% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.00 / 1,000 results

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/platform/actors/running/actors-in-store#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 Trends Scraper

**Turn any Google Trends URL into structured data — instantly.**

Stop wrestling with Google's anti-bot defenses. Paste your Google Trends URL and get clean, structured trending data in seconds. No login. No CAPTCHA. No proxy setup required.

***

### Why Use This Scraper?

- **Fast & reliable** — Single API call returns up to 265 trending topics at once. No pagination.
- **Global coverage** — Works for any country Google Trends supports: Korea, US, Taiwan, Japan, and more.
- **Real-time status** — Every topic is tagged `active` or `ended` so you know exactly what's still trending right now.
- **News articles included** — Each trend comes with the top news articles driving it: title, URL, source, publish time, and image. No extra calls needed.
- **Category filtering** — Narrow results to Sports, Entertainment, Technology, and more by simply copying the filtered URL from your browser.
- **Flexible time ranges** — Last 4 hours for breaking trends, up to 7 days for sustained patterns.
- **No proxy needed** — Built-in browser fingerprinting handles Google's bot detection automatically.
- **Ready for automation** — Integrate with Make, n8n, or any tool that reads from the Apify dataset API.

***

### What You Get

Each trending topic includes:

| Field | Description |
|-------|-------------|
| `keyword` | The trending search term |
| `geo` | Country code (`KR`, `US`, `TW`, …) |
| `status` | `active` — still trending now / `ended` — peaked and returned to normal |
| `startedAt` | When the trend started (Unix timestamp) |
| `endedAt` | When it ended (Unix timestamp) — `null` if still active |
| `searchVolume` | Search volume bucket (100 – 200,000) |
| `relativeVolume` | Relative spike score (50 – 1,000) |
| `relatedQueries` | Related search terms people are also searching |
| `categories` | Category IDs (Sports, Entertainment, etc.) |
| `newsArticles` | Top news articles driving the trend — title, URL, source, publish time, image |

***

### Quick Start

#### 1. Get your URL from Google Trends

Go to [trends.google.com/trending](https://trends.google.com/trending), select your country, time range, and category. Copy the URL from your browser's address bar.

```
https://trends.google.com/trending?geo=KR&hours=24
https://trends.google.com/trending?geo=US&hours=4
https://trends.google.com/trending?geo=TW&hours=24&category=6
```

#### 2. Configure the Actor

| Field | Required | Description |
|-------|----------|-------------|
| `urls` | yes | One or more Google Trends trending URLs (one per line) |
| `maxResults` | no | Max results per URL. Leave empty to get everything. |

#### 3. Run and integrate

Results are available instantly via the Apify dataset API, ready to plug into any workflow.

***

### Use Cases

**Content creators & marketers**
Track what's trending in your target country right now. Use the 4-hour window to catch breaking trends before they peak.

**E-commerce & product research**
Monitor trending searches in specific categories (Shopping, Technology) to spot demand spikes early.

**News & media monitoring**
Get trending topics with related queries and ready-to-use news articles (title, URL, source, image) — perfect for editorial planning or automated content pipelines.

**Competitive intelligence**
Compare trending topics across multiple countries in a single run by providing multiple URLs.

***

### URL Parameters

| Parameter | Description | Options |
|-----------|-------------|---------|
| `geo` | Country code | `KR`, `US`, `TW`, `JP`, `GB`, `DE`, … |
| `hours` | Time range | `4` (4h), `24` (24h), `48` (48h), `168` (7 days) |
| `category` | Category filter (optional) | Select in Google Trends UI, copy from URL |

> **Category filtering** is applied after fetching — the Google Trends API returns all categories server-side, and we filter to your selection locally. Results may be fewer than `maxResults` when a category is active.

***

### Pro Tips

- **Breaking trends**: Use `hours=4` to catch what's exploding right now
- **Sustained trends**: Use `hours=168` (7 days) to find topics with lasting momentum
- **Multi-country runs**: Paste multiple URLs (one per line) to collect trends from several countries in one run
- **Category + volume combo**: Filter by category, then sort by `searchVolume` to find the biggest trending topics in your niche

***

### Integrations

Works out of the box with Apify's native integrations:

- **Make (Integromat)** — Schedule daily trend collection and push to Google Sheets
- **n8n** — Build automated trend monitoring pipelines
- **Apify API** — Call directly from your app or data pipeline
- **MCP (AI Agents)** — Use with AI agents via the Apify MCP Server

# Actor input Schema

## `urls` (type: `array`):

Google Trends trending URLs to scrape (one per line).

https://trends.google.com/trending?geo=KR\&hours=24
https://trends.google.com/trending?geo=US\&hours=4
https://trends.google.com/trending?geo=TW\&hours=24\&category=6

Go to trends.google.com/trending, select country / time range / category, then copy the URL from your browser's address bar and paste it here.

Supported query params:
• geo — country code (KR, US, TW, JP ...)
• hours — time range: 4, 24, 48, 168 (7 days)
• category — category ID (optional). Filtered client-side.

## `maxResults` (type: `integer`):

Maximum number of trending topics to collect per URL. Omit to return all results.

## Actor input object example

```json
{
  "urls": [
    "https://trends.google.com/trending?geo=KR&hours=24"
  ]
}
```

# Actor output Schema

## `api` (type: `string`):

REST API endpoint to download the dataset programmatically.

# 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 = {
    "urls": [
        "https://trends.google.com/trending?geo=KR&hours=24"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("crw/google-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 = { "urls": ["https://trends.google.com/trending?geo=KR&hours=24"] }

# Run the Actor and wait for it to finish
run = client.actor("crw/google-trends-scraper").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "urls": [
    "https://trends.google.com/trending?geo=KR&hours=24"
  ]
}' |
apify call crw/google-trends-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=crw/google-trends-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/CiQPmguHD41TeFEFV/builds/NFp8Ql7sXHAhiDexd/openapi.json
