# Google Trending Now – Trends, Volume & News (`datarelay/google-trending-now`) Actor

All Google Trending Now searches – hundreds per country or US state, with search volume, growth, categories, related queries and news articles. Plus Google's Year in Search rankings.

- **URL**: https://apify.com/datarelay/google-trending-now.md
- **Developed by:** [DataRelay](https://apify.com/datarelay) (community)
- **Categories:** News, SEO tools, Marketing
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.70 / 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.
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

## Google Trending Now – Trends, Volume & News

**All trending Google searches, not just the top 20.** Get every trend Google shows in Trending Now – often 150–500 per country (measured: US ~480, GB ~220, PL ~160 for 24 hours) – with **search volume, growth, start time, categories, the queries behind each trend and the news articles** that explain it. Works for countries and US states. Plus Google's **Year in Search** rankings.

### Why this Actor

- **Hundreds of trends per location** with volume (`20000` = "20K+") and growth (`1000` = +1,000 %) – RSS feeds give 10–20 without numbers.
- **States and regions:** `US-CA`, `US-TX`, `DE-BY`…
- **Time windows:** past 4 hours, 24 hours, 48 hours or 7 days; filter by category or active trends; sort by volume, growth or recency.
- **News articles** for each trend (title, URL, source, time, image), preferring your language.
- **Optional interest-over-time chart** for each trend.
- **Year in Search:** Google's yearly top lists (Searches, News, People, Movies…) for many countries.
- Built for **schedules**: cheap, fast runs every hour or day.

### Who uses it

- **Newsrooms and content creators** – spot rising stories early, with the articles already covering them.
- **Marketers and social media teams** – react to trends in your country, state or category while they are active.
- **Analysts and AI agents** – a structured feed of what people search for now, with volume and growth.

### Quick start

```json
{
    "geos": ["US"],
    "hours": "24"
}
```

| Goal                                      | Input                                                                  |
| ----------------------------------------- | ---------------------------------------------------------------------- |
| Top 50 sports trends in the UK today      | `{"geos": ["GB"], "categories": ["sports"], "maxTrends": 50}`          |
| Active trends in California, by volume    | `{"geos": ["US-CA"], "activeOnly": true, "sortBy": "searchVolume"}`    |
| Weekly trends in 3 countries, no articles | `{"geos": ["DE","AT","CH"], "hours": "168", "includeArticles": false}` |
| Trends with charts                        | `{"geos": ["US"], "maxTrends": 20, "includeTrendTimeline": true}`      |
| Year in Search 2025                       | `{"mode": "yearInSearch", "years": [2025], "geos": ["US", "PL"]}`      |

Categories: `autos-and-vehicles`, `beauty-and-fashion`, `business-and-finance`, `climate`, `entertainment`, `food-and-drink`, `games`, `health`, `hobbies-and-leisure`, `jobs-and-education`, `law-and-government`, `other`, `pets-and-animals`, `politics`, `science`, `shopping`, `sports`, `technology`, `travel-and-transportation`.

### Output

```json
{
    "rank": 1,
    "title": "benfica vs celtic",
    "geo": "GB",
    "windowHours": 24,
    "startedAt": "2026-10-15T18:00:00.000Z",
    "endedAt": null,
    "isActive": true,
    "searchVolume": 100000,
    "increasePct": 1000,
    "categories": ["Sports"],
    "relatedQueries": ["benfica vs celtic", "celtic fc", "celtic score", "what channel is the celtic game on"],
    "articles": [
        {
            "title": "Benfica 4-1 Celtic: …",
            "url": "https://www.skysports.com/football/news/…",
            "source": "Sky Sports",
            "publishedAt": "2026-10-16T00:46:35.000Z",
            "imageUrl": "https://…"
        }
    ],
    "warnings": [],
    "exploreUrl": "https://trends.google.com/trends/explore?date=now+1-d&geo=GB&q=benfica+vs+celtic",
    "googleSearchUrl": "https://www.google.com/search?q=benfica%20vs%20celtic"
}
```

Year in Search rows: `year`, `geo`, `category` (list title in the page language), `rank`, `title`, `trendsUrl`, `googleSearchUrl`.

Each run also stores a **summary** in the `OUTPUT` record of its key-value store (rows, failed locations, why the run stopped, charged events).

### Integrations

API (`run-sync-get-dataset-items`), AI agents via the [Apify MCP server](https://mcp.apify.com), n8n / Make / Zapier ("Run Actor"), Slack or Google Sheets via Apify integrations, and schedules.

### Pricing – what a job costs

You pay only for delivered results; platform usage is included (no compute or proxy costs on top).

| Event                 | Price (FREE / BRONZE) | When                                              |
| --------------------- | --------------------- | ------------------------------------------------- |
| `run-start`           | $0.02                 | once per run, together with the first paid result |
| `trend`               | $0.70 / 1,000         | each delivered trend (articles included)          |
| `trend-timeline`      | $1.20 / 1,000         | each trend chart with data                        |
| `year-in-search-item` | $0.20 / 1,000         | each Year in Search entry                         |

SILVER and GOLD plans get a lower `trend-timeline` price (−3 to −5 %).

| Typical job                                  | Cost         |
| -------------------------------------------- | ------------ |
| 10 trends with articles                      | $0.027       |
| A whole country for 24 hours (~450 trends)   | $0.335       |
| 20 trends with charts                        | $0.058       |
| Year in Search, one country (90–340 entries) | $0.038–0.088 |

**You don't pay** for a location whose list failed, a chart that stayed blocked, or a run that delivers nothing (no start fee either).

### Reliability (measured)

- Trending Now lists, articles and Year in Search: every one of our runs succeeded so far (Google does not rate-limit these requests in our measurements); in our test of 2026-10-27 (18 runs) all lists, articles, charts and Year in Search pages were delivered.
- Scheduled control runs check the Actor every hour, with alerts when something stops working.
- Charts use the rate-limited Google Trends Explore API; a chart that stays blocked is delivered as the trend with the warning `timeline: blocked` (not charged).
- When the time budget (`maxRunSecs`) runs out, every trend finished so far is saved – a run never ends empty because of time.

### Good to know

- `searchVolume` is Google's lower bound ("20K+" → 20000); `increasePct` is Google's rounded growth.
- Google's lists change quickly: two runs a few minutes apart can differ in order and content.
- Trending Now lists, articles and Year in Search need no special proxy (default Apify Proxy). Charts (`includeTrendTimeline`) use the rate-limited Google Trends Explore API and default to residential proxies with a new IP per chart (`chartProxyConfiguration`); the last attempts of a chart use your default Apify Proxy.

### FAQ

**Is `searchVolume` an exact number?** No – it is Google's lower bound ("20K+" → 20000). For relative interest over time, regions and related queries of any term, use our [Google Trends API](https://apify.com/datarelay/google-trends-api) Actor.

**How often should I run it?** Lists change within hours: hourly or every few hours with `hours: "4"` catches new trends early; daily with `hours: "24"` gives a daily digest.

**Can I get trends for a state or region?** Yes – use codes like `US-CA` or `DE-BY` in `geos`.

### Not affiliated with Google

This is an independent Actor by DataRelay, not a Google product. It reads the same data that the public Google Trends website shows.

### Usage statistics

The Actor sends anonymous run statistics to the developer (mode and options, number of items, Google request counts, duration). Your Apify user id is sent only as a keyed hash, used to count distinct users. No results, account details or personal data are collected.

### Changelog

- 0.1 – first version.

# Actor input Schema

## `mode` (type: `string`):

`trendingNow` – what is trending right now (default). `yearInSearch` – Google's yearly rankings (Year in Search).

## `geos` (type: `array`):

Country codes (`US`, `DE`, `PL`) or US states / regions (`US-CA`). For Year in Search: country codes (empty list = global).

## `hours` (type: `string`):

Trends started within the last 4 hours, 24 hours, 48 hours or 7 days.

## `categories` (type: `array`):

Only trends in these categories (empty = all).

## `activeOnly` (type: `boolean`):

Skip trends that already ended.

## `sortBy` (type: `string`):

`relevance` keeps Google's order.

## `maxTrends` (type: `integer`):

0 = all trends (often several hundred).

## `includeArticles` (type: `boolean`):

News articles explaining each trend (title, URL, source, time, image).

## `maxArticlesPerTrend` (type: `integer`):

Articles in the selected language are preferred.

## `includeTrendTimeline` (type: `boolean`):

Adds a Google Trends chart for each trend (one extra Google request per trend, charged separately; proxies recommended).

## `years` (type: `array`):

For mode `yearInSearch`, e.g. `2025`. Empty = last year.

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

Language of the Trends interface and preferred language of articles, e.g. `en-US`, `de`, `pl`.

## `maxRunSecs` (type: `integer`):

Stop after this time with partial results (0 = only the run timeout applies).

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

Proxy for Trending Now lists, articles and Year in Search (no rate limits observed; the default Apify Proxy is enough).

## `chartProxyConfiguration` (type: `object`):

Proxy for the interest-over-time charts (`includeTrendTimeline`), which use the rate-limited Google Trends Explore API. Default: residential proxies with a new IP per chart; falls back to the default Apify Proxy if residential is not available.

## Actor input object example

```json
{
  "mode": "trendingNow",
  "geos": [
    "US"
  ],
  "hours": "24",
  "categories": [],
  "activeOnly": false,
  "sortBy": "relevance",
  "maxTrends": 50,
  "includeArticles": true,
  "maxArticlesPerTrend": 3,
  "includeTrendTimeline": false,
  "years": [],
  "language": "en-US",
  "maxRunSecs": 0,
  "proxyConfiguration": {
    "useApifyProxy": true
  },
  "chartProxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# 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 = {
    "geos": [
        "US"
    ],
    "maxTrends": 50,
    "proxyConfiguration": {
        "useApifyProxy": true
    },
    "chartProxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("datarelay/google-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 = {
    "geos": ["US"],
    "maxTrends": 50,
    "proxyConfiguration": { "useApifyProxy": True },
    "chartProxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("datarelay/google-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 '{
  "geos": [
    "US"
  ],
  "maxTrends": 50,
  "proxyConfiguration": {
    "useApifyProxy": true
  },
  "chartProxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}' |
apify call datarelay/google-trending-now --silent --output-dataset

```

## MCP server setup

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