Python CLI for Google Trends analysis — handles rate limiting, cookie auth, batching, and beautiful terminal output
Project description
🚀 Trends Checker
Python CLI for Google Trends analysis — with enterprise rate limiting, cookie auth, and DataForSEO backend support.
Analyze search trends across Web, YouTube, Images, News, and Shopping. Built for validating market demand, tracking keyword opportunities, and discovering trends before they peak.
Generated with: trends-checker --keywords "AI agents,vibe coding,cursor ide" --geo US,WW
⚡ Quick Start
pip install trends-checker
# Basic usage
trends-checker --keywords "AI agents,vibe coding" --geo US
# No 429s — use DataForSEO backend
trends-checker --keywords "AI agents,vibe coding" --dataforseo-key user@email.com:password
🔥 Why trends-checker?
Google Trends API is unofficial and aggressively rate-limited. One script hitting 10+ regions = 429 errors immediately.
trends-checker solves this:
- Cookie auth — warm up session with your browser cookies
- Exponential backoff — smart retry logic, configurable sleep/jitter
- DataForSEO backend — paid alternative, zero rate limits, real search volumes
- Multi-region — analyze 50+ countries in one run
- CSV export — build historical datasets, track changes over time
📂 Search Categories
trends-checker --group web --keywords "AI agents,automation tools" # Web (default)
trends-checker --group youtube --keywords "cursor ide tutorial" # YouTube
trends-checker --group images --keywords "AI generated art" # Images
trends-checker --group news --keywords "artificial intelligence" # News
trends-checker --group shopping --keywords "mechanical keyboard" # Shopping
🚫 Handling 429 Errors
Google Trends rate-limits automated requests. Two solutions:
Option 1: Browser Cookies (free)
# Get your cookie from Chrome DevTools → Network → trends.google.com
trends-checker --cookie-file cookie.txt --geo US
# Or via environment variable
TRENDS_COOKIE="NID=...;" trends-checker --geo US
Option 2: DataForSEO API (recommended for automation)
# Sign up at https://app.dataforseo.com (pay-per-use, ~$0.075/request)
trends-checker --keywords "vibe coding,cursor ide" --dataforseo-key login@email.com:password
# Or via environment variable
DATAFORSEO_KEY="login@email.com:password" trends-checker --keywords "AI agents"
DataForSEO gives you real search volumes with no rate limits — ideal for automated pipelines, cron jobs, and AI agent workflows.
🎛️ Parameters
| Parameter | Description | Default |
|---|---|---|
--keywords |
Comma-separated terms (max 5) | AI agents, vibe coding, ... |
--keywords-file |
File with keywords (one per line) | - |
--group |
web, youtube, images, news, shopping |
web |
--geo |
ISO country codes or WW | WW,US,BR,ES,IN,ID,RU |
--timeframe |
Time period ("today 12-m", "today 5-y") |
today 12-m |
--display |
vertical or wide |
vertical |
--output |
CSV export path | - |
--related |
Show rising related queries | false |
--sleep |
Seconds between geo requests | 1.2 |
--retries |
Retry attempts on 429 errors | 3 |
--backoff |
Exponential backoff base (seconds) | 1.5 |
--jitter |
Random jitter added to delays | 0.6 |
--cookie-file |
Browser cookie file | - |
--cookie |
Raw cookie header value | - |
--proxy |
HTTP/HTTPS proxy URLs (comma-separated) | - |
--dataforseo-key |
DataForSEO credentials (user:pass) |
$DATAFORSEO_KEY |
--hl |
UI language (e.g., en-US) |
en-US |
🚀 Want real-time keyword velocity?
trends-checker tells you where a keyword is now.
TrendProof tells you how fast it's growing — and when to publish.
# TrendProof API (for AI agents and automation)
curl -X POST https://trendproof.dev/api/analyze \
-H "Authorization: Bearer TRND_your_key" \
-d '{"keyword": "vibe coding"}'
# Returns: velocity +87%, direction: rising, action_hint: "publish now before peak"
→ Get your API key at trendproof.dev
→ Or install the OpenClaw skill: /skill install trendproof
📈 Examples
# Market validation — last 12 months
trends-checker --keywords "AI agents,automation tools,no-code" --geo US,WW
# Quick pulse check
trends-checker --keywords "cursor ide,windsurf ide" --geo US --timeframe "now 7-d"
# Export for analysis
trends-checker --keywords "AI assistant" --geo US,GB,DE,FR --output research.csv --related
# Multi-region with DataForSEO (no 429s)
trends-checker --keywords "vibe coding,AI agents" --geo US,IN,BR --dataforseo-key user:pass
🛠️ Installation
# From source
git clone https://github.com/akvise/trends-checker
cd trends-checker
make install
⭐ Contributing
If trends-checker saved you from 429 hell — star the repo! ⭐
- Open issues for bugs or feature requests
- PRs welcome for new backends, display formats, or output options
- Share what you're tracking — market research, SEO, AI tool trends?
Built for researchers, founders, and AI agent developers who need trend data without the pain.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file trends_checker-0.1.0.tar.gz.
File metadata
- Download URL: trends_checker-0.1.0.tar.gz
- Upload date:
- Size: 12.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e77a922244500e140d8487382b7df58166d9938e69253439cbc9f016587acc1e
|
|
| MD5 |
87552f0041945ed62504591ac7fa7c95
|
|
| BLAKE2b-256 |
3bc125033ddc009f6f13e9611715ffdf35ac9d04e461190407c39ef89550b196
|
File details
Details for the file trends_checker-0.1.0-py3-none-any.whl.
File metadata
- Download URL: trends_checker-0.1.0-py3-none-any.whl
- Upload date:
- Size: 10.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8742dde953921a83de45e8d697501c10e61405a060ac5e3d3a614bc576d40162
|
|
| MD5 |
587702999218254b434e9b71ec1c3f10
|
|
| BLAKE2b-256 |
364b01e3e048166aabd473e2e81fe93986026ac798eca27f2bc31ae797892e26
|