# Google Trends Trending Now Scraper & API: 125 Countries (`localwire/google-trends-trending-now`) Actor

Google Trends Trending Now scraper: the searches trending on Google right now in 125 countries and US states, with approximate search volume, start time and news stories, from Google's official public RSS feed. Monitor mode returns only new trends. $1 per 1,000 trends.

- **URL**: https://apify.com/localwire/google-trends-trending-now.md
- **Developed by:** [Local Wire](https://apify.com/localwire) (community)
- **Categories:** SEO tools, Marketing, News
- **Features:** Limited permissions
- **Stats:** 3 total users, 2 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.00 / 1,000 trends

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

## Google Trends Trending Now Scraper: trending searches by country

Google Trends "Trending now" as data: the searches trending on Google right now in 125 countries and in US states and other regions, with approximate search volume, start time and the news stories behind each trend, from Google Trends' official public RSS feed. **$1 per 1,000 trends** ($0.001 each) plus $0.0001 per run.

A **monitor mode** returns only trends you have not seen before, so a schedule every 15 to 30 minutes catches every trend without paying twice, and a **history dataset** keeps them all in one place. The Actor reads the feed Google publishes; it does not scrape the Google Trends website and uses no browser or proxy.

### What you get

One record per trending search per country or region.

```json
{
  "keyword": "itv",
  "country": "GB",
  "countryName": "United Kingdom",
  "approxTraffic": 2000,
  "approxTrafficText": "2000+",
  "startedAt": "2026-11-06T20:00:00.000Z",
  "trendUrl": "https://trends.google.com/trends/explore?date=now%207-d&geo=GB&q=itv",
  "searchUrl": "https://www.google.com/search?q=itv&gl=GB",
  "picture": "https://encrypted-tbn1.gstatic.com/images?q=tbn:ANd9GcRAUTS80zaNk8pw8DNGxGmqzjMTpGgihJotDMVrh7WOEhDbW1TJQ3RmSIwAAaw",
  "pictureSource": "The Sun",
  "newsCount": 3,
  "topNewsTitle": "Iconic ITV dating show Take Me Out returning 7 years after it was axed - but with VERY glam new host",
  "topNewsUrl": "https://www.thesun.co.uk/tv/40917443/take-me-out-returning-host-emily-atack-olivia-attwood/",
  "topNewsSource": "The Sun",
  "newsItems": [
    {
      "title": "Iconic ITV dating show Take Me Out returning 7 years after it was axed - but with VERY glam new host",
      "url": "https://www.thesun.co.uk/tv/40917443/take-me-out-returning-host-emily-atack-olivia-attwood/",
      "source": "The Sun",
      "picture": "https://encrypted-tbn1.gstatic.com/images?q=tbn:ANd9GcRAUTS80zaNk8pw8DNGxGmqzjMTpGgihJotDMVrh7WOEhDbW1TJQ3RmSIwAAaw",
      "snippet": null
    },
    {
      "title": "Take Me Out ‘set to return’ – with one clear favourite to replace Paddy McGuinness",
      "url": "https://metro.co.uk/2026/11/05/take-returning-6-years-axe-new-cheeky-host-29768169/",
      "source": "Metro.co.uk",
      "picture": "https://encrypted-tbn1.gstatic.com/images?q=tbn:ANd9GcRHkZwEJPHkybUXQuFwc8jX7mJP50NYCHwQSYzQ5kjAuyode4jMku1d3SeAiX8",
      "snippet": null
    }
  ],
  "dataSource": "google-trends-rss",
  "fetchedAt": "2026-11-06T20:35:12.000Z"
}
```

| Field | Meaning |
|---|---|
| `keyword` | The trending search. |
| `country`, `countryName` | The geo code you asked for (`GB`, or a region such as `US-CA`) and its English name. |
| `approxTraffic`, `approxTrafficText` | Google's rounded search volume as a number (`2000`) and as published (`2000+`). |
| `startedAt` | When the search started trending (UTC). |
| `trendUrl`, `searchUrl` | The term in Google Trends Explore (past 7 days), and a Google search for it. |
| `picture`, `pictureSource` | The image Google shows for the trend and its publisher. |
| `newsCount`, `newsItems[]` | The news stories Google links to the trend (up to 3): `title`, `url`, `source`, `picture`, `snippet`. |
| `topNewsTitle`, `topNewsUrl`, `topNewsSource` | The first story again as flat columns, for spreadsheets. |
| `firstSeenAt` | Monitor mode only: when this monitor first returned the trend. |
| `dataSource`, `fetchedAt` | Always `google-trends-rss`, and when the feed was read. |

The dataset's **Overview** tab shows the key columns. The run's key-value store also gets an `OUTPUT` record with counts per country, what was filtered out or already seen, and why the run stopped.

### Quick start

Every field is optional. An empty input returns what is trending now in the UK and the US, about 20 trends for about $0.02:

```json
{}
```

One country, with a volume floor:

```json
{
  "countries": ["DE"],
  "minTraffic": 1000
}
```

UK trends about football or rugby with 500+ searches:

```json
{
  "countries": ["GB"],
  "minTraffic": 500,
  "includeKeywords": ["football", "rugby", "premier league"]
}
```

A running history of new US and Canadian trends (schedule it every 15 or 30 minutes):

```json
{
  "countries": ["US", "CA"],
  "monitorMode": true,
  "monitorName": "north-america",
  "historyDatasetName": "north-america-trends"
}
```

### Input reference

| Field | Type | Default | What it does |
|---|---|---|---|
| `countries` | string\[] | `GB` and `US` when no country or region is given | Countries to fetch, as two-letter ISO codes. `UK` is accepted for `GB`. |
| `subdivisions` | string\[] | | Regions within a supported country, as ISO 3166-2 codes: `US-CA`, `US-NY`, `GB-SCT`. Given on their own, only the regions are fetched. A region Google has no feed for is reported and skipped. |
| `allCountries` | boolean | false | Fetch all 125 supported countries, ignoring `countries`. Takes a few minutes because the Actor waits between requests. |
| `includeNews` | boolean | true | Include the news stories for each trend. |
| `minTraffic` | integer | 0 | Only trends with at least this approximate search volume. |
| `includeKeywords` | string\[] | | Keep trends that contain ANY of these words or phrases (case- and accent-insensitive). |
| `excludeKeywords` | string\[] | | Drop trends that contain any of these. |
| `matchNewsHeadlines` | boolean | true | Apply the keyword filters to the news headlines too, so "football" also finds a trending player's name. |
| `monitorMode` | boolean | false | Return only trends not returned by earlier runs of the same monitor. |
| `monitorName` | string | `default` | Tasks with different countries or filters should use different names so each keeps its own memory. |
| `forgetAfterHours` | integer | 24 | A trend that left the feed and comes back after this many hours counts as new again (1 to 720). |
| `historyDatasetName` | string | | Also append every returned trend to this named dataset, which grows across runs. |
| `maxResults` | integer | 1000 | Stop after this many trends (1 to 100,000). |

### Use cases

- **Content and SEO.** Find rising topics in your country every morning and publish while interest peaks.
- **Newsrooms and social media teams.** Get alerted when a person, brand or event starts trending, with the stories driving it.
- **Brand and market monitoring.** Watch for your brand, competitors or industry terms with keyword filters.
- **Ads and e-commerce.** Spot sudden demand (an event, a product, a celebrity) early enough to act on it.
- **Research datasets.** Build your own record of trending searches across countries over time.
- **AI agents.** Let an agent answer "what is trending in Germany right now, and why?" with live data and source links.

### Monitor mode: catch every trend and build a history

Google's feed shows **the latest 10 or so trending searches per country** at any moment; in busy countries the list turns over within an hour. To catch them all:

1. Set `monitorMode` to `true`, choose a `monitorName`, and optionally a `historyDatasetName`.
2. Save the input as a **Task** and add a **Schedule** every 15 or 30 minutes.
3. Each run returns only the trends that are new since the previous run. With `historyDatasetName` they build up in one dataset that you can download at any time, or connect an integration (Google Sheets, Slack, webhook) to the task.

You pay for new trends plus $0.0001 per run, so a 15-minute schedule costs about the same as an hourly one.

### Pricing

Pay per result: **$0.001 per trend returned ($1 per 1,000)** plus **$0.0001 per run**. Trends that are filtered out, or in monitor mode already returned, are free.

| Run | Trends returned | Cost |
|---|---|---|
| The default run: UK and US | about 20 | about **$0.02** |
| One country every morning for a month | about 10 a day | about **$0.30 a month** |
| All 125 countries once | 600 to 1,000 | **$0.60 to $1.00** |
| Monitor mode on two countries every 15 minutes, finding 150 new trends a day | 150 a day | $0.15 + 96 runs × $0.0001 = about **$0.16 a day** |

To cap spending, set `maxResults` or a maximum cost per run in the run options (`maxTotalChargeUsd` in the API). The Actor stops cleanly at the limit.

### Use it from the API

The Actor's name on Apify is `localwire/google-trends-trending-now`.

```bash
curl -X POST "https://api.apify.com/v2/acts/localwire~google-trends-trending-now/run-sync-get-dataset-items?token=<YOUR_APIFY_TOKEN>" \
  -H "content-type: application/json" \
  -d '{"countries": ["GB"], "includeNews": true}'
```

With the official clients:

```js
import { ApifyClient } from "apify-client";

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor("localwire/google-trends-trending-now").call({ countries: ["FR", "DE"] });
const { items } = await client.dataset(run.defaultDatasetId).listItems();
```

```python
from apify_client import ApifyClient

client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("localwire/google-trends-trending-now").call(run_input={"countries": ["FR", "DE"]})
items = client.dataset(run["defaultDatasetId"]).list_items().items
```

### Use it from an AI agent (MCP)

Apify hosts an MCP server at `https://mcp.apify.com`. Add it to an MCP client (Claude, ChatGPT, Cursor, VS Code and others) and sign in with your Apify account, or send your API token as an `Authorization: Bearer` header. To expose just this Actor as a tool:

```
https://mcp.apify.com?tools=localwire/google-trends-trending-now
```

Then ask "what is trending in France right now, and why?". A call with no input returns the UK and the US; an agent should pass `countries` for anything else. A typical call returns about 10 small records per country, which fits comfortably in a model's context.

### Integrations

Apify connects runs to Make, n8n, Zapier, LangChain, webhooks and other tools, and datasets export as JSON, CSV, Excel, XML or RSS. Typical setups: a morning run to Google Sheets; monitor mode with a webhook that posts new trends matching your keywords to Slack; a history dataset loaded into a database or BigQuery.

### FAQ

#### Is there an official Google Trends API?

Google has announced an official Google Trends API, but access is limited. The "Trending now" RSS feed is public, and it is what this Actor reads and turns into structured records.

#### How do I get Google trending searches for a specific country?

Put the country's two-letter code in `countries`, for example `["JP"]` for Japan. The 125 supported countries are listed below.

#### Can I get trending searches for US states?

Yes. Use `subdivisions` with ISO 3166-2 codes such as `US-CA`, `US-NY` or `US-TX`. Regions of some other countries work as well; one that Google has no feed for is reported and skipped.

#### How often does Google Trends "Trending now" update?

Continuously. The feed lists roughly the 10 newest trends per country and in busy countries turns over within an hour, which is why monitor mode on a 15 to 30 minute schedule is the way to collect all of them.

#### Can I get interest over time, related queries or Explore data?

No. This Actor returns the "Trending now" list only. It does not return interest-over-time charts, related queries or topics, or regional breakdowns for a keyword.

#### How do I export Google Trends data to CSV or Google Sheets?

Open the run's dataset and choose CSV or Excel, or request `https://api.apify.com/v2/datasets/<DATASET_ID>/items?format=csv`. For Google Sheets, use Apify's Google Sheets integration or a Make or Zapier scenario on the task.

#### How do I get an alert when a keyword starts trending?

Set `includeKeywords`, turn on `monitorMode`, schedule the task every 15 minutes and add a Slack, e-mail or webhook integration. Each matching trend is delivered once.

#### What does the search volume number mean?

It is Google's rounded label for the searches behind the trend, such as `200+`, `2000+` or `20000+`. `approxTraffic` is the same label as a number so you can sort and filter. It is not an exact count.

#### Why do I only get about 10 trends per country?

That is what Google's feed carries at one time. Use monitor mode on a schedule to build complete daily coverage.

### Supported countries

Albania (AL), Algeria (DZ), Angola (AO), Argentina (AR), Armenia (AM), Australia (AU), Austria (AT), Azerbaijan (AZ), Bahrain (BH), Bangladesh (BD), Belarus (BY), Belgium (BE), Benin (BJ), Bolivia (BO), Bosnia & Herzegovina (BA), Brazil (BR), Bulgaria (BG), Burkina Faso (BF), Cambodia (KH), Cameroon (CM), Canada (CA), Chile (CL), Colombia (CO), Congo - Kinshasa (CD), Costa Rica (CR), Côte d’Ivoire (CI), Croatia (HR), Cuba (CU), Cyprus (CY), Czechia (CZ), Denmark (DK), Dominican Republic (DO), Ecuador (EC), Egypt (EG), El Salvador (SV), Estonia (EE), Ethiopia (ET), Finland (FI), France (FR), Georgia (GE), Germany (DE), Ghana (GH), Greece (GR), Guatemala (GT), Haiti (HT), Honduras (HN), Hong Kong SAR China (HK), Hungary (HU), India (IN), Indonesia (ID), Iran (IR), Iraq (IQ), Ireland (IE), Israel (IL), Italy (IT), Jamaica (JM), Japan (JP), Jordan (JO), Kazakhstan (KZ), Kenya (KE), Kuwait (KW), Kyrgyzstan (KG), Latvia (LV), Lebanon (LB), Libya (LY), Lithuania (LT), Malaysia (MY), Mali (ML), Mexico (MX), Moldova (MD), Morocco (MA), Mozambique (MZ), Myanmar (Burma) (MM), Nepal (NP), Netherlands (NL), New Zealand (NZ), Nicaragua (NI), Nigeria (NG), North Macedonia (MK), Norway (NO), Oman (OM), Pakistan (PK), Palestinian Territories (PS), Panama (PA), Paraguay (PY), Peru (PE), Philippines (PH), Poland (PL), Portugal (PT), Puerto Rico (PR), Qatar (QA), Romania (RO), Russia (RU), Saudi Arabia (SA), Senegal (SN), Serbia (RS), Singapore (SG), Slovakia (SK), Slovenia (SI), South Africa (ZA), South Korea (KR), Spain (ES), Sri Lanka (LK), Sweden (SE), Switzerland (CH), Syria (SY), Taiwan (TW), Tanzania (TZ), Thailand (TH), Trinidad & Tobago (TT), Tunisia (TN), Türkiye (TR), Turkmenistan (TM), Uganda (UG), Ukraine (UA), United Arab Emirates (AE), United Kingdom (GB), United States (US), Uruguay (UY), Uzbekistan (UZ), Venezuela (VE), Vietnam (VN), Yemen (YE), Zambia (ZM), Zimbabwe (ZW).

### Limitations

- **Trending now only.** No interest over time, related queries, regional breakdowns or the Explore tool.
- **About 10 trends per country per run**, the newest first. Smaller countries can have fewer.
- **Approximate volumes.** Google publishes rounded labels, not exact counts.
- **No categories.** The feed does not label trends by category; use keyword filters.
- **Language.** Keywords and news are in the language people search in for that country; nothing is translated.
- **Rate limits.** The Actor makes one request per country and waits between countries. If Google answers that it is busy (HTTP 429), the run stops early and keeps what it already has. It does not use proxies or try to get round the limit.

### Legal

Data comes from the public Google Trends feed at trends.google.com. This Actor is not affiliated with, endorsed by or sponsored by Google. "Google" and "Google Trends" are trademarks of Google LLC. Trending searches can include names of public figures; use the data in line with the laws that apply to you.

### Feedback

Need another field or a country that is missing? Open an issue on the Actor's **Issues** tab.

### More from this developer

- [UK & EU public tenders](https://apify.com/localwire/uk-public-tenders)
- [Hacker News](https://apify.com/localwire/hacker-news)
- [Career Site Jobs API](https://apify.com/localwire/ats-jobs)
- [Workday Jobs](https://apify.com/localwire/workday-jobs)
- [Reed Jobs](https://apify.com/localwire/reed-jobs)
- [Wellfound Jobs](https://apify.com/localwire/wellfound-jobs)
- [App Store Reviews, Details & Top Charts](https://apify.com/localwire/app-store-reviews)
- [Flashscore results and fixtures](https://apify.com/localwire/flashscore-sports)
- [ESPN scores and standings](https://apify.com/localwire/espn-sports)
- [Eventbrite Events](https://apify.com/localwire/eventbrite-events)
- [Meetup Events & Groups](https://apify.com/localwire/meetup-events)
- [Gumtree Listings](https://apify.com/localwire/gumtree-listings)
- [Telegram Channels](https://apify.com/localwire/telegram-channels)

# Actor input Schema

## `countries` (type: `array`):

Countries to get trending searches for, as two-letter ISO codes (GB, US, DE, JP…). Google publishes the Trending now feed for 125 countries, and each returns about 10 trends. If neither countries nor regions are given, GB and US are fetched.

## `subdivisions` (type: `array`):

Regions within a supported country, as ISO 3166-2 codes, e.g. US-CA (California), US-NY, GB-SCT. Fetched in addition to any countries listed; given on their own, only the regions are fetched. A region Google has no feed for is reported and skipped.

## `allCountries` (type: `boolean`):

Fetch every supported country (125), ignoring the list above. Takes a few minutes because the Actor waits politely between requests.

## `includeNews` (type: `boolean`):

Add up to 3 news stories (headline, publisher, link, image) that Google links to each trend.

## `minTraffic` (type: `integer`):

Only return trends with at least this approximate search volume (Google publishes rounded values such as 200+, 2000+, 20000+).

## `includeKeywords` (type: `array`):

Only return trends that contain ANY of these words or phrases (case- and accent-insensitive).

## `excludeKeywords` (type: `array`):

Drop trends that contain any of these words or phrases.

## `matchNewsHeadlines` (type: `boolean`):

Apply the keyword filters to the trend's news headlines as well as the search itself, so "football" also finds a trending player's name.

## `monitorMode` (type: `boolean`):

Remember what earlier runs returned and return only trends that are new. Use it with a schedule every 15-30 minutes to catch every trend without paying twice.

## `monitorName` (type: `string`):

Tasks with different countries or filters should use different names so each keeps its own memory.

## `forgetAfterHours` (type: `integer`):

A trend that drops out of the feed and comes back after this many hours is returned again.

## `historyDatasetName` (type: `string`):

Also add every returned trend to this named dataset, which keeps growing across runs (letters, digits and hyphens).

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

Stop after this many trends (1,000 if left out). Each trend returned costs $0.001; a country returns about 10.

## Actor input object example

```json
{
  "countries": [
    "GB",
    "US"
  ],
  "subdivisions": [
    "US-CA",
    "US-NY"
  ],
  "allCountries": false,
  "includeNews": true,
  "minTraffic": 1000,
  "includeKeywords": [
    "football",
    "election"
  ],
  "excludeKeywords": [
    "lottery"
  ],
  "matchNewsHeadlines": true,
  "monitorMode": false,
  "monitorName": "default",
  "forgetAfterHours": 24,
  "historyDatasetName": "uk-trends-history",
  "maxResults": 1000
}
```

# Actor output Schema

## `overview` (type: `string`):

Each trending search with its approximate traffic and top news story.

## `news` (type: `string`):

All news stories Google attaches to each trend.

## `monitor` (type: `string`):

When each trend was first returned (monitor mode).

## `allResults` (type: `string`):

Every record in the run's default dataset, all fields.

# 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 = {
    "countries": [
        "GB",
        "US"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("localwire/google-trends-trending-now").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 = { "countries": [
        "GB",
        "US",
    ] }

# Run the Actor and wait for it to finish
run = client.actor("localwire/google-trends-trending-now").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 '{
  "countries": [
    "GB",
    "US"
  ]
}' |
apify call localwire/google-trends-trending-now --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,localwire/google-trends-trending-now"
        }
    }
}
```

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/ZalJtmRhobC8FAdOR/builds/Nrd0eIMv9s0g77RSl/openapi.json
