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 | 5–25 (varies by region/time) | 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.3.tar.gz
(48.2 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.3-py3-none-any.whl
(31.0 kB
view details)
File details
Details for the file trendspyg-0.4.3.tar.gz.
File metadata
- Download URL: trendspyg-0.4.3.tar.gz
- Upload date:
- Size: 48.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0ad1987cedfe55aac4a6b8a2d06e28a74546d66c0d967d4fcbd423b98690aff7
|
|
| MD5 |
abb16e9302c3ffe9d1b6eab6b2a14445
|
|
| BLAKE2b-256 |
7faf1f378cca01666de7335b3263de91137f546f293e8b87b45c7111d671c3b0
|
File details
Details for the file trendspyg-0.4.3-py3-none-any.whl.
File metadata
- Download URL: trendspyg-0.4.3-py3-none-any.whl
- Upload date:
- Size: 31.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3b5142552d2c3466a8beb0446953db86921c6bc9c152c02ffc2804e35b51fc94
|
|
| MD5 |
dbe87bcc26a658a38474f2cbd1f9cf14
|
|
| BLAKE2b-256 |
56ef0e5e5ac743bd8c777e68454ceaff426c53394f0e2904c8835fcb4b966044
|