Back to Browse

Npm Trends Api MCP Server

Developer ToolsLow Risk10.0MCP RegistryRemote
Free

Server data from the Official MCP Registry

npm package download trends and adoption growth over time. Free key at trendsapi.ai

About

npm package download trends and adoption growth over time. Free key at trendsapi.ai

Remote endpoints: streamable-http: https://npm.api.trendsapi.ai/mcp

Security Report

10.0
Low Risk10.0Low Risk

Valid MCP server (1 strong, 1 medium validity signals). No known CVEs in dependencies. Imported from the Official MCP Registry. 1 finding(s) downgraded by scanner intelligence.

Endpoint verified · Open access · 1 issue found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

HTTP Network Access

Connects to external APIs or services over the internet.

env_vars

Check that this permission is expected for this type of plugin.

How to Connect

Remote Plugin

No local installation needed. Your AI client connects to the remote endpoint directly.

Add this to your MCP configuration to connect:

{
  "mcpServers": {
    "ai-trendsapi-npm": {
      "url": "https://npm.api.trendsapi.ai/mcp"
    }
  }
}

Documentation

View on GitHub

From the project's GitHub README.

npm Trends API - package download trends as JSON

License: MIT API v1 MCP compatible Free tier

npm trend data as clean JSON: weekly download time series for any package, growth rates and adoption signals from one REST endpoint. Track any library's trajectory without rebuilding the npm downloads API plumbing.

One endpoint. One API key. One normalized 0-100 trend score you can compare against 14 other platforms.

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


What a call looks like

curl -X POST https://api.trendsapi.ai/api \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"mode": "get_growth", "source": "npm", "keyword": "zod", "percent_growth": ["3M", "12M"]}'
{
  "keyword": "zod",
  "source": "npm",
  "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 - 100 requests/month, no credit card.

2. Make your first call:

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": "npm", "keyword": "zod"}'

Python:

import requests

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

Node.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: "npm", keyword: "zod",
                          percent_growth: ["3M", "12M"] }),
});
console.log(await res.json());

The three modes

ModeWhat it returnsNeeds a keyword?
get_time_seriesHistorical weekly downloads as a normalized 0-100 seriesyes
get_growthGrowth % over 3M / 6M / 12M / 5Y windowsyes
get_top_trendsLive trending feeds (21 of them)no

Why teams switch

npm downloads APITrends API
Date-range plumbingmanualhandled
NormalizationDIY0-100 score, done
Growth ratescompute yourself3M/6M/12M/5Y built in
Compare vs PyPI/Mavennosame scale as 14 other sources
Free tierfree (rate limited)100 requests/month

Use cases

  • Tech selection: is this library still growing, or did adoption plateau last year?
  • DevRel: measure your package's adoption curve after launches and talks
  • Investing in dev tools: track ecosystem momentum across competing frameworks
  • Engineering blogs: back 'why we chose X' posts with download curves

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 / Windsurf / Cline (~/.cursor/mcp.json or equivalent):

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

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

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

Claude Desktop (claude_desktop_config.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

Sourcesource valueWhat it measures
Google Searchgoogle searchSearch volume
Google Imagesgoogle imagesImage search volume
Google Newsgoogle newsNews search volume
Google Shoppinggoogle shoppingShopping search volume
YouTubeyoutubeSearch volume
TikToktiktokHashtag volume
RedditredditSubreddit subscribers
AmazonamazonProduct search volume
WikipediawikipediaPage views
News volumenews volumeArticle mention volume
News sentimentnews sentimentPositive / negative score
App downloadsapp downloadsAndroid downloads (AppBrain)
App rankingsapp rankingsAndroid chart position
npmnpmWeekly package downloads
SteamsteamConcurrent players (monthly)

Live feeds (get_top_trends, no keyword needed)

Feedtype value
Google TrendsGoogle Trends
Google News Top NewsGoogle News Top News
TikTok Trending HashtagsTikTok Trending Hashtags
TikTok Trending SearchesTikTok Trending Searches
TikTok Shop Hot ProductsTikTok Shop Hot Products
YouTube TrendingYouTube Trending
X (Twitter) TrendingX (Twitter) Trending
Reddit Hot PostsReddit Hot Posts
Reddit World NewsReddit World News
Wikipedia TrendingWikipedia Trending
Amazon Best Sellers Top RatedAmazon Best Sellers Top Rated
Amazon Best Sellers by CategoryAmazon Best Sellers by Category
App Store Top FreeApp Store Top Free
App Store Top PaidApp Store Top Paid
Google PlayGoogle Play
Top WebsitesTop Websites
Spotify Top PodcastsSpotify Top Podcasts
Steam Most PlayedSteam Most Played
GitHub Trending ReposGitHub Trending Repos
IMDb MOVIEmeterIMDb MOVIEmeter
Open Library Trending BooksOpen Library Trending Books

FAQ

What npm data does Trends API provide?

Weekly download counts for any package as a normalized time series, plus growth percentages over 3M/6M/12M/5Y windows. Scoped packages like @tanstack/react-query work.

How is this different from api.npmjs.org/downloads?

npm's own API returns raw counts for date ranges you specify. Trends API normalizes those counts to 0-100, computes growth automatically, and returns the same response shape as Google, TikTok and every other source - so comparing a package's adoption against its search interest is trivial.

Can I compare two packages?

One call per package, then compare the normalized values. The 0-100 rescaling makes the comparison meaningful even when absolute download counts differ by 100x.

How fresh is the data?

Weekly series update as npm publishes new counts. Every response includes its own timestamp.

Does it work for scoped packages?

Yes. Pass the full name including the scope, e.g. @tanstack/react-query.


Links

License

MIT - see LICENSE. Data is served by Trends API; usage of the API itself is subject to the plan limits on your key.

Reviews

No reviews yet

Be the first to review this server!