Google Trends Scraper
Pricing
Pay per event
Google Trends Scraper
Scrape Google Trends: daily trending searches and keyword analysis. Get interest over time, related queries, and regional interest. Two modes: trending (pure HTTP, dirt cheap) and keyword analysis. Flat output for CSV/Excel. Pay per result.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Actor stats
0
Bookmarked
3
Total users
2
Monthly active users
2 days ago
Last modified
Categories
Share
Scrape Google Trends data — trending searches, interest over time, related queries, and regional interest. Two modes in one actor, flat CSV-ready output, pay per result.
🔍 What does Google Trends Scraper do?
Google Trends Scraper extracts search trend data from Google Trends in two modes:
- Trending searches — Fetches today's hot trending topics from the Google Trends RSS feed. Pure HTTP, no browser, finishes in ~4 seconds for ~$0.003.
- Keyword analysis — Navigates to Google Trends explore page with a real browser, intercepting API responses to extract interest over time, related queries, related topics, and regional interest breakdowns.
All results export as JSON, CSV, or Excel. The default flat output produces one row per data point — ideal for spreadsheets, dashboards, and data pipelines.
📊 What data can you extract?
Trending searches
| Field | Description |
|---|---|
| keyword | Trending search term |
| country | Country code (e.g., US, GB, DE) |
| traffic | Approximate search traffic (e.g., "500K+") |
| publishedAt | When the trend was published |
| picture | Trend image URL |
| pictureSource | Image source attribution |
| newsTitle | Related news article title |
| newsUrl | Related news article URL |
| newsSource | News publisher name |
| newsPicture | News article image URL |
Keyword analysis — Interest over time
| Field | Description |
|---|---|
| keyword | The search keyword |
| date | ISO date of the data point |
| value | Search interest (0–100 scale) |
| formattedDate | Human-readable date |
| isPartial | Whether the data point is incomplete |
Keyword analysis — Related queries
| Field | Description |
|---|---|
| keyword | The search keyword |
| query | Related search query |
| value | Relevance score |
| relatedType | top or rising |
| formattedValue | Display value (e.g., "100", "Breakout") |
| link | Google Trends link for the related query |
Keyword analysis — Regional interest
| Field | Description |
|---|---|
| keyword | The search keyword |
| region | Region name (e.g., US state) |
| value | Search interest score |
| maxValue | Maximum value index |
💡 Why scrape Google Trends?
- Market research — Track product or brand interest over time and across regions to inform business decisions
- Content strategy — Discover trending topics and rising queries to create timely, high-traffic content
- SEO keyword research — Find related queries and breakout terms to target in your content and ad campaigns
- Competitive analysis — Compare search interest between your brand and competitors across countries and time periods
- Academic research — Study public interest patterns, seasonal trends, and cultural phenomena at scale
- Investment signals — Monitor search interest for companies, products, or sectors as a leading indicator
🚀 How to scrape Google Trends
- Go to the Google Trends Scraper page on Apify Store.
- Click Try for free to open the actor configuration.
- Select a mode: "Trending searches" for today's hot topics, or "Keyword analysis" for deep keyword data.
- Set the country (ISO code like
US,GB,DE,JP). - For keyword mode, enter one or more keywords to analyze.
- Optionally configure time range, category, and search property (Web, YouTube, News, etc.).
- Click Start and wait for your data.
- Download results as JSON, CSV, or Excel, or connect via the Apify API.
Input example — Trending searches
{"mode": "trending","geo": "US"}
Input example — Keyword analysis
{"mode": "keyword","keywords": ["python", "javascript", "rust"],"geo": "US","timeRange": "today 12-m","outputType": "flat"}
📤 Output examples
Trending search result
{"type": "trending","keyword": "iPhone 17","country": "US","traffic": "500K+","publishedAt": "Wed, 19 Mar 2026 12:00:00 +0000","picture": "https://t3.gstatic.com/images?q=tbn:example","pictureSource": "Apple","newsTitle": "Apple Announces iPhone 17 with Revolutionary Design","newsUrl": "https://www.cnn.com/2026/03/19/tech/iphone-17","newsSource": "CNN","newsPicture": "https://media.cnn.com/example.jpg"}
Interest over time result
{"type": "interestOverTime","keyword": "python","date": "2025-03-23T00:00:00.000Z","value": 87,"formattedDate": "Mar 23 – 29, 2025","isPartial": false}
Related query result
{"type": "relatedQuery","keyword": "python","query": "python ai","value": 100,"relatedType": "rising","formattedValue": "Breakout","link": "/trends/explore?q=python+ai"}
Regional interest result
{"type": "regionalInterest","keyword": "python","region": "Washington","value": 100,"maxValue": 0}
💰 Pricing
This actor uses pay-per-event pricing — significantly cheaper than alternatives:
| Event | Price | Description |
|---|---|---|
| Run started | $0.005 | One-time charge per run |
| Trending search scraped | $0.0001 | Per trending topic extracted |
| Keyword analyzed | $0.05 | Per keyword (includes all data types) |
Cost estimates
| Task | Estimated cost |
|---|---|
| Trending searches (1 country, ~20 topics) | ~$0.007 |
| 1 keyword analysis (all data) | ~$0.055 |
| 10 keywords analyzed | ~$0.505 |
| Daily trending monitoring (30 days) | ~$0.21 |
Trending mode is dirt cheap — pure HTTP with no browser overhead. At ~$0.003 per run including platform compute, it costs practically nothing to monitor daily trends.
Keyword mode uses 1024 MB (4x less than the leading competitor at 4096 MB), keeping platform compute costs low even with a real browser session.
⚙️ Input reference
| Parameter | Type | Default | Description |
|---|---|---|---|
mode | string | trending | trending for hot topics, keyword for deep analysis |
geo | string | US | ISO country code (e.g., US, GB, DE, JP, BR) |
keywords | string[] | — | Keywords to analyze (keyword mode only) |
timeRange | string | today 12-m | Time range: now 1-H, now 4-H, now 1-d, now 7-d, today 1-m, today 3-m, today 12-m, today 5-y |
category | integer | 0 | Google Trends category ID (0 = all) |
property | string | "" | Search property: "" (Web), images, news, froogle (Shopping), youtube |
outputType | string | flat | flat (one row per data point — best for CSV) or grouped (one object per keyword — best for JSON) |
💡 Tips for best results
- Start with trending mode to discover what's hot before running keyword analysis
- Use flat output (
outputType: flat) for CSV/Excel — each row is a single data point, ready for pivot tables and charts - Use grouped output (
outputType: grouped) for JSON APIs — one object per keyword with all data nested - Combine multiple keywords in one run to save on the per-run start fee
- Time range matters — shorter ranges (past hour, past day) give minute-level granularity; longer ranges (12 months, 5 years) give weekly or monthly data points
- Filter by property — set
property: "youtube"to see YouTube search trends instead of web search
🔗 Integrations
Connect Google Trends Scraper with your tools and workflows:
- Google Sheets — Export trend data directly to a spreadsheet for charting and monitoring
- Slack — Get notified when new trending topics appear in your market
- Zapier — Trigger workflows when trending data is available (e.g., auto-generate content briefs)
- Make — Build automated pipelines: track keyword trends, then feed data into dashboards or reports
- Webhooks — Send results to your own API endpoint
- Schedule — Run daily to build a historical trends database
💻 Programmatic access via API
Use the Apify API to run Google Trends Scraper from your code.
Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")# Trending searchesrun = client.actor("automation-lab/google-trends-scraper").call(run_input={"mode": "trending","geo": "US",})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(f"{item['keyword']} — {item.get('traffic', 'N/A')}")# Keyword analysisrun = client.actor("automation-lab/google-trends-scraper").call(run_input={"mode": "keyword","keywords": ["python", "javascript"],"geo": "US","timeRange": "today 12-m",})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(f"[{item['type']}] {item['keyword']}: {item.get('value', '')}")
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });// Trending searchesconst run = await client.actor('automation-lab/google-trends-scraper').call({mode: 'trending',geo: 'US',});const { items } = await client.dataset(run.defaultDatasetId).listItems();items.forEach(item => console.log(`${item.keyword} — ${item.traffic}`));
cURL
# Trending searchescurl -X POST "https://api.apify.com/v2/acts/automation-lab~google-trends-scraper/runs?token=YOUR_API_TOKEN&waitForFinish=120" \-H "Content-Type: application/json" \-d '{"mode": "trending", "geo": "US"}'# Keyword analysiscurl -X POST "https://api.apify.com/v2/acts/automation-lab~google-trends-scraper/runs?token=YOUR_API_TOKEN&waitForFinish=120" \-H "Content-Type: application/json" \-d '{"mode": "keyword", "keywords": ["python"], "geo": "US", "timeRange": "today 12-m"}'
🤖 Use with AI agents via MCP
Google Trends Scraper is available as a tool for AI assistants that support the Model Context Protocol (MCP).
Setup for Claude Code
$claude mcp add --transport http apify "https://mcp.apify.com"
Setup for Claude Desktop, Cursor, or VS Code
Add this to your MCP config file:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com"}}}
Example prompts
Once connected, try asking your AI assistant:
- "What's trending on Google in the US today?"
- "Show me Google Trends interest over time for 'AI' vs 'machine learning' in the past year"
- "Find rising search queries related to 'remote work' on Google Trends"
Learn more in the Apify MCP documentation.
❓ FAQ
How much does it cost to scrape Google Trends?
Trending searches cost about $0.003 per run (pure HTTP, no browser). Keyword analysis costs ~$0.05 per keyword. Apify's free plan includes $5/month of platform credits, so you can monitor daily trends for free and analyze ~100 keywords per month.
What's the difference between trending and keyword mode?
Trending mode fetches today's hot topics from Google Trends RSS — fast, cheap, and great for content discovery. Keyword mode opens a real browser to extract deep analytics: interest over time (daily/weekly data points), related queries (top and rising), and regional interest by state/region.
How fast is the scraper?
Trending mode completes in ~4 seconds. Keyword mode takes ~38 seconds per keyword (browser startup + page load + API interception). Multiple keywords run sequentially within the same browser session.
Can I compare multiple keywords?
Yes. Add multiple keywords to the keywords array. Each keyword gets its own set of interest-over-time, related queries, and regional interest data. In flat mode, all data points are in the same dataset, tagged with the keyword field for easy filtering.
What time ranges are available?
Eight options from real-time to historical: past hour, past 4 hours, past day, past 7 days, past month, past 3 months, past 12 months, and past 5 years. Shorter ranges give finer granularity (minute-level), while longer ranges give weekly or monthly aggregation.
What countries are supported?
Any country that Google Trends supports. Use standard ISO country codes: US, GB, DE, FR, JP, BR, IN, AU, CA, and many more. Leave geo empty in keyword mode for worldwide data.
What data formats can I export?
You can download results as JSON, CSV, Excel, XML, or HTML table. The flat output mode is specifically designed for CSV/Excel — one row per data point, ready for pivot tables and charts.
Why did keyword analysis return empty results?
Google Trends may return no data for very niche keywords, misspelled terms, or overly broad time ranges. Google also rate-limits aggressive requests — the scraper retries up to 3 times with increasing delays to handle this.
Is it legal to scrape Google Trends?
This actor is provided for educational and research purposes. Users are responsible for ensuring their use complies with Google's Terms of Service and applicable laws. Always use scraped data responsibly.
🔗 Related scrapers
- Google Search Scraper — Scrape Google search results for any query
- Google News Scraper — Extract news articles from Google News
- Google Maps Scraper — Scrape business listings from Google Maps
- Google Maps Reviews — Extract reviews from Google Maps businesses
- YouTube Scraper — Scrape YouTube video data and metadata
- YouTube Transcript — Extract transcripts and captions from YouTube videos
- TikTok Scraper — Scrape TikTok profiles, videos, and hashtags
- Twitter Scraper — Extract tweets and user data from X/Twitter