Breakout queries on Google Trends are terms whose search interest spiked faster than historical baselines predict. Detecting them programmatically requires two signals: the live Google Trends leaderboard and week-over-week growth on individual keywords. This page defines spike thresholds, API call patterns, and false-positive filters.
Breakout queries are the highest-value signal in trend monitoring. They mark terms moving faster than their historical curve predicts, often hours or days before mainstream coverage. The Google Trends website labels these with a Breakout tag on relative charts. An API pipeline can approximate the same signal by combining live leaderboard polling with growth math on weekly search data.
For normalized Google Search time series and MCP setup, see Google Trends data for AI assistants.
No single API field returns a Breakout boolean. Detection requires combining a presence signal and a velocity signal.
| Signal | Source | What it catches |
|---|---|---|
| Presence | get_top_trends type Google Trends | Terms entering or climbing the live leaderboard |
| Velocity | get_growth source google search | Terms whose weekly interest jumped vs baseline |
A term on the leaderboard with flat growth is likely a sustained high-volume query, not a breakout. A term with 300% weekly growth that never appears on the leaderboard may be too niche to matter. Strong breakouts show both.
{
"mode": "get_top_trends",
"type": "Google Trends",
"limit": 25
}
Response shape:
{
"as_of_ts": "2026-07-23T06:00:00Z",
"type": "Google Trends",
"limit": 25,
"data": [[1, "query one"], [2, "query two"]]
}
Store each poll in a key-value store keyed by as_of_ts. Compare the current data array against the previous snapshot.
Rank-entry rule: Flag any term that was absent from the prior top-25 list.
Rank-jump rule: Flag any term that moved up five or more positions since the last poll.
A 30-minute poll interval balances freshness against quota. Hourly polling misses fast-moving news cycles. Five-minute polling burns 8,640 requests per month on leaderboard calls alone.
For each flagged candidate, call get_growth:
{
"mode": "get_growth",
"source": "google search",
"keyword": "candidate term",
"percent_growth": ["7D", "30D", "12M"]
}
Interpret the results array:
| Period | Breakout threshold | Interpretation |
|---|---|---|
| 7D | growth > 150% | Sharp short-term spike |
| 30D | growth > 100% | Sustained acceleration |
| 12M | growth > 50% | Not purely seasonal replay |
A candidate passing all three thresholds is a high-confidence breakout. A candidate with high 7D growth but negative 12M growth may be a dead-cat bounce on a declining topic.
Example growth response field:
{
"period": "7D",
"growth": 284.5,
"direction": "increase",
"recent_value": 78,
"baseline_value": 20
}
The recent_value and baseline_value fields are normalized 0-100 scores, not absolute volumes. Cross-check absolute scale with volume fields on get_time_series when available.
Before alerting, fetch five years of weekly history:
{
"mode": "get_time_series",
"source": "google search",
"keyword": "candidate term"
}
Scan the returned array for prior spikes at the same calendar week in previous years. A term that hit value 90 in the same week of 2024 and 2025 is seasonal. A term with no prior activity above value 20 before this month is a genuine breakout.
This step costs one additional request per confirmed candidate. Skip it for terms with fewer than 12 months of data points in the response.
| Workflow | Requests per day | Monthly total |
|---|---|---|
| Leaderboard poll every 30 min | 48 | ~1,440 |
| 5 growth confirmations per day | 5 | 150 |
| 5 time series context pulls | 5 | 150 |
The free tier at 100 requests per month cannot sustain continuous leaderboard polling. Practical free-tier patterns:
Paid tiers scale request limits. Batch growth confirmations into a single cron run rather than firing one job per candidate.
Inside Claude, Cursor, or any MCP-connected assistant, natural-language prompts route to the same tools:
The assistant chains leaderboard, growth, and time series calls in one conversation. For production alerting, the REST patterns above run on a scheduler without an LLM in the loop.
Google breakouts that also spike on TikTok, Reddit, or news volume are more likely to sustain than search-only blips. After confirming a Google breakout, optional get_growth calls on additional sources add confidence:
{
"mode": "get_growth",
"source": "google search, tiktok, reddit, news volume",
"keyword": "candidate term",
"percent_growth": ["7D", "30D"]
}
One request returns growth across four sources. A term growing on all four simultaneously is a cross-platform breakout. A term spiking only on Google may reflect a localized news event or autocomplete artifact.
For broader real-time feed coverage beyond Google, see the real-time trends API.
FAQ