Google Trends Scraper avatar

Google Trends Scraper

Pricing

from $0.50 / 1,000 results

Go to Apify Store
Google Trends Scraper

Google Trends Scraper

✅ 99%+ success rate: the reliable Google Trends API alternative. Get 🔥 daily trending searches by country and analyze Google Trends keyword search trends. Built for developers and data scientists who need programmatic Google Trends data without limitations.

Pricing

from $0.50 / 1,000 results

Rating

4.9

(4)

Developer

Data Xplorer

Data Xplorer

Maintained by Community

Actor stats

76

Bookmarked

6.9K

Total users

911

Monthly active users

2 days ago

Last modified

Security

Limited permissions

Share

Google Trends Scraper - Trending Searches & Keyword Trends, Fast & Reliable

Scrape Google Trends at scale without getting blocked. This Google Trends Scraper turns Google Trends into a clean, structured API: pull real-time trending searches for 125 countries, or analyze keyword interest over time and interest by region for any search term. Export ready-to-use JSON, CSV, or Excel for SEO research, market research, and content ideation, with no proxies to manage, no CAPTCHAs, and no headaches.

💡 Want a new Google Trends data feature? Open an issue and we ship fast.

  • 🔥 Real-time trending searches: discover what's trending right now across 125 countries
  • 📊 Keyword trend analysis: interest-over-time data for any keyword, from the past hour to 2004
  • 🌍 Regional / geo insights: see how a keyword performs region-by-region inside a country, or country-by-country worldwide
  • 🎯 Category filtering: narrow trending searches to 19 categories (Sports, Technology, Entertainment, Health, Business, and more)
  • ⏱️ Flexible timeframes: 4h, 24h, 48h, or 7 days for trending; minute, day, week, and month granularity for keywords
  • 📈 Search volume & related queries: each trend comes with an estimated volume and related search terms
  • 🛡️ Anti-blocking built in: smart proxy rotation, IP diversity, and browser fingerprinting for reliable, uninterrupted scraping
  • SEO & content marketing: find rising keywords and trending topics before your competitors
  • Market & competitive research: track demand for brands, products, and industries over time
  • Social media & newsrooms: surface breaking trends for timely posts and articles
  • E-commerce & retail: spot seasonal spikes and regional demand for products
  • Finance & trading: monitor attention around tickers, tokens, and macro topics
  • AI agents & automation: feed live trend data into LLM workflows and dashboards

💎 Why Choose This Scraper?

  • ✅ Two modes in one Actor: trending searches and keyword analysis
  • ✅ 125-country coverage for trending searches (one of the widest available)
  • ✅ Fast & lightweight: optimized requests with fail-fast retries and IP rotation
  • ✅ Clean, structured output: predictable JSON, exportable to CSV / Excel / API
  • ✅ API-first & backward compatible: stable inputs your existing integrations can rely on

🔗 Integrations

Connect this scraper to your favorite tools and automate your Google Trends monitoring:

📋 Quick Start

Choosing a Mode

This scraper runs in one of two modes, selected with the mode parameter:

  • keyword : 🔍 Keyword Analysis, interest over time (and optional regional breakdown) for a search term.
  • trending : 📈 Trending Searches, top trending searches for a country over a time window.

♻️ Backward compatibility: the legacy enableTrendingSearches boolean is still fully supported for existing API integrations. If sent, it takes priority over mode (true for trending, false for keyword). New integrations should use mode.

Input Parameters

ParameterTypeDefaultDescription
modestringtrendingWhich mode to run: keyword (Keyword Analysis) or trending (Trending Searches)
keywordstringbitcoinThe search term to analyze (used in keyword mode)
predefinedTimeframestringtoday 12-mTime period for keyword analysis
geostring""Country code (e.g., US, FR, GB). Leave empty for worldwide data
fetchRegionalDatabooleanfalseEnable to retrieve interest by region (country selected) or by country (worldwide) alongside timeline data
trendingSearchesCountrystringUSCountry for trending searches (used in trending mode)
trendingSearchesTimeframestring24Trending time period: 4 (Past 4 hours), 24 (Past 24 hours), 48 (Past 48 hours), or 168 (Past 7 days)
trendingSearchesCategoriesarray[]Filter trending searches by categories (optional)
trendingSearchesMaxItemsinteger50Maximum number of trending search results to return (1 to 1000). Leave empty for default (50)
proxyConfigurationobject{ "useApifyProxy": true }Proxy settings for the scraper
enableTrendingSearchesbooleannone⚠️ Legacy (API only). Kept for backward compatibility. If provided, overrides mode (true for trending, false for keyword)
Time Period
Last 4 hours
Last 24 hours
Last 48 hours
Last 7 days

Time Periods Available for Keywords

ValueDescriptionGranularity
now 1-hPast hourMinute
now 4-hPast 4 hoursMinute
now 1-dPast dayDay
now 7-dPast 7 daysDay
today 1-mPast 30 daysDay
today 3-mPast 90 daysDay
today 12-mPast 12 months (default)Week
today 5-yPast 5 yearsWeek
all2004 - presentMonth

Input Example (Keyword Analysis)

{
"mode": "keyword",
"keyword": "bitcoin",
"predefinedTimeframe": "today 12-m",
"geo": "US",
"fetchRegionalData": false,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}
{
"mode": "trending",
"trendingSearchesTimeframe": "24",
"trendingSearchesCountry": "US",
"trendingSearchesCategories": ["17", "18"],
"trendingSearchesMaxItems": 100,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

Input Example (Legacy, still supported via API)

{
"enableTrendingSearches": true,
"trendingSearchesCountry": "US",
"trendingSearchesTimeframe": "24",
"proxyConfiguration": {
"useApifyProxy": true
}
}

Output Example (Keyword Analysis)

{
"keyword": "bitcoin",
"timeframe": "today 12-m",
"geo": "US",
"language": "en-US",
"trends_url": "https://trends.google.com/trends/explore?geo=US&q=bitcoin&hl=en-US",
"timeline_data": {
"bitcoin": {
"2025-10-05": 39,
"2025-10-12": 42,
"2025-10-19": 32,
"2025-10-26": 32,
"2025-11-02": 41
},
"isPartial": {
"2025-10-05": false,
"2025-10-12": false,
"2025-10-19": false,
"2025-10-26": false,
"2025-11-02": false
}
},
"region_data": [
{
"rank": 1,
"region": "Wyoming",
"value": 100
},
{
"rank": 2,
"region": "Kansas",
"value": 47
},
{
"rank": 3,
"region": "Nevada",
"value": 47
}
],
"data_granularity": "week"
}
{
"geo": "US",
"language": "en-US",
"trending_searches": [
{
"rank": 1,
"term": "eagles vs jaguars",
"trend_volume": "1M+",
"trend_volume_formatted": 1000000,
"related_terms": [
"eagles vs jaguars",
"eagles",
"eagles vs jaguars where to watch"
]
},
{
"rank": 2,
"term": "raiders vs patriots",
"trend_volume": "100K+",
"trend_volume_formatted": 100000,
"related_terms": [
"raiders vs patriots",
"ashton jeanty",
"jeanty"
]
}
],
"trends_url": "https://trends.google.com/trending?geo=US&hl=en-US&hours=24",
"timeframe_hours": "24",
"max_items": 50,
"timestamp": "2026-10-11 17:17:59"
}

How to Read the Numbers

  • timeline_data: one value per date, on Google's 0 to 100 scale. 100 is the moment the keyword was most popular in the period you chose, and 50 means half that interest. The values are relative, not a number of searches.
  • isPartial: true for a period that is not finished yet (for example the current week), so its value can still change.
  • region_data: regions ranked by interest, also on a 0 to 100 scale, where 100 is the region with the highest share of searches.
  • trend_volume and trend_volume_formatted: the approximate number of searches Google shows for a trending search, as text (1M+) and as a number (1000000).
  • related_terms: the other searches Google groups with a trending search.
  • data_granularity: minute, day, week or month, depending on the time period.

💡 Pro Tips

  • Set mode to keyword for interest-over-time analysis, or trending for a country's trending searches
  • Leave geo empty for worldwide keyword analysis
  • Regional data lists the regions of the selected country, or the countries of the world when no country is selected
  • Match your timeframe to the granularity you need:
    • Minute-by-minute: hourly periods (now 1-h, now 4-h)
    • Daily: periods up to 3 months (now 1-d to today 3-m)
    • Weekly: 12-month or 5-year periods (today 12-m, today 5-y)
    • Monthly: all-time period (all)
  • Use the RESIDENTIAL proxy group for the best reliability with Google Trends
  • Trending searches now cover 125 countries
  • In trending mode, keyword options are ignored (and vice-versa)
  • Trending searches return 50 results by default, raise trendingSearchesMaxItems up to 1000 for more

You pay for each run and for each result. One run returns one result: a single record that holds the whole answer (up to 1,000 trending searches, or the full timeline and regions of a keyword).

Apify planRun startResultTotal per run
Free$0.025$0.002$0.027
Bronze$0.025$0.001$0.026
Silver$0.025$0.00075$0.02575
Gold$0.025$0.0005$0.0255

So 100 keyword checks, or 100 countries of trending searches, cost about $2.70 on the Free plan. Apify's free plan includes monthly credits, enough to try the Actor on many keywords and countries. The current prices are always on the Pricing tab.

Google does not offer a public Google Trends API for general use. This Actor works as a Google Trends API alternative: send a keyword or a country in one request, and get trending searches, interest over time and interest by region back as JSON.

Call it with the Apify API from any language.

Python:

from apify_client import ApifyClient
client = ApifyClient("<YOUR_API_TOKEN>")
run = client.actor("data_xplorer/google-trends-fast-scraper").call(run_input={
"mode": "keyword",
"keyword": "bitcoin",
"predefinedTimeframe": "today 12-m",
"geo": "US",
})
item = next(client.dataset(run["defaultDatasetId"]).iterate_items())
for date, value in item["timeline_data"]["bitcoin"].items():
print(date, value)

Node.js:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<YOUR_API_TOKEN>' });
const run = await client.actor('data_xplorer/google-trends-fast-scraper').call({
mode: 'trending',
trendingSearchesCountry: 'US',
trendingSearchesTimeframe: '24',
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items[0].trending_searches.slice(0, 10));

cURL (one request that starts the run and returns the data):

curl -X POST "https://api.apify.com/v2/acts/data_xplorer~google-trends-fast-scraper/run-sync-get-dataset-items" \
-H "Authorization: Bearer <YOUR_API_TOKEN>" \
-H "Content-Type: application/json" \
-d '{"mode":"trending","trendingSearchesCountry":"US","trendingSearchesTimeframe":"24"}'

AI assistants such as Claude, Cursor or VS Code can call this Actor as a tool through the Apify MCP server. The agent sends a keyword or a country, the Actor returns the Google Trends data as JSON, and the agent answers with live numbers.

Use this server URL to give your agent this Actor only:

https://mcp.apify.com?tools=data_xplorer/google-trends-fast-scraper

Claude Code:

$claude mcp add --transport http google-trends "https://mcp.apify.com?tools=data_xplorer/google-trends-fast-scraper"

Cursor, VS Code and other MCP clients (MCP config file):

{
"mcpServers": {
"google-trends": {
"url": "https://mcp.apify.com?tools=data_xplorer/google-trends-fast-scraper"
}
}
}

Example prompts:

  • "What is trending on Google in the United States right now, in Technology?"
  • "Has interest in electric bikes grown over the past 5 years in Germany?"
  • "Which US states search the most for solar panels?"

Tips for agents:

  • Use mode: "trending" for "what is trending" questions, and mode: "keyword" for a specific search term.
  • One run analyzes one keyword. To compare several, run the Actor once per keyword with the same time period.
  • Turn on fetchRegionalData only when the question is about regions.

❓ Frequently Asked Questions

A Google Trends Scraper is a tool that automatically extracts data from Google Trends, such as trending searches and keyword interest over time, and returns it as structured JSON, CSV, or Excel, ready for analysis or integration.

This Actor collects publicly available data from Google Trends. As with any scraping, you are responsible for how you use the data. Review Google's Terms of Service and your local regulations before running large-scale jobs.

How many countries are supported?

Trending searches are available for 125 countries, and keyword analysis supports 150 countries plus worldwide data.

Yes. Every run stores results in an Apify dataset that you can export to JSON, CSV, Excel, or access programmatically via the Apify API.

Set mode to trending, choose a trendingSearchesCountry, and pick a trendingSearchesTimeframe (4h, 24h, 48h, or 7 days). Optionally filter by category with trendingSearchesCategories.

How do I analyze a keyword's popularity over time?

Set mode to keyword, provide a keyword, choose a predefinedTimeframe, and optionally set a geo and enable fetchRegionalData for a regional breakdown.

Do I need my own proxies?

No. The scraper uses Apify Proxy with automatic rotation out of the box. The RESIDENTIAL group is recommended for maximum reliability.

Will my existing API integration keep working?

Yes. The legacy enableTrendingSearches parameter is still fully supported and takes priority over mode, so existing integrations run unchanged.

Not a public one for general use. Use this Actor through the Apify API to get Google Trends data as JSON. See the API examples above.

For a keyword, Google Trends gives an interest score from 0 to 100, not a number of searches. For trending searches, Google shows an approximate volume such as 200K+ or 1M+, and the Actor returns it as text and as a number.

Can I compare several keywords?

One run analyzes one keyword. Run the Actor once per keyword with the same time period and country. Keep in mind that each keyword is scored against its own peak, so the scores of two separate runs describe each keyword's own history.

How far back does the data go?

Keyword analysis goes back to 2004 with the all time period. Trending searches cover the past 4 hours to the past 7 days.

Yes. Create a schedule on Apify and the Actor runs on its own. Each run is saved, so you build a history you can export or read through the API.

🔒 Reliability & Performance

  • Flexible proxy configuration
  • Smart error handling with fail-fast retries
  • Rate-limiting compliance
  • Data validation
  • Efficient resource management
  • Adaptive data granularity based on timeframe

🔗 Other Scrapers You May Like

🤝 Support

Need help or have questions? We're here for you:

  • Request new Google Trends features by opening an issue
  • Get technical support by opening an issue
  • Check the documentation for detailed usage instructions
  • If this Actor saves you time, a short review helps other people find it

Keywords: google trends scraper, google trends api, trending searches, google trends data, keyword trends, search trends, seo keyword research, market research tool, trends by country, real-time trends.