News article mention volume trends for any topic. Free key at trendsapi.ai
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
News mention volume via the Trends API. Media monitoring without scraping news sites.
Key: trendsapi.ai/#get-key. HTTP contract and every source: trendsapi-ai/trendsapi.
Python 3.9+. Same key as the HTTP API.
Keyword helpers default to source: "news volume". Pass source= to hit any other platform with the same client. Official full client (every source, no preset): trendsapi.
| Method | REST mode | Returns |
|---|---|---|
get_time_series(keyword, source=, data_mode=) | get_time_series | list[TrendsDataPoint] |
get_growth(keyword, percent_growth=, source=, data_mode=) | get_growth | GetGrowthResponse |
get_live(limit=, offset=, category=) | get_top_trends | GetTopTrendsResponse |
get_top_trends(type=, ...) | get_top_trends | GetTopTrendsResponse |
source is lowercase (news volume). type is exact (Google News Top News). Mixing them is a 400.
Each point:
| Field | Always | Meaning |
|---|---|---|
date | yes | YYYY-MM-DD |
value | yes | 0-100 index for this series |
keyword | yes | Echo |
volume | no | Absolute volume when available |
source or datatype | no | Pipeline label |
Python returns list[TrendsDataPoint]. Use .date and .value, not ["date"].
JS returns the same fields as object properties.
percent_growth default: ["12M"]. Presets: 7D 14D 30D 1M 2M 3M 6M 9M 12M/1Y 18M 24M/2Y 36M/3Y 48M 60M/5Y MTD QTD YTD. Custom: {"name": "Launch", "recent": "2024-06-01", "baseline": "2024-01-01"}.
| Field | Meaning |
|---|---|
search_term | Keyword |
data_source | Source |
results | One object per window (period, growth, direction, dates, values) |
metadata | Counts / success flag |
Several windows still count as one request. Python: growth.results[0].growth. JS: growth.results[0].growth.
| Field | Meaning |
|---|---|
as_of_ts | Snapshot time |
type | Feed name |
limit, offset, count | Pagination |
data | [rank, label] rows |
Python: hot.data. JS: hot.data. Optional offset= and category= (Amazon Best Sellers by Category, Top Websites only).
Each 200 is one billed request.
Node 18+, Deno, Bun, Workers. Same API key. Field tables above apply.
| Method | REST mode | Returns |
|---|---|---|
getTimeSeries(keyword, { source, data_mode }) | get_time_series | weekly points |
getGrowth(keyword, { percent_growth, source, data_mode }) | get_growth | growth object |
getLive({ limit, offset, category }) | get_top_trends | live feed |
getTopTrends({ type, ... }) | get_top_trends | live feed |
| Field | Value |
|---|---|
| Endpoint | POST https://api.trendsapi.ai/api |
| Auth | Authorization: Bearer $TRENDSAPI_KEY |
| History | source: news volume with get_time_series or get_growth |
| Keyword | Any phrase, e.g. federal reserve |
Live type | Google News Top News |
source: news sentiment is tone, not mention count.| HTTP | Client |
|---|---|
| 200 | Parsed payload. Python dataclasses / JS typed objects |
| 400 | Raises. Fix source or type spelling |
| 401 | Raises. Check TRENDSAPI_KEY |
| 404 | Raises. No series for that keyword. Do not retry |
| 429 | Raises. Quota |
| 5xx | Client retries, then raises |
The HTTP body field is a JSON string. SDKs decode it. Raw curl must parse body a second time.
Site: https://trendsapi.ai/trends/news-trends.
MIT. See LICENSE.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/news-volume-api-2)<a href="https://allmcps.com/mcp/news-volume-api-2"><img src="https://allmcps.com/api/badge/news-volume-api-2?style=directory" alt="News Volume API on AllMCPs" /></a>