Google Trends Scraper — Interest, Regions & Queries
Pricing
from $5.00 / 1,000 result items
Google Trends Scraper — Interest, Regions & Queries
Extract all 5 Google Trends data types: keyword interest over time, by region, related queries, related topics & daily trending searches. No API key. MCP/API-ready.
Pricing
from $5.00 / 1,000 result items
Rating
0.0
(0)
Developer
Khadin Akbar
Maintained by CommunityActor stats
3
Bookmarked
158
Total users
55
Monthly active users
a day ago
Last modified
Categories
Share
Google Trends Scraper — Interest, Regions & Trending
Google Trends Scraper by khadinakbar extracts Google Trends records for keyword interest over time, interest by region, related queries, related topics, and daily trending searches. It accepts keywords, geo, timeframe, Google property, category, selected data types, and a result cap, then returns flat records with fields such as type, keyword, date, value, geo, related_query, topic_title, traffic, articles, scraped_at, and source_url. The Actor is usable through Apify MCP and returns one record per Google Trends datapoint, which makes the output practical for analysis, reporting, CSV export, and downstream automation.
Best fit and connected workflows
This Actor fits workflows that start with Google search demand and continue into analysis, enrichment, or reporting.
Use it when you want to:
- compare up to 5 keywords in one Google Trends run;
- inspect where interest is strongest by country or region;
- surface adjacent search demand through related queries and related topics;
- pull daily trending searches for a country and capture supporting metadata;
- feed normalized Google Trends records into dashboards, spreadsheets, or AI agents.
A practical workflow is:
- Start with a keyword set in Google Trends Scraper. a bounded number of Review returned interest, region, query, topic, or trending-search records.
- Use
source_urlto verify the Google Trends page behind each record. - Send the resulting signals into a content plan, market scan, or another Google-focused Actor.
Contextual related workflows:
- Use Google Maps Reviews Scraper when a trend points to a place, brand, or location and you want review or comment data.
- Use Google Ads Scraper - Live Search Sponsored Ads when the next step is checking live sponsored search results around a trend.
- Use Google Ads Transparency Scraper - Creatives & Run Dates when the workflow needs ad creatives and run-date analysis.
Example scenario
Maya manages search content for a software brand. She starts with ["ChatGPT", "Gemini", "Copilot"], sets geo to US, keeps timeframe on today 12-m, and requests interest_over_time plus related_queries.
The Actor returns records with fields such as value, date, related_query, formatted_value, is_rising, and source_url. Maya sees a rising query tied to one keyword, checks the source_url for provenance, and uses that signal to decide the next article brief. Her next action is to draft content around the query set that appears in the dataset.
Input fields
| Field | Type | Default | Purpose |
|---|---|---|---|
keywords | array | ["ChatGPT"] | 1 to 5 search terms to compare on Google Trends. Required for interest_over_time, interest_by_region, related_queries, and related_topics. |
geo | string | US | ISO 3166-1 alpha-2 country code for the trend query. Use an empty string for worldwide. |
timeframe | string | today 12-m | Preset range such as past month, past 3 months, past 12 months, 5 years, or all time. |
property | string | web | Google property to analyze: web, news, images, youtube, or froogle. |
category | integer | 0 | Google Trends category ID. Use 0 for all categories. |
dataTypes | array | ["interest_over_time","related_queries"] | One or more data types to fetch in one run. |
trendingSearchesGeo | string | US | Country code for daily trending searches when trending_searches is selected. |
maxResults | integer | 500 | Maximum total number of records returned across all selected data types. |
customTimeRange | string | empty | Custom date range in YYYY-MM-DD YYYY-MM-DD format. |
outputFormat | string | flat | flat returns one record per data point. summary is reserved for grouped output. |
Focused input example
{"keywords": ["ChatGPT", "Gemini", "Copilot"],"geo": "US","timeframe": "today 12-m","property": "web","category": 0,"dataTypes": ["interest_over_time", "related_queries"],"trendingSearchesGeo": "US","maxResults": 200,"customTimeRange": "","outputFormat": "flat"}
Output fields
Every record has a type field indicating which Google Trends surface produced it. Provenance is included through scraped_at and source_url.
| Field | Type | Present In | Description |
|---|---|---|---|
type | string | all records | Record type: interest_over_time, interest_by_region, related_query, related_topic, or trending_search. |
keyword | string | keyword-based records | Keyword tied to the record. |
geo | string | all records | Geography used for the query, or worldwide. |
timeframe | string | keyword-based records | Time range used for the query. |
date | string | time-based and trending-search records | Human-readable date label. |
period | string | interest_over_time | Axis period label from Google Trends. |
value | number | interest and related records | Relative interest score from 0 to 100. |
is_partial | boolean | interest_over_time | Indicates whether the period is partial. |
geo_code | string | interest_by_region | Region code such as a country or subdivision code. |
geo_name | string | interest_by_region | Region name. |
parent_geo | string | interest_by_region | Parent geography used for the region query. |
related_query | string | related_query | The related search term. |
formatted_value | string | related_query, related_topic | Display value such as Breakout or +950%. |
is_rising | boolean | related_query, related_topic | Rising indicator for query or topic. |
topic_title | string | related_topic | Related topic title. |
topic_type | string | related_topic | Related topic type. |
topic_mid | string | related_topic | Google Knowledge Graph MID. |
title | string | trending_search | Trending search title. |
traffic | string | trending_search | Estimated traffic formatted as a string. |
traffic_value | number | trending_search | Numeric traffic estimate. |
related_queries | array | trending_search | List of related search strings. |
articles | array | trending_search | Related news articles. |
image_url | string | trending_search | Representative image URL. |
scraped_at | string | all records | Extraction timestamp. |
source_url | string | all records | Google Trends source URL for verification. |
Illustrative output record
{"type": "related_query","keyword": "ChatGPT","geo": "US","timeframe": "today 12-m","related_query": "chatgpt login","value": 100,"formatted_value": "100","is_rising": false,"scraped_at": "2024-03-31T14:22:00.000Z","source_url": "https://trends.google.com/trends/explore?q=ChatGPT&geo=US&date=today%2012-m"}
How it works
This Actor uses Google Trends request patterns to retrieve structured trend data for the selected keywords, geography, timeframe, property, category, and data types. The live contract defines a flat dataset schema, so each returned item is stored as a single record with fields specific to that data type.
The Actor stores:
- dataset items for record-level output,
- a compact output record in the key-value store,
- a run summary in the key-value store.
Pricing
This Actor uses Pay per event pricing plus Apify platform usage.
The primary billable event is Result item, meaning one returned data record such as an interest point, region record, related query, topic, or trending search item. Apify platform usage is charged separately from the event count, so total cost depends on both returned items and platform usage for the run.
For example, a run that returns one hundred result items charges for one hundred Result item events, plus the Apify platform usage associated with that run. Check the live Pricing tab in the Apify Console for the current event price and platform usage details before running larger jobs.
Use with AI agents (MCP)
This Actor is usable through Apify MCP as a structured Google Trends retrieval tool for comparison, filtering, and downstream reasoning.
Precise tool description: khadinakbar/google-trends-scraper returns normalized Google Trends records with provenance fields such as scraped_at and source_url, so an agent can compare keywords, inspect regional demand, and read trending-search metadata in a machine-friendly format.
Exact Actor identity: khadinakbar/google-trends-scraper
Extract Google Trends data for these keywords in the United States, return interest over time and related queries, and keep the output in flat records with source URLs for each row.
How to interpret the output:
typeidentifies the Google Trends surface that produced the record.valueis a relative interest score from 0 to 100, not an absolute search volume.formatted_valuehelps distinguish top and rising related queries or topics.source_urlprovides provenance and a direct reference back to Google Trends.scraped_atshows when the record was captured.
Scope, pagination, and cost guidance:
- Use
maxResultsto cap the total number of returned records. - Select only the
dataTypesyou need to keep the run focused. - Keep
geo,timeframe, andpropertyaligned with the question being asked. - For comparisons, stay within the 1 to 5 keyword schema bound.
- Each returned record maps to one
Result itemevent.
Apify API example
import { ApifyClient } from 'apify-client';const client = new ApifyClient({token: process.env.APIFY_TOKEN,});const input = {keywords: ['ChatGPT', 'Gemini'],geo: 'US',timeframe: 'today 12-m',property: 'web',dataTypes: ['interest_over_time', 'related_queries'],maxResults: 100,outputFormat: 'flat',};const run = await client.actor('khadinakbar/google-trends-scraper').call(input);const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Best results and outcome guidance
Choose inputs that match the Google Trends question you want to answer.
- Use
interest_over_timefor temporal comparison. - Use
interest_by_regionfor geographic breakdowns. - Use
related_queriesandrelated_topicswhen you want adjacent demand signals. - Use
trending_searcheswhen you want daily trending searches for a country. - Use
webfor general Google Search comparisons, and switch property only when the question is tied to a narrower Google surface. - Keep keyword sets focused when you want cleaner comparisons in the returned dataset.
- Use
customTimeRangewhen a precise date window matters more than the preset timeframe selector.
Design note
I found that the live dataset contract requires only type, scraped_at, and source_url as required fields, which keeps every record filterable by record type while preserving provenance on each item.
FAQ
Can I compare multiple keywords in one run?
Yes. The input schema accepts up to 5 keywords for comparison.
Which Google Trends data types can I request?
You can request interest_over_time, interest_by_region, related_queries, related_topics, and trending_searches.
When should I use trendingSearchesGeo?
Use it when trending_searches is part of dataTypes and you want daily trending searches for a specific country.
How do I get a country-level breakdown?
Select interest_by_region and set geo to the country you want to analyze.
Can this Actor be used in a broader Google workflow?
Yes. A common next step is to connect the returned trend signals to another Google-specific workflow, such as Google Maps reviews, Google Ads, or Google Ads transparency analysis.
Responsible use
Use the output in a way that aligns with Google Trends terms, local regulations, and your own data-handling policies. The Actor returns public trend data and related metadata, so it is suitable for analysis, reporting, and automation workflows where provenance and record-level traceability matter.
Related Actors
- Google Maps Reviews Scraper - Use after this Actor when you want to inspect reactions, reviews, or comments for a returned Google record and the target schema accepts a public ID or URL.
- Google Ads Scraper - Live Search Sponsored Ads - Pair with trend data when the next workflow step focuses on live sponsored search results.
- Google Ads Transparency Scraper - Creatives & Run Dates - Pair with trend data when the next workflow step focuses on ad creatives and run dates.