Skip to main content
ClaudeWave

npm Trends API as JSON: weekly package download time series, growth rates and adoption signals for any package. Normalized 0-100, comparable across ecosystems. REST + MCP, free tier.

MCP ServersRegistry oficial0 estrellas0 forksMITActualizado today
Install in Claude Code / Claude Desktop
Method: Manual
Claude Code CLI
git clone https://github.com/trendsapi/npm-trends-api
claude_desktop_config.json (Claude Desktop)
{
  "mcpServers": {
    "npm-trends-api": {
      "command": "node",
      "args": ["/path/to/npm-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/npm-trends-api and follow its README for install instructions.
Casos de uso

Resumen de MCP Servers

# npm Trends API - package download trends as JSON

[![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)

> **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](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": "npm", "keyword": "zod", "percent_growth": ["3M", "12M"]}'
```

```json
{
  "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](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": "npm", "keyword": "zod"}'
```

**Python:**

```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:**

```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

| Mode | What it returns | Needs a keyword? |
|---|---|---|
| `get_time_series` | Historical weekly downloads 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

|  | npm downloads API | Trends API |
|---|---|---|
| Date-range plumbing | manual | handled |
| Normalization | DIY | 0-100 score, done |
| Growth rates | compute yourself | 3M/6M/12M/5Y built in |
| Compare vs PyPI/Maven | no | same scale as 14 other sources |
| Free tier | free (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://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

### 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

- **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.
apideveloper-toolsjavascriptjsonmcpmcp-servernpmnpm-apinpm-downloadsnpm-trendsopen-sourcepackage-statspythonrest-apitrend-datatrendsapitypescript

Lo que la gente pregunta sobre npm-trends-api

¿Qué es trendsapi/npm-trends-api?

+

trendsapi/npm-trends-api es mcp servers para el ecosistema de Claude AI. npm Trends API as JSON: weekly package download time series, growth rates and adoption signals for any package. Normalized 0-100, comparable across ecosystems. REST + MCP, free tier. Tiene 0 estrellas en GitHub y se actualizó por última vez today.

¿Cómo se instala npm-trends-api?

+

Puedes instalar npm-trends-api clonando el repositorio (https://github.com/trendsapi/npm-trends-api) o siguiendo las instrucciones del README en GitHub. ClaudeWave también te ofrece bloques de instalación rápida en esta misma página.

¿Es seguro usar trendsapi/npm-trends-api?

+

trendsapi/npm-trends-api aún no ha sido auditado por nuestro agente de seguridad. Revisa el repositorio original en GitHub antes de usarlo en producción.

¿Quién mantiene trendsapi/npm-trends-api?

+

trendsapi/npm-trends-api es mantenido por trendsapi. La última actividad registrada en GitHub es de today, con 0 issues abiertos.

¿Hay alternativas a npm-trends-api?

+

Sí. En ClaudeWave puedes explorar mcp servers similares en /categories/mcp, ordenados por popularidad o actividad reciente.

Despliega npm-trends-api en tu cloud

Lleva este repo a producción en minutos. Cada plataforma genera su propio entorno con variables de entorno editables.

¿Mantienes este repo? Añade un badge a tu README

Pega el badge en tu README de GitHub para mostrar que está auditado por ClaudeWave. Cada badge enlaza de vuelta a esta página y muestra el Trust Score actual.

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

Más MCP Servers

Alternativas a npm-trends-api