The live Google Trends board is get_top_trends with type Google Trends. There is no keyword. Daily Trends HTML and RSS are pages, not a contract. pytrends trending_searches scraped those pages. Trends API returns ranked rows in the same envelope as keyword modes. body is a JSON string and must be parsed a second time. Docs: the API reference. Google notes: the Google Trends guide. Caps: pricing.

Daily Trends HTML is not a contract

Google Trends can move markup without notice. A CSS selector is not an API. The official Trends API alpha is a different, gated product and is not this board call.

type Google Trends, omit keyword

POST https://api.trendsapi.ai/api
Authorization: Bearer <api_key>
Content-Type: application/json

{"mode":"get_top_trends","type":"Google Trends","limit":5}

A live pull on 2026-08-27 returned five rows: dolly parton, tim curry, nepal, carl dean, jed york. Those strings change through the day. Cache with a short TTL. Do not treat yesterday's row 1 as a dimension key.

Keyword history stays on source google search. A live get_growth pull the same day for air fryer is a different mode and a different question.

Category board when the mix is wrong

Google Trends by Category is a second type. It requires category set to an official name. Without that field the category feed mixes boards. Do not pass category on the default Google Trends type to fake a filter that is not there.

rank versus rank_change

Default sort is rank, current leaders. sort rank_change returns climbers against a prior snapshot. window is one of 1d, 3d, 7d, 14d, 30d and applies only to rank_change. Short windows fail on feeds that are not daily. Mover rows include rank, keyword, prev_rank, and rank_change. The product MCP server at https://api.trendsapi.ai/mcp uses the same type string.