Google Trends Scraper avatar

Google Trends Scraper

Pricing

from $5.53 / 1,000 term reports

Go to Apify Store
Google Trends Scraper

Google Trends Scraper

Google Trends data per search term: interest over time, by region, metro, or city, and top and rising related queries. Compare up to 5 terms, any geo, category, or property (web, news, images, YouTube, shopping). One summary row per term plus flat rows, ready for Clay or CSV.

Pricing

from $5.53 / 1,000 term reports

Rating

0.0

(0)

Developer

Mamba Labs

Mamba Labs

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 hours ago

Last modified

Categories

Security

Limited permissions

Share

Give search terms and get Google Trends data back as flat rows: one summary row per term, then a row per time point, region, and related query. Set the geo, timeframe, category, and search property, or compare up to 5 terms on one chart. Mamba Labs pays the platform and proxy costs; you pay per term that returns data.

Features

  • One summary row per term. term_report holds the average, latest, and peak interest, the peak date, the recent change, the top region, and the top and rising queries, so a Clay column or a CSV has one row per term to work from.
  • Flat detail rows. trend_point, region, and related rows share one fixed layout, so nothing is nested and no column disappears between row types. Filter on row_type.
  • Compare up to 5 terms on one scale. With compare on, terms chart together in groups of 5, the way the Trends page does it.
  • Regions, metro areas, and cities. Countries worldwide, regions inside a country, and US metro areas or cities when you ask for them.
  • Web, news, images, YouTube, and shopping search.
  • Each row says what its number means. value_meaning separates relative interest from a share between compared terms and from a rising percent. is_partial marks a period still running.
  • One price per term, like the Store leaders. Not one price per data point, so a 53 point chart does not cost 53 times as much.
  • You pay for data only. A term with no data, and a term Google refused after every retry, is one free row that says so.
  • Cost guards. A maximum charge per run, and the actor stops 90 seconds before the run's timeout and delivers what it has.

How the data is read

The actor calls the same JSON endpoints the Google Trends page calls, through the Apify proxy, with no browser. No Google account, no login, no key, and no other developer's actor. A refused request retries on a new address with a new session, then on residential addresses, with a limit on every wait, so a run does not hang on Google.

Input

FieldTypeDefaultWhat it does
termsarraySearch terms, up to 200 per run. A Google topic ID such as /m/0j6n6s8 also works.
geostring``Empty for worldwide, or a Google geo code such as US, DE, or US-CA.
timeframestringtoday 12-mnow 1-H, now 4-H, now 1-d, now 7-d, today 1-m, today 3-m, today 12-m, today 5-y, all, or two dates as YYYY-MM-DD YYYY-MM-DD.
categorystring0Google Trends category number. 0 is all categories. The number is in the cat= part of a Trends URL.
propertystringwebWhich Google search to read: web, news, images, youtube, or shopping.
comparestringfalsetrue: terms are charted together in groups of 5, on one shared scale. false: each term gets its own chart. Each term is charged either way.
outputsarrayAny of interest_over_time, interest_by_region, related_queries, related_topics. Default is the first three. See Limitations for related_topics.
region_resolutionstringautoauto: countries worldwide, regions inside a country. DMA is US metro areas. CITY needs a geo. COUNTRY needs an empty geo.
max_charge_usdstringOptional. The run stops before a charge that would pass this amount. Summary rows are always returned.
proxy_modestringautoauto (default): requests go through the Apify proxy pool, and a request the pool cannot get through is retried on residential addresses. residential: every request uses residential addresses. A reliability setting only; it does not change what you pay.

Give at least one term. compare and the other text fields take the values shown as text, which is what Clay sends.

Output

FieldTypeWhat it holds
row_typestringOne of: term_report, trend_point, region, related, extra_rows_receipt, run_summary. run_summary is the one free row written when the input is refused.
termstringThe search term this row belongs to.
compared_witharrayIn compare mode, the other terms on the same chart. Values on these rows are on one shared scale.
geostringThe geo code you set. Empty means worldwide.
timeframestringThe timeframe you set.
categoryintegerThe Google Trends category number. 0 is all categories.
propertystringweb, news, images, youtube, or shopping.
explore_urlstringThe same chart on trends.google.com.
average_interestintegerterm_report: average of the points, 0 to 100 on the chart scale.
latest_interestintegerterm_report: value of the last complete period.
peak_interestintegerterm_report: highest value on the chart.
peak_datestringterm_report: start of the period with the highest value.
recent_change_pctnumberterm_report: average of the last 4 complete periods against the 4 before, or fewer on a short chart.
points_returnedintegerterm_report: time points on the chart.
regions_returnedintegerterm_report: regions with data.
top_regionstringterm_report: region with the highest value.
related_queries_returnedintegerterm_report: top and rising queries returned.
top_related_querystringterm_report: the first query on the top list.
top_rising_querystringterm_report: the first query on the rising list.
related_topics_returnedintegerterm_report: top and rising topics returned. See Limitations.
datestringtrend_point: start of the period, UTC.
date_labelstringtrend_point: the period as Google labels it.
is_partialbooleantrend_point: true when the period is still running, so the value can change.
region_codestringregion: Google code for the region, such as US-WY or SG. Empty on city rows.
region_namestringregion: name of the region, metro area, or city.
latitudenumberregion: city rows only.
longitudenumberregion: city rows only.
related_kindstringrelated: query or topic.
related_liststringrelated: top (most searched) or rising (biggest increase).
related_termstringrelated: the query or topic title.
topic_idstringrelated: Google topic ID on a topic row. You can use it as a search term.
topic_typestringrelated: Google topic type on a topic row.
related_urlstringrelated: this query or topic on trends.google.com.
valueintegertrend_point, region, related: the number Google gives. value_meaning says what it measures. Empty when Google has no data for the point.
formatted_valuestringThe number as Google shows it: <1 means under 1, and Breakout means a rise too large for Google to state as a percent.
value_meaningstringWhat value measures. Values are relative to this chart: they are not search counts.
row_statusstringok, or why this row carries no data: no_results, no_change, partial, blocked, or error.
error_reasonstringWhy the row is not ok. A refused input reads input_invalid: followed by what to fix.
billable_events_jsonstringWhat this row was billed as, for example {"term-report":1}. {} means free.
scraped_atstringWhen the row was written, UTC.

Reading the numbers

Google Trends values are relative, not search counts. On an interest chart, 100 is the peak of that chart, and values from two separate charts are not comparable: to compare terms, use compare. <1 in formatted_value means under 1, and value is then 0. A point with no data has an empty value. On a related row in the rising list, value is a percent increase, and Breakout means a rise too large for Google to state. On a region row in compare mode, value is that term's share among the compared terms in that region.

Google samples its data, so two runs of the same chart can differ by a few points.

Pricing

Pay per event. You pay for each term that returns data and for the run start. A term's price includes its summary row and up to 170 detail rows, which covers a 12 month chart with regions and related queries. A longer chart, such as 5 years, or city level regions, adds one extra-rows event per further 100 rows, each shown as a free extra_rows_receipt row. To avoid it, ask for fewer outputs. Summary rows for a term with no data, a term Google refused, a term with a refused part, and a refused input are free.

EventFree planBronzeSilverGold
term-report, one search term with data, summary row plus up to 170 detail rows$0.0065$0.006175$0.00585$0.005525
extra-rows, each further 100 detail rows on one term past the first 170$0.0035$0.003325$0.00315$0.002975
apify-actor-start, once per run (one per GB of memory; the default 256 MB is one)$0.002$0.002$0.002$0.002

Per 1,000 rows of term-report: $6.50 on the free plan, $5.52 on Gold.

Free plan cap: 1.50 USD of evaluation a month, about 231 rows. Any paid Apify plan removes the cap, and it resets on the 1st. The run stops before a charge that passes your maximum charge per run in Apify or your max_charge_usd input.

Mamba Labs pays the platform costs of your run, Apify proxy traffic included.

Usage examples

Apify Console or API.

{
"terms": ["coffee", "matcha"],
"geo": "US",
"timeframe": "today 12-m",
"outputs": ["interest_over_time", "related_queries"]
}

Compare terms by US metro area.

{
"terms": ["coffee", "tea"],
"geo": "US",
"compare": "true",
"region_resolution": "DMA"
}

Read the rows with GET https://api.apify.com/v2/datasets/{datasetId}/items.

Clay. Number and on or off inputs are text fields, which is what Clay sends. A list input takes a JSON list, so put the column inside a one item list. Use the term_report row for one row per term.

MCP. The Mamba Labs MCP server @mambalabsdev/mcp-google-trends-scraper exposes this actor to Claude and other MCP clients.

Error handling

CaseWhat you get
Missing or unreadable inputOne free row, row_type run_summary, error_reason starting input_invalid: with what to fix. The run ends successfully and charges nothing but the run start
No data for a termOne free term_report row, row_status no_results
Google refuses every attempt for a termOne free term_report row, row_status blocked. Run that term again
One part of a term is refused, for example its regionsA free term_report row, row_status partial, with the parts that were read
Google rejects the settingsOne free term_report row, row_status error
The run is close to its timeoutThe actor stops starting new work 90 seconds before the timeout and delivers what it has

Limitations

  • Related topics: Google answers an empty list to automated clients, on every address tested when this actor was built. related_topics stays available, costs nothing extra, and the row says when none came back. Related queries are not affected.
  • Google offers related topics per term only outside compare mode.
  • Values are relative and sampled, as described above. They are not search volumes.
  • Trending Searches, the daily list of what is trending, is not read by this actor. It reads terms you give.
  • A metro level (DMA) outside the US returns no region rows: the term is still delivered with its other rows, and regions_returned is 0.
  • A very rare term can return a chart with a single point. That is Google's data, and the term is charged as a term with data.
  • Interest by city and metro is what Google returns for the chart: often about 200 rows, many without data, which are left out.

Mamba Labs actor suite

ActorActor ID
Account Hiring WatchgRAZA5WBi1r6L0gy7
Agent Accessibility AuditoranxbRv0lKrpQ1pnua
Agent to Brokerage ResolverePRRGLxOGyaVHO4dI
AI Answer Visibility TrackerRJZvzKniYK4nswcMg
AI Tooling DetectorEwkHhmqiuJgRoVEbE
API Deprecation and Breaking Change MonitorpHsbS3xXUK8Jqutz5
App Store and Google Play Review MonitorMaCMEhGrbchxQZ92G
B2B Reddit Conversation MonitorSoDryzzsjmY3SsiyG
Bluesky Brand Presence MappereLpxzP4IuXznlFVND
Brand Sponsor FinderPPgK6xrgOmvL7Nrys
Bulk WHOIS and RDAP Domain Age LookupMTrkG5FLU6SjqLdJY
Career Change Signal EnginevX2Yga1a6wGaXaP14
Company Careers Page Jobs, 17 ATS BoardsizP0rfIgf5YaRZfIh
Company Change Event FeedoX44rS0fkEJ3rXLWe
Company Discovery List Builderjch0HdaZnpbMqlcGS
Company Firmographic EnricherYlUtLWjfPpqykmB8g
Company Funding RecordOFS4Mt1gyYNtGfUbE
Company Headcount EstimatoraHC4GROnNt6kfZe5r
Company Identity Resolverlr8fTRAmZCBZmuwwh
Company Role Email, Phone and Address Finder4mMncKaJykiq94grz
Company Social Presence Mapper4k6CCemkgBDz18m2h
Competitor Price, Stock, and Changelog MonitoryxdgCbUQ4PYQWwRNU
Contact Classifier0lGSeYJmniXhGANnO
Contractor License Search, CA, TX, WA, OR, LAWBYK3CPI2kdeq4bP1
CRM Contact Job Change CheckerL8UbEmMJC1XYPSZOb
Domain Deliverability Checker0tVgxI7A6o9jMlxmc
Domain to LinkedIn URL Resolver3HtnSaqPHOg1Qg5gx
Ecommerce Platform Profiler5G2NeYjBbQTjaTn9L
Ecommerce Store DiscoveryPeHu4sLyFvQHXUUrX
Email List Verifier, Bring Your Own KeyCzVJ4NlaCKk80xpgE
Event Presence IndexWLhMy8fMDgsxdYxv5
Expert Witness Finder, US and AustraliaLIpwlgfE3LaQBaXd4
Funding and Press Signal ScannerFS13X6dhQVgX3XOM6
GDPR Cookie Banner and Consent CheckerTrKyOS0KBoGC35nbr
GitHub Organization Signal ScannerahF8RRpv5mzPao5CN
Google Ads Transparency Center Scraper by Domain1eOwxhBVxzvOXAm4s
GTM Hiring Signal ScraperD7O1SA2EqwHGsGr1P
GTM Signals AggregatorxKdRfnfFNkdMpFuNs
ICP Fit ScorerW161DT8W4kW55dMFh
Influencer Change Monitord2VVgahNL6UmcLkhg
Influencer Lead List BuilderKnmByszcv135yM30G
Influencer Profile ScraperEqEnklDVMIcB1V499
Influencer Search Across TikTok, Instagram and YouTubetpkedmloIIWtXx6sg
Influencer Talent Agency LookupzCuX4Mgyg6JvXgGzd
Instagram Facebook Brand Presence MapperHXh65I0JBjPsunbY8
Integration and Marketplace Presence MapperV0guNuvM85Q61f2gj
Job Board Keyword Signal Scanner4DvqpvhMR74NLcDDY
Job Posting MonitorQCfICD9kOPiOdj5iI
Journalist and Media List BuildermAfizsZC8qRoR0ecS
Launch Directory List BuildercRq3bmvEZxZtioQ7U
Lead File Import CheckerRwlGVXTf46LqZdUgt
Legal Entity ResolverKHFyPCDIx7CyqULYm
Link in Bio Scraper and Newsletter DetectorOorucdheTIgu7RFzK
LinkedIn Company Page MapperzOPm6A9JEhUGcIdFW
LinkedIn Jobs FeedSH6N0d8cz46BhCC8B
LinkedIn Post TrackeroiGLNPuaf5BRaz9K5
Local Business Lead BuilderqMN97aoHhsAS5bznV
Local Rank and Map Pack Trackergv0kyHGDIg8XscclB
Lookalike Companies from Seed Domainse2O426WBAbLLQL4Z2
Manufacturer and Supplier FinderQcsdmd0lUfPzVkonh
Meta Ad Library Ads by Company, Graph APIJ1GWlSXfSGU3u8Wng
Mobile Phone Waterfall6OOgPktf7RIa5XCOP
New Hire FindercKuc38p4nYHNF3IW8
Newly Registered Companies, UK, Norway, Finland, Franceg2WfZhWvCtc57g2Jo
News and Media Mention Monitorgol1PPUKrsIk4QLBd
Newsletter Sponsor TrackerqSwpqxD1TiPZpLQHv
Open Tender and RFP FinderkPTGz6t6TFoUUyfaO
Outbound Stack Detectorv43UJC8r7qW7cBSTG
Page Finder and ExtractorTpurgcOZbVnknlaiC
Partner and Member Directory ExtractorZX0XJPPUvnFJxeC1a
People Finder & Email VerifierLEgloG7tWgQl4o6TD
Person LinkedIn URL ResolverssuyPV8LnEsL8qbnb
Person Social Footprint MapperjfQXa2zW9FHCJot9K
Personal Email to Company ResolverAefT5Ye6YNPFQwJBf
Pinterest Brand Presence Mapperd1HvjZfKhgvWsoEwn
Podcast Guest and Host Findero2MGSvgbSLeeXOsIo
Product Hunt Daily Launches with Maker DomainsO4VX63drWK9Y9x641
Prospect Engineq9rT6v64nUJdPexOQ
Public Feature Board and Roadmap MonitorrcHF5gj5r2Vqnry35
Publishing Frequency TrackerTbLwaUUATdYb6wp4N
Recent Funding Rounds FeedKueVp9MOz7iOoAgDp
Reddit Brand Presence MapperpKQZmDaT70SEb54bZ
Reddit Search and Thread Scraper4Gsth5cP2Xt9V2xDN
Reporting Window FinderuINxR7a1IW8qUTRUX
Sequencer Event PollerS6s8Rjd61tGdrMRk4
Sequencer Lead Push0Jv27VeWM5tSZQs9x
Shopify App Store and Chrome Web Store ListingsgaY0BzkLyN77mD3wI
Substack Newsletter and Posts ScraperUEFsdwiPLmPNVy9xd
Team Page People Extractorj8a9zX0k4mNbvDbWK
Tech Stack Signal Detectorqyd7nNyqFPelQViBx
Threads Posts by Keyword, Exact Match2OT8K8RiEEWtaj2MW
TikTok Brand Presence Mapperfco8FvoJcSafbeyd1
Trustpilot Reputation Enricher3lIqfCt61j4hqE1xz
US and UK Contract Award Winners by CompanyzhEtllASykOcx9hJ8
VC and Accelerator Portfolio List BuilderchH8hrfuoqqolW06m
Website Accessibility Checker, WCAG 2.2 AAP3jBj3FRghKEhX52z
Website Phrase and Business Model ClassifierCBuZ9k7sRwBeiKiCS
Website Traffic Rank EstimatorGnOFUzlNVIoXgeJjH
Work Email WaterfallOT6xqTFThC0Rjf7Zj
Workplace Program DetectorLi6pPDhqbdzFz3h7G
X Brand Presence MapperoLOgadhHUkNAyDA3w
YouTube Channel from Company Domain6hSpD3kd2s2IQ4VSs

Built by Mamba Labs.