Trending searches
Fetch what is trending right now, and choose between the RPC and RSS backends — one gives growth figures, the other the news articles behind each trend.
Trending backends: RPC and RSS
Google exposes trending searches two ways. They are not interchangeable, so backend lets
you pick:
"rpc" (batchexecute) | "rss" (feed) | |
|---|---|---|
| items | 50 | 10 |
| payload | ~2 KB JSON | ~21 KB XML |
| growth % and volume | ✅ | ❌ — buckets like "2000+" |
| news articles | ❌ | ✅ |
window selection | ✅ | ignored by Google |
| worldwide | ✅ | ❌ country only |
rss = tf.trending_now(Region.US, backend="rss")
rss.source # "rss"
rss.results[0].articles
# [TrendingArticle(title='...', url='https://...', source='Buffalo News', picture='https://...')]
"auto" (the default) tries the RPC and falls back to the feed. The RPC comes first
deliberately: it returns five times the items with real growth figures, so defaulting to RSS
would quietly degrade results. Reach for "rss" when you want the articles — that is the
one thing the RPC cannot give you — or as a second opinion if the RPC id ever goes stale.
Note that the feed is not a lighter path despite being a feed, and Google ignores hours,
sort and count on it: it always returns the same 10 entries.
Trending now
Google retired the hottrends/visualize/internal/data endpoint, along with
api/dailytrends and api/realtimetrends; all three now return HTTP 404. trending_now()
therefore runs on the batchexecute RPC that trends.google.com itself uses, which returns
more than the old endpoint did:
trending = tf.trending_now(Region.US)
for item in trending.results:
print(item.title, item.growth, item.volume, item.traffic)
# "fifa world cup 2026" 3650 6 "+3,650%"
growthis the percentage rise over the window,volumea relative search-volume index.- Any country code works, not a fixed list, and worldwide is now allowed (and the default).
articlesis always empty — this endpoint carries no article links.- No cookie is needed, and the RPC answers on IPs that get a
429from the widgetdata endpoints, sotrending_now()often works where the other queries do not.
Pass window=TRENDING_WINDOW_TOP for the highest-volume searches instead of the
fastest-growing ones. window is an undocumented Google parameter; other integers between
4 and 12 also return data over varying recency windows.
