Skip to main content
ClaudeWave
trendsapi avatar
trendsapi

google-trends-api

View on GitHub

Google Trends API as JSON: normalized 0-100 search interest time series, growth rates and live trending searches. Managed pytrends alternative, no scraping. REST + MCP, free tier.

MCP ServersOfficial Registry0 stars0 forksMITUpdated today
Install in Claude Code / Claude Desktop
Method: Manual
Claude Code CLI
git clone https://github.com/trendsapi/google-trends-api
claude_desktop_config.json (Claude Desktop)
{
  "mcpServers": {
    "google-trends-api": {
      "command": "node",
      "args": ["/path/to/google-trends-api/dist/index.js"]
    }
  }
}
1. Run the command above in your terminal (Claude Code), or paste the JSON config into claude_desktop_config.json (Claude Desktop).
2. Replace any <placeholder> values with your API keys or paths.
3. Restart Claude. The MCP server and its tools appear automatically.
💡 Clone https://github.com/trendsapi/google-trends-api and follow its README for install instructions.
Use cases

MCP Servers overview

# Google Trends API - search interest over time as JSON (pytrends alternative)

[![License: MIT](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE) [![API v1](https://img.shields.io/badge/API-v1-blue.svg)](https://trendsapi.ai) [![MCP compatible](https://img.shields.io/badge/MCP-compatible-blueviolet.svg)](https://modelcontextprotocol.io) [![Free tier](https://img.shields.io/badge/free%20tier-100%20req%2Fmo-orange.svg)](https://trendsapi.ai/#pricing)

> **Google Trends data as clean JSON: normalized 0-100 search interest time series, growth rates and live trending searches from one REST endpoint. The managed alternative to pytrends - no scraping, no 429s, no proxies.**
>
> One endpoint. One API key. One normalized 0-100 trend score you can compare against 14 other platforms.

**Docs:** [https://trendsapi.ai/#quickstart](https://trendsapi.ai/#quickstart) · **llms.txt:** [https://trendsapi.ai/llms.txt](https://trendsapi.ai/llms.txt) · **Free API key (100 req/mo):** [https://trendsapi.ai/#get-key](https://trendsapi.ai/#get-key)

---

## What a call looks like

```bash
curl -X POST https://api.trendsapi.ai/api \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"mode": "get_growth", "source": "google search", "keyword": "ai agents", "percent_growth": ["3M", "12M"]}'
```

```json
{
  "keyword": "ai agents",
  "source": "google search",
  "growth": { "3M": 41.8, "12M": 212.4 },
  "timestamp": "2026-08-03T12:00:00Z"
}
```

## Quickstart (60 seconds)

**1. Get a free API key** at [https://trendsapi.ai/#get-key](https://trendsapi.ai/#get-key) - 100 requests/month, no credit card.

**2. Make your first call:**

```bash
curl -X POST https://api.trendsapi.ai/api \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"mode": "get_time_series", "source": "google search", "keyword": "ai agents"}'
```

**Python:**

```python
import requests

res = requests.post(
    "https://api.trendsapi.ai/api",
    headers={"Authorization": "Bearer YOUR_API_KEY"},
    json={"mode": "get_growth", "source": "google search", "keyword": "ai agents",
          "percent_growth": ["3M", "12M"]},
)
print(res.json())
```

**Node.js:**

```js
const res = await fetch("https://api.trendsapi.ai/api", {
  method: "POST",
  headers: {
    Authorization: "Bearer YOUR_API_KEY",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({ mode: "get_growth", source: "google search", keyword: "ai agents",
                          percent_growth: ["3M", "12M"] }),
});
console.log(await res.json());
```

---

## The three modes

| Mode | What it returns | Needs a keyword? |
|---|---|---|
| `get_time_series` | Historical search interest as a normalized 0-100 series | yes |
| `get_growth` | Growth % over 3M / 6M / 12M / 5Y windows | yes |
| `get_top_trends` | Live trending feeds (21 of them) | no |

## Why teams switch

|  | pytrends / scrapers | Trends API |
|---|---|---|
| 429 rate-limit errors | constant | never |
| Proxies required | often | never |
| Breaks on Google changes | regularly | no - managed |
| Sources covered | Google only | 15 keyword sources + 21 feeds |
| Cross-platform growth | no | yes, one call per source |
| Maintained | pytrends is archived | yes |
| Free tier | n/a | 100 requests/month |

## Use cases

- **SEO research:** track keyword search interest before and after publishing content
- **Market research:** measure consumer demand signals before entering a category
- **Journalism:** verify whether a story is rising or already past peak
- **Investing:** watch brand and product search interest as an alternative-data signal

---

## Use it from your AI assistant (MCP)

The same API key powers the Trends API MCP server, so Claude, Cursor, VS Code, ChatGPT and any MCP-compatible client can query this data in natural language.

[**+ Add to Cursor (one click)**](cursor://anysphere.cursor-deeplink/mcp/install?name=trendsapi&config=eyJ1cmwiOiAiaHR0cHM6Ly9hcGkudHJlbmRzYXBpLmFpL21jcCIsICJoZWFkZXJzIjogeyJBdXRob3JpemF0aW9uIjogIkJlYXJlciBZT1VSX0FQSV9LRVkifX0=)

**Cursor / Windsurf / Cline** (`~/.cursor/mcp.json` or equivalent):

```json
{
  "mcpServers": {
    "trendsapi": {
      "url": "https://api.trendsapi.ai/mcp",
      "transport": "http",
      "headers": { "Authorization": "Bearer YOUR_API_KEY" }
    }
  }
}
```

**VS Code / GitHub Copilot** (`.vscode/mcp.json`):

```json
{
  "servers": {
    "trendsapi": {
      "type": "http",
      "url": "https://api.trendsapi.ai/mcp",
      "headers": { "Authorization": "Bearer YOUR_API_KEY" }
    }
  }
}
```

**Claude Desktop** (`claude_desktop_config.json`):

```json
{
  "mcpServers": {
    "trendsapi": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://api.trendsapi.ai/mcp", "--header", "Authorization:${AUTH_HEADER}"],
      "env": { "AUTH_HEADER": "Bearer YOUR_API_KEY" }
    }
  }
}
```

**Claude.ai (browser):** Settings -> Connectors -> Add custom connector -> `https://api.trendsapi.ai/mcp`

Then ask things like:

```
How did "creatine gummies" grow on TikTok vs Google over the last 12 months?
What is trending on YouTube right now?
```

---

## Every source on the same key

| Source | `source` value | What it measures |
|---|---|---|
| Google Search | `google search` | Search volume |
| Google Images | `google images` | Image search volume |
| Google News | `google news` | News search volume |
| Google Shopping | `google shopping` | Shopping search volume |
| YouTube | `youtube` | Search volume |
| TikTok | `tiktok` | Hashtag volume |
| Reddit | `reddit` | Subreddit subscribers |
| Amazon | `amazon` | Product search volume |
| Wikipedia | `wikipedia` | Page views |
| News volume | `news volume` | Article mention volume |
| News sentiment | `news sentiment` | Positive / negative score |
| App downloads | `app downloads` | Android downloads (AppBrain) |
| App rankings | `app rankings` | Android chart position |
| npm | `npm` | Weekly package downloads |
| Steam | `steam` | Concurrent players (monthly) |

### Live feeds (`get_top_trends`, no keyword needed)

| Feed | `type` value |
|---|---|
| Google Trends | `Google Trends` |
| Google News Top News | `Google News Top News` |
| TikTok Trending Hashtags | `TikTok Trending Hashtags` |
| TikTok Trending Searches | `TikTok Trending Searches` |
| TikTok Shop Hot Products | `TikTok Shop Hot Products` |
| YouTube Trending | `YouTube Trending` |
| X (Twitter) Trending | `X (Twitter) Trending` |
| Reddit Hot Posts | `Reddit Hot Posts` |
| Reddit World News | `Reddit World News` |
| Wikipedia Trending | `Wikipedia Trending` |
| Amazon Best Sellers Top Rated | `Amazon Best Sellers Top Rated` |
| Amazon Best Sellers by Category | `Amazon Best Sellers by Category` |
| App Store Top Free | `App Store Top Free` |
| App Store Top Paid | `App Store Top Paid` |
| Google Play | `Google Play` |
| Top Websites | `Top Websites` |
| Spotify Top Podcasts | `Spotify Top Podcasts` |
| Steam Most Played | `Steam Most Played` |
| GitHub Trending Repos | `GitHub Trending Repos` |
| IMDb MOVIEmeter | `IMDb MOVIEmeter` |
| Open Library Trending Books | `Open Library Trending Books` |

---

## FAQ

### Is this an official Google API?

No. Trends API is an independent managed service that normalizes Google Trends interest into a stable JSON schema. You do not need a Google account, and you never deal with rate-limit blocks or HTML scraping breakage.

### Why not just use pytrends?

pytrends is archived and relies on scraping endpoints Google actively blocks. Users hit 429 errors, broken pipelines and proxy costs. Trends API runs the data infrastructure; you call one POST endpoint and get JSON back.

### What does the 0-100 score mean?

Each keyword series is rescaled against its own history, where 100 is the peak interest in the requested window. Because every source is normalized the same way, a Google score and a TikTok score are directly comparable.

### How far back does history go?

Up to 5 years of weekly data on paid plans. The free tier includes 90 days of history with 24-hour delayed data.

### Can I get what is trending right now?

Yes. Call `get_top_trends` with type `Google Trends` for the live trending searches feed - no keyword needed.

---

## Links

- **Docs & quickstart:** [https://trendsapi.ai/#quickstart](https://trendsapi.ai/#quickstart)
- **llms.txt (machine-readable API reference):** [https://trendsapi.ai/llms.txt](https://trendsapi.ai/llms.txt)
- **Pricing (free tier: 100 requests/month):** [https://trendsapi.ai/#pricing](https://trendsapi.ai/#pricing)
- **Get an API key:** [https://trendsapi.ai/#get-key](https://trendsapi.ai/#get-key)

## License

MIT - see [LICENSE](LICENSE). Data is served by [Trends API](https://trendsapi.ai); usage of the API itself is subject to the plan limits on your key.
apigoogle-trendsgoogle-trends-apigoogle-trends-datajavascriptjsonkeyword-researchmarket-researchmcpmcp-serverpythonpytrendspytrends-alternativerest-apiseotrend-datatrendstrendsapi

What people ask about google-trends-api

What is trendsapi/google-trends-api?

+

trendsapi/google-trends-api is mcp servers for the Claude AI ecosystem. Google Trends API as JSON: normalized 0-100 search interest time series, growth rates and live trending searches. Managed pytrends alternative, no scraping. REST + MCP, free tier. It has 0 GitHub stars and was last updated today.

How do I install google-trends-api?

+

You can install google-trends-api by cloning the repository (https://github.com/trendsapi/google-trends-api) or following the README instructions on GitHub. ClaudeWave also provides quick install blocks on this page.

Is trendsapi/google-trends-api safe to use?

+

trendsapi/google-trends-api has not been audited yet by our security agent. Review the original repository on GitHub before using it in production.

Who maintains trendsapi/google-trends-api?

+

trendsapi/google-trends-api is maintained by trendsapi. The last recorded GitHub activity is from today, with 0 open issues.

Are there alternatives to google-trends-api?

+

Yes. On ClaudeWave you can browse similar mcp servers at /categories/mcp, sorted by popularity or recent activity.

Deploy google-trends-api to your cloud

Ship this repo to production in minutes. Each platform spins up its own environment with editable env vars.

Maintain this repo? Add a badge to your README

Drop the badge into your GitHub README to show it's tracked on ClaudeWave. Each badge links back to this page and reflects the live Trust Score.

Featured on ClaudeWave: trendsapi/google-trends-api
[![Featured on ClaudeWave](https://claudewave.com/api/badge/trendsapi-google-trends-api)](https://claudewave.com/repo/trendsapi-google-trends-api)
<a href="https://claudewave.com/repo/trendsapi-google-trends-api"><img src="https://claudewave.com/api/badge/trendsapi-google-trends-api" alt="Featured on ClaudeWave: trendsapi/google-trends-api" width="320" height="64" /></a>

More MCP Servers

google-trends-api alternatives