Google Trends Data Scraper — SEO Keyword Research Tool
Pricing
from $120.00 / 1,000 trend reports
Google Trends Data Scraper — SEO Keyword Research Tool
Get Google Trends interest over time and by region, related queries, rising searches and related topics. Compare 2–5 keywords and export complete reports to JSON, CSV or Excel.
Pricing
from $120.00 / 1,000 trend reports
Rating
0.0
(0)
Developer
Andrey Afanasenko
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
9 days ago
Last modified
Categories
Share
Find seasonal demand, compare keywords, and discover related searches with Google Trends data. Get interest over time and by region for SEO research, content planning, and market analysis.
🆓 Free to start: Get one complete keyword report or a comparison of 2–5 keywords per run. FREE accounts include up to three checks per month. Completed reports use your Apify credits at the FREE rate.
🎯 What it does
Choose a country, language, period, and search type, then pick how you want to study your keywords.
| Mode | Input | What it returns |
|---|---|---|
Full Keyword Reports (full) | Up to 20 phrases in keywords | One independent report per phrase: timeline, regions, related queries, and related topics. |
Compare Keywords (compare) | 2–5 phrases in compareKeywords | One comparison report with a shared timeline scale and regional comparisons. |
You get one dataset row per completed report, ready to export as JSON, CSV, or Excel. The scores show relative interest, not monthly search counts. Use comparison mode to compare phrases on one scale.
⚠️ Pick your mode first. Fill the keyword list for that mode. Both mode sections stay visible. Example: selecting
fullbut filling onlycompareKeywordsleaves the full list empty and starts therunning shoesdemo.
📦 Output sample
What's in a row:
- Your request —
reportId,mode,keywords,country,language,timeRange, andsearchType. - Interest —
interestOverTimeandinterestByRegion, with values in the order of the report's keywords. - Related searches —
relatedQueriesandrelatedTopics, each with top and rising lists in full reports. - Coverage and checks —
status,sectionStatuses,normalization,collectedAt, and a Google TrendscheckUrl.
A real full report from October 7, 2026. Lists below show selected entries; exports contain every returned entry.
{"reportId": "aKFIa9eAkiLGmaS3S_1","mode": "full","keywords": ["running shoes"],"country": "US","language": "en","timeRange": "past_12_months","searchType": "web","status": "ok","checkUrl": "https://trends.google.com/trends/explore?hl=en&geo=US&date=today%2012-m&q=running%20shoes","collectedAt": "2026-10-07T14:43:16.946Z","interestOverTime": [{"dateFrom":"2025-10-05","dateTo":"2025-10-11","timestamp":1759622400,"missingData":false,"values":[16]}],"interestByRegion": [{"geoId":"US-WY","geoName":"Wyoming","maxValueIndex":0,"values":[100]}],"relatedQueries": {"top":[{"query":"men's running shoes","value":100}],"rising":[{"query":"brooks adrenaline gts 25","value":7650}]},"relatedTopics": {"top":[{"topicId":"/m/06rrc","topicTitle":"Shoes","topicType":"Shoe","value":100}],"rising":[{"topicId":"/m/04kfh24","topicTitle":"Fasciitis","topicType":"Inflammation","value":450}]},"sectionStatuses": {"interestOverTime":"ok","interestByRegion":"ok","relatedQueries":"ok","relatedTopics":"ok"},"normalization": {"time":"report_peak_100","regions":"report_region_peak_100","keywords":["running shoes"],"note": "Relative Google Trends indices, not search counts. Comparison keywords share a time scale. Region and time scales are distinct. Independent full reports cannot be compared as one scale."}}
Zero stays 0; missing values stay null. Optional details absent from the source stay absent.
Labels such as Breakout are preserved. Comparisons return null for related queries and topics, with not_available section statuses.
Views — four ways to inspect the same report rows in Storage → Dataset:
| View | What each row is | Best for |
|---|---|---|
| Trend reports (default) | One report, showing keywords, settings, status, collection time, and the verification link. | Reviewing completed reports. |
| Interest over time | The same rows, trimmed to keywords, timeline, normalization, and section statuses. | Seasonal demand and comparison charts. |
| Regional interest | The same rows, trimmed to keywords, regions, normalization, and section statuses. | Geographic research. |
| Related queries and topics | The same rows, trimmed to keywords, related lists, and section statuses. | Content ideas and keyword discovery. |
Views keep the lists inside each report. They do not create a separate row for each date, region, or query.
The full dataset schema is included in the Apify build definition, under actorDefinition.storages.dataset.
⚡ Quick start
- Pick your mode first in Operation mode. Both keyword sections stay visible; fill only the matching list.
- For your first full report, enter
running shoesin Mode 1: Full Keyword Reports. - Keep the default market and settings, click Start, then open Storage → Dataset.
The equivalent JSON input is:
{"mode":"full","keywords":["running shoes"]}
This requests one complete report and fits the FREE allowance when a monthly check remains. Country defaults to the United States, language to English, period to 12 months, and search type to Google Search.
Clicking Start with an empty form runs a demo. Full mode uses running shoes; comparison mode uses tea and coffee.
Each demo produces one report and uses the normal report charge and monthly allowance. Examples are placeholders, not prefilled keywords.
🧭 When to use it
- SEO research — check whether interest in a topic is growing before building a page around it.
- Content calendars — find recurring peaks and publish before the next seasonal increase.
- Product planning — compare product phrases within the same country and period.
- Local marketing — see where relative interest is strongest before choosing target regions.
- YouTube research — use the YouTube search type to compare interest in video topics.
Start with one market and one period. Change one setting at a time when exploring differences. For comparisons across several keywords, keep them together in one comparison report.
🛠 Input
Operation mode appears first, above the sections. The form then groups keyword lists and shared settings:
| Section | Purpose |
|---|---|
| 🎯 Mode 1: Full Keyword Reports | Enter independent keywords for full reports. |
| 🎯 Mode 2: Compare Keywords | Enter the keywords you want to compare together. |
| 🌍 Market | Choose the country and language. |
| 📊 Report settings | Choose the time range and search type. |
mode— set this first:fullorcompare. Fill only its keyword section; both sections remain visible.keywords— full mode only; up to 20 distinct phrases, one per line.compareKeywords— comparison mode only; 2–5 distinct phrases, one per line.country— select a supported country code; defaultUS.language— select a supported language code; defaulten.timeRange— choose one of the eight periods below; defaultpast_12_months.searchType—web,news,youtube,images, orshopping; defaultweb.
| Time-range value | Period |
|---|---|
past_hour | Past hour |
past_4_hours | Past four hours |
past_day | Past day |
past_7_days | Past seven days |
past_30_days | Past 30 days |
past_90_days | Past 90 days |
past_12_months | Past 12 months |
past_5_years | Past five years |
Use phrases of 2–100 characters. Duplicate phrases and comma-separated lists inside a single entry are rejected before collection.
For older API integrations, comparison mode also accepts keywords when compareKeywords is absent.
💰 How much will scraping Google Trends cost?
Billing uses Apify's Pay Per Event model with one primary event: Trend report (REPORT).
There is no starting fee. One completed full report or one completed comparison counts as one event.
| Apify plan | Price per Trend report |
|---|---|
| FREE | $0.180 |
| BRONZE | $0.150 |
| SILVER | $0.135 |
| GOLD / PLATINUM / DIAMOND | $0.120 |
Pricing math:
| Request | Plan | Report charge |
|---|---|---|
| One full keyword report | FREE | $0.180 |
| One comparison of five keywords | BRONZE | $0.150 |
| Ten independent full reports | BRONZE | $1.500 |
| Twenty independent full reports | GOLD | $2.400 |
A completed check with no_data is billed: the requested search was checked successfully.
Errors, incomplete reports, and locked rows are not billed as Trend reports.
Set Maximum cost per run in Apify's run options to control spending. It is not an actor input field. Before collecting another report, the actor checks whether the remaining budget can cover its report charge.
🆓 Free vs paid plan
| Feature | FREE plan | Paid plan |
|---|---|---|
| Full reports per run | One keyword | Up to 20 keywords |
| Comparison per report | 2–5 keywords | 2–5 keywords |
| Related queries and topics | Included in the full report | Included in every full report |
| Monthly allowance | Up to three checks per user | No FREE monthly cap |
| Report content | Complete report | Complete report |
| Recovery of an interrupted run | Supported | Supported |
On FREE, extra independent keywords appear as locked rows without further collection or report charges. Monthly limits are tracked centrally. Deleting a run's storage does not replenish the allowance.
If the monthly allowance is exhausted, collection does not start. Temporary allowance-service outages also stop collection. Both cases show an explanation and create no report charges.
Upgrade to process multiple independent keywords in one run and continue beyond the FREE monthly allowance. The FREE rate uses Apify credits; the allowance does not waive report charges.
🧪 Recipes
Copy these inputs into the JSON editor, then adjust the keywords and market.
Find seasonality for several product phrases
{"mode": "full", "keywords": ["running shoes", "trail running shoes", "walking shoes"]}
Each phrase gets a full report and its own scale. FREE returns the first report and locks the remaining two.
Compare demand on a shared scale
{"mode": "compare", "compareKeywords": ["tea", "coffee", "matcha"]}
All three phrases share one comparison report and one report charge. Related lists are unavailable in comparison mode.
Research a Spanish YouTube topic
{"mode": "full", "keywords": ["zapatillas de correr"],"country": "ES", "language": "es","timeRange": "past_90_days", "searchType": "youtube"}
This checks interest in YouTube searches for Spain over the past 90 days.
🔁 Resume / checkpoint
To recover an interrupted run, use Resurrect on that same run in Apify Console. A saved, already-paid report can be delivered without collecting or charging for it again.
When a collection or payment outcome is uncertain, the actor stops instead of automatically repeating it. Check the run message before trying again. Starting a new run requests fresh reports and can create new charges.
📡 Live status & storage records
Open Storage → Key-value store → status.html to follow progress and see the final next step.
The run also saves these records:
| Storage key | Type | What it holds |
|---|---|---|
status.html | HTML | Progress, delivered reports, budget information, and the run's message. |
RUN_SUMMARY | JSON | Report counts, billing status, timing, settings, and the stop reason. |
USER_MESSAGE | JSON | A plain-language result message and suggested next step. |
FREE_LIMITS_APPLIED | JSON | FREE restrictions applied during the run, when applicable. |
SKIPPED_ITEMS | JSON | Keywords skipped because of limits or errors, when present. |
REPORT_STATE | Encrypted JSON | The recovery journal; an internal record, not an output export. |
Use dataset rows for your analysis. Use RUN_SUMMARY and USER_MESSAGE to monitor runs from your own workflow.
If billing confirmation is pending, the status records show it as pending rather than as a zero charge.
🤖 Programmatic / API use
REST API: start a comparison using your Apify token.
curl -X POST \'https://api.apify.com/v2/acts/afanasenko~google-trends-scraper/runs' \-H "Authorization: Bearer $APIFY_TOKEN" \-H 'Content-Type: application/json' \-d '{"mode":"compare","compareKeywords":["tea","coffee"],"country":"US","language":"en"}'
Wait for the run to finish, then read its defaultDatasetId through the Apify API.
Schedules and integrations can send completed results into your regular reporting workflow.
MCP and AI agents: connect a compatible client to the Apify MCP server. An authorized agent can inspect the actor's inputs, run it, and read the results. For example: “Compare tea and coffee in the United States over the past 12 months.”
💡 Tips & Best Practices
Getting maximum results
- Start with full mode to discover related queries and topics around one seed phrase.
- Move your shortlisted phrases into comparison mode to assess them together.
- Keep country, period, and search type consistent when reviewing a group of keywords.
Cost optimization
- Compare 2–5 phrases together when you need relative demand: the group counts as one report.
- Check your keywords before starting. A completed
no_datacheck still uses a report charge. - Set Maximum cost per run before starting a batch, and reuse downloaded results for repeated analysis.
Performance
- Keep full-report batches within 20 phrases. Larger lists are rejected before collection starts.
- Use comparison mode when a single shared report answers your question.
- Recover an interrupted run with Resurrect before starting a replacement run.
Data quality
- Open
checkUrlto spot-check a report in Google Trends with the same settings. - Read
sectionStatusesbefore using a list; unavailable sections are not zero interest. - Keep
0,null, andBreakoutdistinct. Do not convert missing values into measured zeros.
❓ FAQ
How do I find seasonal keywords for SEO? Run a full report over 12 months and inspect recurring peaks. Use related queries to expand your research.
Is there a free way to try this Google Trends scraper? FREE accounts can check one full report or one comparison per run, up to three times per month, using Apify credits.
Can I use the official Google Trends API instead? Google offers a Trends API alpha with limited access. This actor provides reports through Apify.
What alternatives should I use for keyword research? Use Google Trends for manual exploration. Use a search-volume tool when you need monthly counts rather than relative interest.
Can I compare results from separate full reports? Their peaks are normalized independently. Use comparison mode for a shared time scale; regional and time scales also differ.
Does a score of 100 mean 100 searches? No. It is a relative index. Scores do not give absolute search counts or prove that one market has more searches.
Why are some values null or some sections unavailable? The source did not supply those values. Comparison mode omits related lists; absent optional fields remain absent instead of becoming zero.
Why was a no-data report charged? The check completed successfully but found no usable trend data. Errors, incomplete reports, and FREE locked rows do not trigger REPORT.
Why did I get a demo instead of my keywords? The selected mode's list was empty. Both sections remain visible; fill keywords for full or compareKeywords for comparison.
Does an empty-input demo use my monthly allowance? Yes. It is one normal report, announced as a demo. The full sample is running shoes; the comparison sample is tea and coffee.
What happens if collection or payment confirmation fails? Check USER_MESSAGE and RUN_SUMMARY. Confirmed zero-cost failures may be retried; unknown outcomes are held to avoid duplicate purchases or charges.
How fast is a report? Run time varies with the query and service availability. Open the live status page to follow progress.
🔗 Other related actors (same author)
| Your goal | Actor | Why choose it |
|---|---|---|
| Seasonality, relative demand, and keyword comparisons | This Google Trends Scraper | Timelines, regions, and related searches. |
| Monthly search volumes and advertising metrics | Keyword Search Volume | Search volume and keyword metrics rather than trend indices. |
| Links pointing to a website | Backlink Scraper | Backlink research alongside keyword planning. |
🛟 Support & feedback
Open an issue in Apify Console with the run ID and your expected result. Include the selected mode and settings so the result can be reproduced. Keep access tokens out of your message.
If the actor helps your research, a Store review helps other users choose it.
⚖️ Is it legal to scrape Google Trends?
Google Trends data describes aggregate search interest. This actor does not collect individual search histories or private accounts. Use the data in accordance with Google's terms and the rules that apply to your use case.