Google Trends Scraper — Interest, Regions & Queries avatar

Google Trends Scraper — Interest, Regions & Queries

Pricing

from $5.00 / 1,000 result items

Go to Apify Store
Google Trends Scraper — Interest, Regions & Queries

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

Khadin Akbar

Maintained by Community

Actor stats

3

Bookmarked

158

Total users

55

Monthly active users

a day ago

Last modified

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:

  1. Start with a keyword set in Google Trends Scraper. a bounded number of Review returned interest, region, query, topic, or trending-search records.
  2. Use source_url to verify the Google Trends page behind each record.
  3. Send the resulting signals into a content plan, market scan, or another Google-focused Actor.

Contextual related workflows:

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

FieldTypeDefaultPurpose
keywordsarray["ChatGPT"]1 to 5 search terms to compare on Google Trends. Required for interest_over_time, interest_by_region, related_queries, and related_topics.
geostringUSISO 3166-1 alpha-2 country code for the trend query. Use an empty string for worldwide.
timeframestringtoday 12-mPreset range such as past month, past 3 months, past 12 months, 5 years, or all time.
propertystringwebGoogle property to analyze: web, news, images, youtube, or froogle.
categoryinteger0Google Trends category ID. Use 0 for all categories.
dataTypesarray["interest_over_time","related_queries"]One or more data types to fetch in one run.
trendingSearchesGeostringUSCountry code for daily trending searches when trending_searches is selected.
maxResultsinteger500Maximum total number of records returned across all selected data types.
customTimeRangestringemptyCustom date range in YYYY-MM-DD YYYY-MM-DD format.
outputFormatstringflatflat 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.

FieldTypePresent InDescription
typestringall recordsRecord type: interest_over_time, interest_by_region, related_query, related_topic, or trending_search.
keywordstringkeyword-based recordsKeyword tied to the record.
geostringall recordsGeography used for the query, or worldwide.
timeframestringkeyword-based recordsTime range used for the query.
datestringtime-based and trending-search recordsHuman-readable date label.
periodstringinterest_over_timeAxis period label from Google Trends.
valuenumberinterest and related recordsRelative interest score from 0 to 100.
is_partialbooleaninterest_over_timeIndicates whether the period is partial.
geo_codestringinterest_by_regionRegion code such as a country or subdivision code.
geo_namestringinterest_by_regionRegion name.
parent_geostringinterest_by_regionParent geography used for the region query.
related_querystringrelated_queryThe related search term.
formatted_valuestringrelated_query, related_topicDisplay value such as Breakout or +950%.
is_risingbooleanrelated_query, related_topicRising indicator for query or topic.
topic_titlestringrelated_topicRelated topic title.
topic_typestringrelated_topicRelated topic type.
topic_midstringrelated_topicGoogle Knowledge Graph MID.
titlestringtrending_searchTrending search title.
trafficstringtrending_searchEstimated traffic formatted as a string.
traffic_valuenumbertrending_searchNumeric traffic estimate.
related_queriesarraytrending_searchList of related search strings.
articlesarraytrending_searchRelated news articles.
image_urlstringtrending_searchRepresentative image URL.
scraped_atstringall recordsExtraction timestamp.
source_urlstringall recordsGoogle 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:

  • type identifies the Google Trends surface that produced the record.
  • value is a relative interest score from 0 to 100, not an absolute search volume.
  • formatted_value helps distinguish top and rising related queries or topics.
  • source_url provides provenance and a direct reference back to Google Trends.
  • scraped_at shows when the record was captured.

Scope, pagination, and cost guidance:

  • Use maxResults to cap the total number of returned records.
  • Select only the dataTypes you need to keep the run focused.
  • Keep geo, timeframe, and property aligned with the question being asked.
  • For comparisons, stay within the 1 to 5 keyword schema bound.
  • Each returned record maps to one Result item event.

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_time for temporal comparison.
  • Use interest_by_region for geographic breakdowns.
  • Use related_queries and related_topics when you want adjacent demand signals.
  • Use trending_searches when you want daily trending searches for a country.
  • Use web for 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 customTimeRange when 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.

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.