YouTube Trends API

YouTube has no public trends API. Trends MCP gives you structured YouTube search interest data over time via a single POST endpoint. Weekly series, period-over-period growth, and live top searches - no scraping, no quota negotiation.

YouTube publishes no keyword-level search interest data via API. The Data API covers uploads, comments, and channel metrics. What people are actually searching for - and how that's shifted over months or years - is not available through any official channel.

Trends MCP provides that data as a REST API. One POST endpoint, Bearer token auth, JSON responses.

Endpoint

POST https://api.trendsmcp.ai/api
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

Get a time series

Returns weekly YouTube search interest for a keyword over the past 5 years, normalized 0-100.

{
  "source": "youtube",
  "keyword": "lofi study music"
}

Response shape:

[
  {
    "date": "2026-03-21",
    "value": 72,
    "volume": null,
    "keyword": "lofi study music",
    "source": "youtube"
  }
]

Switch to daily granularity for the last 30 days:

{
  "source": "youtube",
  "keyword": "lofi study music",
  "data_mode": "daily"
}

Measure growth

Calculate percentage change between any two points in time. Pass multiple periods in one call.

{
  "source": "youtube",
  "keyword": "asmr",
  "percent_growth": ["3M", "1Y", "3Y"]
}

Growth presets available: 7D 14D 30D 1M 2M 3M 6M 9M 12M 1Y 18M 24M 2Y 36M 3Y 48M 60M 5Y MTD QTD YTD

Custom date pairs also work:

{
  "source": "youtube",
  "keyword": "asmr",
  "percent_growth": [
    { "name": "vs last year", "recent": "2026-01-01", "baseline": "2025-01-01" }
  ]
}

Get what's trending right now

Pull the live YouTube trending searches feed without a keyword:

{
  "mode": "top_trends",
  "type": "Google Trends",
  "limit": 25
}

Code examples

Python

import requests

res = requests.post(
    "https://api.trendsmcp.ai/api",
    headers={"Authorization": "Bearer YOUR_API_KEY"},
    json={"source": "youtube", "keyword": "asmr", "percent_growth": ["3M", "1Y"]}
)
data = res.json()

JavaScript

const res = await fetch("https://api.trendsmcp.ai/api", {
  method: "POST",
  headers: {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({ source: "youtube", keyword: "asmr", percent_growth: ["3M", "1Y"] })
});
const data = await res.json();

Errors

Status Code Meaning
400 missing_parameter Required field absent from request body
400 invalid_source Source value not recognized
401 Missing or invalid API key
404 not_found No data for this keyword
429 rate_limited Monthly limit reached

Common questions

No. YouTube's Data API covers video metadata and channel stats, not keyword-level search interest over time. Trends MCP fills that gap with normalized weekly series and growth metrics for any search term.
Pass 'youtube' as the source field. The keyword can be any search term or phrase - topic, creator name, video category, or product.
Values are normalized 0-100, where 100 represents the peak interest point for that keyword in the requested window. Absolute volume estimates are included where available.
Yes. Pass data_mode: 'daily' to get the last 30 days at daily granularity instead of the default 5-year weekly series.
Get YouTube Trends API in 30 seconds
Free tier includes 100 requests per month. No credit card required. Works with Claude, Cursor, ChatGPT, Raycast, and every MCP client.
Get your free API key