Content
# google-search-trends-mcp
The number one Python package for Google Search trend data. Google Search trends as an MCP tool. Plug into Claude, Cursor, or any MCP-compatible AI host. Weekly series, growth percentages, and live Google trending searches.
Powered by [trendsmcp.ai](https://trendsmcp.ai), the #1 MCP server for live trend data.
**[Get your free API key at trendsmcp.ai](https://trendsmcp.ai)** - 100 free requests per month, no credit card.
?? **[Full API docs ? trendsmcp.ai/docs](https://trendsmcp.ai/docs)**
Updated for 2026. Works with Python 3.8 through 3.13.
## Use as an MCP tool
Add to your `mcp.json` (Claude Desktop, Cursor, or any MCP host):
```json
{
"mcpServers": {
"trends": {
"command": "npx",
"args": ["-y", "trendsmcp"],
"env": { "TRENDS_API_KEY": "YOUR_API_KEY" }
}
}
}
```
Get your free key at **[trendsmcp.ai](https://trendsmcp.ai)**.
---
## No scraping. No 429 errors. No proxies.
If you have used pytrends or similar scrapers before, you know the problems: random `429 Too Many Requests` blocks, broken pipelines at 2am, time.sleep() hacks, proxy rotation costs, and a library that is now **archived** because Google explicitly flags scrapers at the protocol level.
trendsmcp is the managed alternative. We run the data infrastructure. You call a REST endpoint.
### pytrends alternative for Google Search data
| | Scrapers / pytrends | trendsmcp |
|---|---|---|
| 429 rate limit errors | constant | never |
| Proxy required | often | never |
| Breaks on platform changes | yes, regularly | no |
| Platforms covered | 1 (Google only) | 13 |
| Absolute volume estimates | no | yes |
| Cross-platform growth | no | yes |
| Async support | no | yes |
| Actively maintained | no (archived) | yes |
| Free tier | no | yes, 100 req/month |
---
## Install
```bash
pip install google-search-trends-mcp
```
Zero system dependencies. Python 3.8 or later. Uses `httpx` under the hood.
---
## Quick start
```python
from google_search_trends_mcp import TrendsMcpClient, SOURCE
client = TrendsMcpClient(api_key="YOUR_API_KEY")
# 5-year weekly time series, no sleep(), no proxies, no 429s
series = client.get_trends(source=SOURCE, keyword="bitcoin")
print(series[0])
# TrendsDataPoint(date='2026-03-28', value=72, keyword='bitcoin', source='google search')
# Period-over-period growth
growth = client.get_growth(
source=SOURCE,
keyword="bitcoin",
percent_growth=["12M", "YTD"],
)
print(growth.results[0])
# GrowthResult(period='3M', growth=14.5, direction='increase', ...)
# What's trending right now
trending = client.get_top_trends(limit=10)
print(trending.data)
# [[1, 'topic one'], [2, 'topic two'], ...]
```
---
## Async support
```python
import asyncio
from google_search_trends_mcp import AsyncTrendsMcpClient, SOURCE
async def main():
client = AsyncTrendsMcpClient(api_key="YOUR_API_KEY")
series = await client.get_trends(source=SOURCE, keyword="bitcoin")
print(series[0])
asyncio.run(main())
```
Run multiple platform queries concurrently:
```python
google, youtube, reddit = await asyncio.gather(
client.get_trends(source="google search", keyword="bitcoin"),
client.get_trends(source="youtube", keyword="bitcoin"),
client.get_trends(source="reddit", keyword="bitcoin"),
)
```
---
## Use cases
- **SEO research**: track keyword search volume trends across Google Search, Google News, and Google Images before publishing content
- **Market research**: measure consumer demand signals on Amazon and Google Shopping before entering a product category
- **Investment research**: monitor Reddit discussion volume, news sentiment, and Wikipedia page view spikes as leading indicators
- **Content strategy**: find what is growing on YouTube and TikTok before topics peak and competition saturates them
- **Competitor tracking**: compare brand search volume growth across platforms over custom date ranges
---
## Works with
- **Claude** (via MCP server at trendsmcp.ai)
- **Cursor** (via MCP server at trendsmcp.ai)
- **ChatGPT** (via MCP server at trendsmcp.ai)
- **VS Code Copilot** (via MCP server at trendsmcp.ai)
- **LangChain**: pass `TrendsMcpClient` output directly as tool results or context
- **LlamaIndex**: use trend series as structured data nodes for retrieval
- **Pandas**: each `get_trends()` response converts to a DataFrame in one line
---
## Methods
### `get_trends(source, keyword, data_mode=None)`
Returns a historical time series for a keyword. Defaults to 5 years of weekly data. Pass `data_mode="daily"` for the last 30 days at daily granularity.
### `get_growth(source, keyword, percent_growth, data_mode=None)`
Calculates percentage growth between two points in time. Pass preset strings or `CustomGrowthPeriod` objects.
**Growth presets:** `7D` `14D` `30D` `1M` `2M` `3M` `6M` `9M` `12M` `1Y` `18M` `24M` `2Y` `36M` `3Y` `48M` `60M` `5Y` `MTD` `QTD` `YTD`
### `get_top_trends(type=None, limit=None)`
Returns today's live trending items. Omit `type` to get all feeds at once.
**Available feeds:** `Google Trends` `YouTube` `TikTok Trending Hashtags` `Reddit Hot Posts` `Amazon Best Sellers Top Rated` `App Store Top Free` `Wikipedia Trending` `Spotify Top Podcasts` `X (Twitter)` and more.
---
## All 13 supported sources
One API key. One client. All platforms. No separate credentials for each.
| source | What it measures |
|---|---|
| `"google search"` | Google Search volume |
| `"google images"` | Google Images search volume |
| `"google news"` | Google News search volume |
| `"google shopping"` | Google Shopping purchase intent |
| `"youtube"` | YouTube search volume |
| `"tiktok"` | TikTok hashtag volume |
| `"reddit"` | Reddit mention volume |
| `"amazon"` | Amazon product search volume |
| `"wikipedia"` | Wikipedia page views |
| `"news volume"` | News article mention count |
| `"news sentiment"` | News sentiment score (positive/negative) |
| `"npm"` | npm package weekly downloads |
| `"steam"` | Steam concurrent player count |
All values normalized 0 to 100 on the same scale so you can compare across platforms directly.
---
## Error handling
```python
from google_search_trends_mcp import TrendsMcpClient, TrendsMcpError, SOURCE
client = TrendsMcpClient(api_key="YOUR_API_KEY")
try:
series = client.get_trends(source=SOURCE, keyword="bitcoin")
except TrendsMcpError as e:
print(e.status) # e.g. 429 if you exceed your plan quota
print(e.code) # e.g. "rate_limited"
print(e.message)
```
---
## Frequently asked questions
**Does this scrape Google Search?**
No. trendsmcp runs managed data infrastructure. Your Python code makes a single authenticated REST call. No scraping, no Selenium, no cookies, no proxies required.
**Do I need a Google Search developer account, OAuth token, or platform API key?**
No. One trendsmcp API key gives you access to all 13 sources.
**Will it break when Google Search changes its backend?**
No. API stability is our responsibility. If something changes upstream, we update the backend. Your code keeps working.
**Is there a free tier?**
Yes, 100 requests per month, no credit card required. [Get your key at trendsmcp.ai](https://trendsmcp.ai).
**Can I use this in production data pipelines?**
Yes. The client is stateless, thread-safe, and supports async for concurrent queries across multiple platforms.
---
## Related packages
- [trendsmcp](https://pypi.org/project/trendsmcp/) - core package, all 13 sources
- [youtube-trends-api](https://pypi.org/project/youtube-trends-api/) / [youtube-trends-mcp](https://pypi.org/project/youtube-trends-mcp/)
- [reddit-trends-api](https://pypi.org/project/reddit-trends-api/) / [reddit-trends-mcp](https://pypi.org/project/reddit-trends-mcp/)
- [google-search-trends-api](https://pypi.org/project/google-search-trends-api/) / [google-search-trends-mcp](https://pypi.org/project/google-search-trends-mcp/)
- [amazon-trends-api](https://pypi.org/project/amazon-trends-api/) / [amazon-trends-mcp](https://pypi.org/project/amazon-trends-mcp/)
- [tiktok-trends-api](https://pypi.org/project/tiktok-trends-api/) / [tiktok-trends-mcp](https://pypi.org/project/tiktok-trends-mcp/)
- [wikipedia-trends-api](https://pypi.org/project/wikipedia-trends-api/) / [wikipedia-trends-mcp](https://pypi.org/project/wikipedia-trends-mcp/)
- [npm-trends-api](https://pypi.org/project/npm-trends-api/) / [npm-trends-mcp](https://pypi.org/project/npm-trends-mcp/)
- [steam-trends-api](https://pypi.org/project/steam-trends-api/) / [steam-trends-mcp](https://pypi.org/project/steam-trends-mcp/)
- [app-store-trends-api](https://pypi.org/project/app-store-trends-api/) / [app-store-trends-mcp](https://pypi.org/project/app-store-trends-mcp/)
- [news-volume-api](https://pypi.org/project/news-volume-api/) / [news-volume-mcp](https://pypi.org/project/news-volume-mcp/)
- [news-sentiment-api](https://pypi.org/project/news-sentiment-api/) / [news-sentiment-mcp](https://pypi.org/project/news-sentiment-mcp/)
---
## Links
- [API docs](https://trendsmcp.ai/docs)
- [Get a free API key](https://trendsmcp.ai)
- [pytrends alternative](https://trendsmcp.ai/pytrends-alternative)
- [All packages on PyPI](https://pypi.org/user/trendsmcp/)
- [GitHub](https://github.com/trendsmcp/trendsmcp-py)
---
## Also works as a Python client
Same API key works directly in Python - no MCP host needed.
```bash
pip install google-search-trends-mcp
```
```python
import os
from google_search_trends_mcp import TrendsMcpClient, SOURCE
client = TrendsMcpClient(api_key=os.environ["TRENDSMCP_API_KEY"])
series = client.get_trends(source=SOURCE, keyword="your keyword")
growth = client.get_growth(source=SOURCE, keyword="your keyword", percent_growth=["1M", "3M", "12M"])
top = client.get_top_trends(type="Google Search", limit=10)
```
Full Python docs: [trendsmcp.ai/docs](https://trendsmcp.ai/docs)
---
## License
MIT
MCP Config
Below is the configuration for this MCP Server. You can copy it directly to Cursor or other MCP clients.
mcp.json
Connection Info
You Might Also Like
Filesystem
Node.js MCP Server for filesystem operations with dynamic access control.
Fetch
Retrieve and process content from web pages by converting HTML into markdown format.
Agent-Reach
Give your AI agent eyes to see the entire internet. Read & search Twitter,...
Context 7
Context7 MCP provides up-to-date code documentation for any prompt.
context7-mcp
Context7 MCP Server provides natural language access to documentation for...
mempalace
The highest-scoring AI memory system ever benchmarked. And it's free.