Google Trends Scraper: Interest Over Time & Rising Queries avatar

Google Trends Scraper: Interest Over Time & Rising Queries

Pricing

from $1.05 / 1,000 charts

Go to Apify Store
Google Trends Scraper: Interest Over Time & Rising Queries

Google Trends Scraper: Interest Over Time & Rising Queries

Google Trends data for any keywords: interest over time, interest by region, related queries (top and rising) and trending now searches by country. Compare up to five keywords; any country, date range, category and search type. Plain HTTP, no browser. Results also as ready-made spreadsheets.

Pricing

from $1.05 / 1,000 charts

Rating

0.0

(0)

Developer

Charitable Trousseau

Charitable Trousseau

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Share

Get Google Trends data for any list of search terms: how interest changed over time, where it is highest, which related searches are top and rising, and what is trending now in a country. No browser is used, so runs are short.

What you can do with it

  • See the seasonality of a product or topic: weekly interest over the past 12 months or 5 years, with peak and latest values.
  • Compare up to five brands or keywords in one chart, scaled against each other.
  • Find rising related queries for a keyword as input for content or product research.
  • Collect the "trending now" searches for a country every day.
  • See where interest is highest: by country, region or state, or US metro area.

What you get

One result is one Google Trends chart: one search term in one location over one time range, or up to five terms compared in the same chart. A "trending now" list for one country is also one result.

Each result holds:

  • Search: searchTerm, terms, geo, timeRange, category, property (web, images, news, youtube or froogle for Google Shopping), trendsUrl (the same chart on Google Trends)
  • Summary for a spreadsheet: averageInterest, peakInterest, peakDate, latestInterest, latestDate, topRelatedQueries and risingRelatedQueries (five each, as text); termSummaries has the same numbers for every term of a comparison
  • Interest over time: interestOverTime_timelineData, one entry per hour, day, week or month with date, value (0 to 100, one number per term) and isPartial for a period still in progress
  • Interest by region: interestBySubregion, with regionLevel saying what it lists: countries (worldwide search), regions or states (country search), or metro areas (US state search)
  • Related queries: relatedQueries_top and relatedQueries_rising, up to 25 each, with Google's value (Breakout or a growth percentage for rising ones). For a comparison, relatedByTerm has the lists for every term
  • Related topics: relatedTopics_top and relatedTopics_rising (see the limits below)
  • Interest by city: interestByCity, only when you choose it in the input
  • Trending now: trendingSearches, each with rank, title, approxTraffic (for example 200K+), startedAt and linked news articles
  • Checks: missingData (lists Google refused for this search), notes, scrapedAt

Ready-made spreadsheets

Every run also writes five CSV files with one value per row, linked from the run's Output tab: interest-over-time.csv (term, location, date, value), interest-by-region.csv, related-queries.csv, related-topics.csv and trending-now.csv. Open them directly in Excel or Google Sheets. They are in the run's key-value store.

Sample (shortened)

{
"resultType": "search",
"searchTerm": "air fryer",
"terms": ["air fryer"],
"geo": "US",
"timeRange": "today 12-m",
"property": "web",
"trendsUrl": "https://trends.google.com/trends/explore?geo=US&q=air+fryer",
"dataPoints": 53,
"averageInterest": 65.7,
"peakInterest": 100,
"peakDate": "2026-04-12T00:00:00.000Z",
"latestInterest": 54,
"latestDate": "2026-09-27T00:00:00.000Z",
"interestOverTime_timelineData": [
{ "time": "1759622400", "date": "2025-10-05T00:00:00.000Z", "formattedTime": "Oct 5 – 11, 2025", "value": [57], "hasData": [true], "formattedValue": ["57"] }
],
"regionLevel": "REGION",
"interestBySubregion": [{ "geoCode": "US-WY", "geoName": "Wyoming", "value": [100], "formattedValue": ["100"], "maxValueIndex": 0, "hasData": [true] }],
"topRelatedQueries": "air fryer chicken; ninja; air fryer ninja; chicken in air fryer; best air fryer",
"relatedQueries_top": [{ "query": "air fryer chicken", "value": 100, "formattedValue": "100", "link": "/trends/explore?q=air+fryer+chicken&date=today+12-m&geo=US" }],
"relatedQueries_rising": [{ "query": "ninja crispi pro air fryer", "value": 8050, "formattedValue": "Breakout", "link": "/trends/explore?q=ninja+crispi+pro+air+fryer&date=today+12-m&geo=US" }],
"relatedTopics_top": [],
"relatedTopics_rising": [],
"missingData": [],
"notes": null,
"scrapedAt": "2026-10-08T18:04:16.418Z"
}

Input

  • Search terms — one per line. Each term gives one result per location. If you give no search term, Google Trends URL or "Trending now" country (for example an API call with an empty input), the example search air fryer runs, in the United States unless you set a location.
  • Compare terms written on one line — when on, tea, coffee, matcha becomes one chart with up to five terms scaled against each other, as on Google Trends.
  • Location — country codes such as US, GB, DE, or region codes such as US-CA; several separated by commas. Empty means worldwide.
  • Time range — past hour, 4 hours, day, 7 days, 30 days, 90 days, 12 months (default), 5 years, or 2004 to present.
  • Custom dates — 2024-01-01 2024-06-30. Overrides the time range.
  • Category and Search type (web, images, news, YouTube, Google Shopping).
  • Data to collect — leave empty for interest over time, interest by region, related queries and related topics. City lists must be chosen here.
  • Trending now: countries — for example US, GB. Works on its own or together with search terms.
  • Google Trends URLs — paste the address of any chart on trends.google.com/trends/explore. This also allows a different location or date range per compared term.
  • Maximum results, Searches at the same time.
{
"searchTerms": ["air fryer", "heat pump"],
"geo": "US, GB",
"timeRange": "today 5-y"
}
{
"searchTerms": ["tea, coffee, matcha"],
"isMultiple": true,
"geo": "US",
"customTimeRange": "2024-01-01 2024-12-31",
"trendingNowCountries": "US, GB"
}

The inputs searchTerms, isMultiple, timeRange, customTimeRange, geo, category, startUrls, maxItems and maxConcurrency mean the same here, and the output fields listed above carry the same names, so existing integrations keep working. Differences: geo accepts several codes and region codes; property, outputs and trendingNowCountries are new; viewedFrom, spreadsheetId and the browser settings are ignored; a term without data is not saved (and not charged) instead of being returned empty; places without data are left out of the region and city lists; interestByCity is only fetched when chosen.

FAQ

pytrends not working: what is an alternative?

This scraper returns the kinds of data pytrends is used for: interest over time, interest by region, related queries (top and rising) and trending searches. It runs on Apify, so you do not manage proxies or a browser yourself. It is not a drop-in replacement: you start it through the Apify API (there is a Python client) and read results as JSON or CSV, the field names are the ones listed above, and it is paid per chart.

Yes, in the sense that you can call it like one. Start a run through the Apify API or one of Apify's clients with the input described here, then read the results as JSON, CSV or Excel. One result is one Google Trends chart. No Google account is used.

They are in relatedQueries_rising (up to 25, with Breakout or a growth percentage) and, as text, in risingRelatedQueries. Google sometimes refuses this list for a search while answering the rest: in our tests for 18 of 338 searches (5%). The result is then saved with the list empty and named in missingData; running the search again later usually returns it.

Google Trends works from a sample of searches and does not give every visitor the same one, so the same chart fetched twice can differ slightly. In our checks a US chart matched a real browser's numbers on all 52 weeks, while two charts with less search volume differed on most weeks by an average of 4 to 5 points. See "Limits to know about".

Can I compare more than five keywords?

Not in one chart: Google Trends allows up to five terms per comparison. Separate searches are each scaled to their own peak and cannot be compared with each other.

How much does it cost?

$1.50 per 1,000 charts on Apify's Free plan, plus a start fee of $0.01 per run. Paid Apify plans pay less: Bronze 10%, Silver 20% and Gold 30% less. Runs that fail or return nothing cost nothing. A search without data is not charged.

Limits to know about

  • Google Trends numbers are samples, and they vary. Google works from a sample of searches and does not give every visitor the same one. Fetching the same chart twice can give slightly different values and different related queries. In our checks against the numbers a real browser received for the same charts: a US chart matched on all 52 weeks, a five-term US comparison matched on all 1,305 values, a worldwide chart since 2004 matched on 200 of 273 months (largest gap 3 points), and two charts with less search volume (a term in Japan, an English term in Germany) differed on most weeks by an average of 4 to 5 points. Treat small differences as noise, on the website as much as here.
  • Related topics came back empty for every search in our tests (338 searches), including in a real browser. The fields are there and fill up if Google returns topics again.
  • Google sometimes refuses one list for a search while answering the rest; most often related queries. In our tests this happened for 18 of 338 searches (5%). The search is then saved with that list empty and named in missingData. Running the search again later usually returns it.
  • Rising queries can include unrelated searches (for example laptop stand under air fryer). They are in Google's own data; we saw the same entries on the website.
  • A term with too little search volume is not saved and not charged. The run's status message and the SUMMARY record in the key-value store list those terms. A term with a trace of volume can come back with a single non-zero week; check averageInterest before reading much into it.
  • City lists are sparse and often refused. For a whole country over 12 months Google returned between 0 and 22 cities with data in our tests, and refused the list for several searches (they then show interestByCity in missingData). That is why cities are not collected unless you choose them.
  • Trending now is Google's public feed: about 10 searches per country with approximate traffic, not the full list on the Trending page.
  • Up to five terms per comparison, as on Google Trends. Values in a comparison are scaled to the highest point of all its terms; separate searches are each scaled to their own peak and cannot be compared with each other.
  • Topic and place names are in English. Dates are in UTC.
  • No Google account is used, so nothing tied to a signed-in user is available.

Speed and coverage we measured

From our own runs on 8 October 2026 with the default settings (17 runs, 344 searches, 9 countries plus worldwide, all 9 preset time ranges and a custom one):

  • All 17 runs finished. Of the 344 searches, 343 results were saved and 1 was correctly reported as having no data.
  • 1 term: 29 to 56 seconds, most of it spent finding a connection Google accepts. 40 terms: 32 seconds. 36 results (12 terms in 3 countries): 63 seconds. 200 terms: 4 minutes 26 seconds, all 200 saved in input order.
  • Two failed on purpose: a made-up country code and an empty term list. Both stopped with a message saying what to fix. (Since 15 October 2026 an input with nothing to search runs the example search instead.)

Pricing

You pay per result saved. A search without data, a rejected search or a failed run costs nothing.

Reliability

Google refuses many automated connections to Trends, and it does not answer all the others alike: some get the timeline but no lists, some get different numbers. The scraper therefore tests every connection against a reference chart of a finished year, uses only connections whose answers are complete and identical to another connection's, and tests them again after every few searches; results fetched between two passed tests are the only ones saved. It starts on Apify's datacenter addresses and moves to residential addresses by itself when Google refuses the datacenter ones. Results are saved in input order. If a search still cannot be completed, the run fails with a message that names it and says how many results were saved, instead of passing off partial data as complete.

Notes

This scraper collects aggregated search-interest data only. It does not log in and does not collect personal data. Trending searches and their news headlines are returned as Google publishes them.