Free, open-source Python library for real-time Google Trends data with CLI and API - pytrends alternative with 188K+ configurations
Project description
trendspyg
Python library for downloading real-time Google Trends data. A modern alternative to the archived pytrends.
Installation
pip install trendspyg
# With async support
pip install trendspyg[async]
# With CLI
pip install trendspyg[cli]
# All features
pip install trendspyg[all]
Quick Start
RSS Feed (Fast - 0.2s)
from trendspyg import download_google_trends_rss
# Get current trends with news articles
trends = download_google_trends_rss(geo='US')
for trend in trends[:3]:
print(f"{trend['trend']} - {trend['traffic']}")
if trend['news_articles']:
print(f" {trend['news_articles'][0]['headline']}")
CSV Export (Comprehensive - 10s)
from trendspyg import download_google_trends_csv
# Get 480+ trends with filtering (requires Chrome)
df = download_google_trends_csv(
geo='US',
hours=168, # Past 7 days
category='sports',
output_format='dataframe'
)
Async (Parallel Fetching)
import asyncio
from trendspyg import download_google_trends_rss_batch_async
async def main():
results = await download_google_trends_rss_batch_async(
['US', 'GB', 'CA', 'DE', 'JP'],
max_concurrent=5
)
for country, trends in results.items():
print(f"{country}: {len(trends)} trends")
asyncio.run(main())
CLI
trendspyg rss --geo US
trendspyg csv --geo US-CA --category sports --hours 168
trendspyg list --type countries
Data Sources
| Feature | RSS | CSV |
|---|---|---|
| Speed | 0.2s | ~10s |
| Trends | ~20 | 480+ |
| News articles | Yes | No |
| Time filtering | No | Yes (4h/24h/48h/7d) |
| Category filter | No | Yes (20 categories) |
| Requires Chrome | No | Yes |
Features
- 125 countries + 51 US states
- 20 categories (sports, tech, health, etc.)
- 4 time periods (4h, 24h, 48h, 7 days)
- 4 output formats (dict, DataFrame, JSON, CSV)
- Async support for parallel fetching
- Built-in caching (5-min TTL)
- CLI for terminal access
Caching
from trendspyg import clear_rss_cache, get_rss_cache_stats
# Results are cached for 5 minutes by default
trends = download_google_trends_rss(geo='US') # Network call
trends = download_google_trends_rss(geo='US') # From cache
# Bypass cache
trends = download_google_trends_rss(geo='US', cache=False)
# Check cache stats
print(get_rss_cache_stats())
# Clear cache
clear_rss_cache()
Documentation
Requirements
- Python 3.8+
- Chrome browser (for CSV export only)
License
MIT License - see LICENSE for details.
Links
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
trendspyg-0.4.2.tar.gz
(44.9 kB
view details)
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
trendspyg-0.4.2-py3-none-any.whl
(28.3 kB
view details)
File details
Details for the file trendspyg-0.4.2.tar.gz.
File metadata
- Download URL: trendspyg-0.4.2.tar.gz
- Upload date:
- Size: 44.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f1f181c6dd4dc8a52c33441394194ec6f81846fca8a586c5e8f43208673c5bf8
|
|
| MD5 |
b436b773bedde0f18c9daadeceac2c05
|
|
| BLAKE2b-256 |
eb2471c92857bd59a608b36bf7cc65e833aed137941a602ffd8605e313497227
|
File details
Details for the file trendspyg-0.4.2-py3-none-any.whl.
File metadata
- Download URL: trendspyg-0.4.2-py3-none-any.whl
- Upload date:
- Size: 28.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3dc66b0819a9b685a593e3e655cf024f34cee938459af6916dd5e365aeac8b00
|
|
| MD5 |
6565149befd26ae6f6cc37558c4e7da0
|
|
| BLAKE2b-256 |
7cc945ad13447584852f5280870d20df9d93ea44a8642b787fe2c08249fcfca4
|