# Google Trends RSS: Current Trends by Country (`althorlabs/google-trends-rss-monitor`) Actor

Fetch current Google Trends Trending Now RSS snapshots for up to 10 selected countries.

- **URL**: https://apify.com/althorlabs/google-trends-rss-monitor.md
- **Developed by:** [Althor Labs](https://apify.com/althorlabs) (community)
- **Categories:** Business, Marketing
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$5.00 / 1,000 trend records

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 RSS: Current Trends by Country

Get a current snapshot of Google Trends Trending Now for up to 10 selected
countries or regions. Exported dataset rows include each trend term, Google's
approximate traffic bucket, source publication time, related-news URLs carried
in the RSS feed, and source attribution. Rows exclude article headlines,
publisher names, descriptions, images, and article content.

The traffic value is a source bucket, not an exact search count or historical
search-volume series. Each run is a current snapshot; this version does not
compare a run with a saved baseline. The first run makes no historical claim.

### Input

- `countries`: one to 10 codes from the supported list; defaults to `US`.
- `maxItemsPerCountry`: 1 to 250 rows per country; defaults to 100.

The Actor reads only `https://trends.google.com/trending/rss?geo=CC`. It checks
the exact host's robots file each run, makes one sequential request per
country, and stops on a disallow, access block, challenge, redirect, or invalid
feed. It has no browser, cookie, credential, private API, or user-configurable
proxy input, and it does not rotate network routes or retry a block.

Related news URLs are returned as metadata. The Actor does not open them or
copy article titles, descriptions, images, or content. Each row includes Google
Trends attribution.

### Limits

- Google may change or withdraw the feed at any time.
- Approximate traffic labels that cannot be parsed remain text-only.
- Historical queries, Explore data, exact search volume, custom keyword
  comparisons, saved baselines, and alerts are not included.
- The reviewed route is limited to the current Trending Now RSS export and the
  output fields described above. Live robots instructions and current Google
  Terms continue to apply; see `docs/data-source.md`.

### Example input

```json
{"countries": ["US"], "maxItemsPerCountry": 100}
```

### Example output

Each trend is a separate dataset row. This illustration comes from the test
fixture, with a fixed observation time; it is not a live trend or customer run.

```json
{
  "country": "US",
  "observedAt": "2026-10-22T00:00:00Z",
  "title": "Synthetic Example Query",
  "trafficText": "20K+",
  "trafficLowerBound": 20000,
  "trafficLowerBoundCapped": false,
  "trafficMetric": "approximate Google Trends bucket lower bound, not exact search volume",
  "publishedAt": "2026-10-21T23:40:00Z",
  "relatedNewsUrls": [
    "https://example.com/news?id=fixture"
  ],
  "sourceFeedUrl": "https://trends.google.com/trending/rss?geo=US",
  "attribution": "Data source: Google Trends (https://www.google.com/trends)."
}
```

The key-value store's `OUTPUT` record summarizes the run, including
`countryCount`, `recordCount` and `historicalClaim: false`.

### Invalid input and source failures

For example, this input requests an unsupported country:

```json
{"countries": ["XX"], "maxItemsPerCountry": 100}
```

Unsupported country codes are rejected. Apify may reject invalid input before
a run starts. If this value reaches the Actor, validation fails and it logs:

```text
Invalid input: unsupported country code: XX
```

This failure creates no dataset error row or successful `OUTPUT` summary.
A source refusal, challenge or invalid RSS response also fails the run. The
Actor logs a source error code, message and country, without retaining the
response body. It stops instead of retrying the blocked route.

### Pricing

USD 0.005 per emitted trend row, or USD 5 per 1,000 rows. There is no Actor
start fee. Standard Apify platform usage is included in this price. A run
that emits no dataset rows has no result charge. Rows already emitted can be
charged even if the run later fails.

# Actor input Schema

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

Select up to 10 supported country or region codes for current Trending Now RSS snapshots.

## `maxItemsPerCountry` (type: `integer`):

The current RSS feed is bounded to 512 KiB. Items carry an approximate traffic bucket and Google Trends attribution.

## Actor input object example

```json
{
  "countries": [
    "US"
  ],
  "maxItemsPerCountry": 100
}
```

# Actor output Schema

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

Dataset rows with current RSS trend and source metadata.

## `summary` (type: `string`):

Counts and first-observation status from OUTPUT.

# 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": [
        "US"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("althorlabs/google-trends-rss-monitor").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": ["US"] }

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

```

## MCP server setup

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

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/tqk6SsmhmwTTfZIRt/builds/TLf6KcJNnPPKdS98M/openapi.json
