Skip to main content

trendsmcp

PyPI version Python versions License: MIT

Python client for live keyword trend data. Time series, growth percentages, and live feeds from Google Search, YouTube, Reddit, Amazon, TikTok, Wikipedia, npm, Steam, app downloads, and more. One API key. No scraping.

Works as a Python API client in any script, notebook, or pipeline. Also works as an MCP tool — plug it into Claude, Cursor, VS Code Copilot, or any MCP-compatible AI host.

Powered by trendsmcp.ai.

Get a free API key — 100 requests/month, no credit card.

Full API docs · llms.txt


Install

pip install trendsmcp

1. Get a free API key

  1. Open Get API key
  2. Enter your email — no credit card
  3. Copy the key (tmcp_liv…)
export TRENDSMCP_API_KEY="tmcp_liv…"

2. Quick start

import os
from trendsmcp import TrendsMcpClient

client = TrendsMcpClient(api_key=os.environ["TRENDSMCP_API_KEY"])

# ~5 years of weekly time series (REST mode: get_time_series)
series = client.get_time_series(source="google search", keyword="bitcoin")
print(series[0])
# TrendsDataPoint(date='2026-03-21', value=47, volume=25853617, keyword='bitcoin', source='google search')

# Period-over-period growth (defaults to ["12M"] if omitted)
growth = client.get_growth(
    source="google search",
    keyword="nike",
    percent_growth=["12M", "3M", "YTD"],
)
print(growth.results[0])
# GrowthResult(period='12M', growth=-12.31, direction='decrease', ...)

# What's trending right now
trending = client.get_top_trends(type="Google Trends", limit=10)
print(trending.data)
# [[1, 'chuck norris'], [2, 'project hail mary'], ...]

get_trends(...) is kept as an alias for get_time_series(...). Prefer get_time_series in new code.


Methods

get_time_series / get_trends

REST mode: get_time_series (alias get_trends). Returns ~5 years of weekly points for one source + keyword.

Parameter Type Required Description
source str Yes Keyword source (see table below)
keyword str Yes Keyword to query
data_mode str No "weekly" (default) or "daily"

get_growth

REST mode: get_growth. Point-to-point % growth. Omitting percent_growth defaults to ["12M"].

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

REST mode: get_top_trends. Live ranked feed. Omit type to get all feeds. Optional category, limit (default 25), offset.

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


Keyword sources

source Description Keyword format
"google search" Google search volume Any keyword or phrase
"google images" Google image search volume Any keyword or phrase
"google news" Google News search volume Any keyword or phrase
"google shopping" Google Shopping search volume Any keyword or phrase
"youtube" YouTube search volume Any keyword or phrase
"tiktok" TikTok hashtag volume Hashtag or topic
"reddit" Subreddit subscribers Subreddit name only, no r/
"amazon" Amazon product search volume Product name or category
"wikipedia" Wikipedia page views Article title or topic
"news volume" News article mention volume Any keyword or phrase
"news sentiment" News sentiment score Any keyword or phrase
"app downloads" Android app downloads (AppBrain) Bundle ID e.g. com.openai.chatgpt
"app rankings" Android app store rankings Bundle ID e.g. com.himshers.hims
"npm" npm package weekly downloads Exact package name
"steam" Steam concurrent players Game display name e.g. Elden Ring

Always-current list: docs · data sources


Async

import asyncio, os
from trendsmcp import AsyncTrendsMcpClient

async def main():
    client = AsyncTrendsMcpClient(api_key=os.environ["TRENDSMCP_API_KEY"])
    google, youtube = await asyncio.gather(
        client.get_time_series(source="google search", keyword="AI"),
        client.get_time_series(source="youtube", keyword="AI"),
    )
    print(google[-1].value, youtube[-1].value)

asyncio.run(main())

Error handling

from trendsmcp import TrendsMcpClient, TrendsMcpError
import os

client = TrendsMcpClient(api_key=os.environ["TRENDSMCP_API_KEY"])
try:
    client.get_time_series(source="google search", keyword="bitcoin")
except TrendsMcpError as e:
    print(e.status, e.code, e.message)  # e.g. 429 rate_limited

MCP

Same API key works with the hosted MCP server. See docs → Connect.

{
  "mcpServers": {
    "trends-mcp": {
      "url": "https://api.trendsmcp.ai/mcp",
      "transport": "http",
      "headers": { "Authorization": "Bearer YOUR_API_KEY" }
    }
  }
}

Links

License

MIT

Metadata

Release files for trendsmcp 1.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for trendsmcp 1.1.0
File Size Uploaded
trendsmcp-1.1.0.tar.gz 8.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for trendsmcp 1.1.0
File Interpreter ABI Platform
trendsmcp-1.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 17.5 kB

Release files / trendsmcp-1.1.0.tar.gz

Download URL trendsmcp-1.1.0.tar.gz
Size 8.2 kB
Tags Source
SHA-256 checksum
How to use checksums
bd4681b8e6966b61da447bb41a260cddc9e83766eb8c37c6a637f28edaa945f4
BLAKE2b-256 checksum
How to use checksums
bf9bf47250c733d78561c880d03079354422180ae83eb37c91ab4c6e7e2e8c86
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.2

Release files / trendsmcp-1.1.0-py3-none-any.whl

Download URL trendsmcp-1.1.0-py3-none-any.whl
Size 9.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b8b26cdcffc537e7ad27a6f790cc6213b9abc68f9fce1cae667bdc5a2ecc0468
BLAKE2b-256 checksum
How to use checksums
21db2a82d8e063a33b65f201c42fa58d5df3809edab9faa1b96c49a2a0fd8124
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.2

Release history Release notifications | RSS feed

This release

1.1.0 This release

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page