Looker is a modeling layer on SQL. It is not an HTTP client for Trends API. A loader POSTs https://api.trendsapi.ai/api, parses the string body, and writes BigQuery (or another warehouse). The Explore reads those tables. Power BI and Grafana can sit on the same tables. Fields: the API reference. Caps: pricing.
LookML does not hold the Bearer header
The key stays in the function, DAG, or notebook that pulls. Official docs say not to ship it in a public repo. LookML in git is a public repo. Connection credentials on the warehouse are enough for the Explore.
If a team has no warehouse yet, stop here and land rows first. Do not paste Web.Contents into LookML. That pattern belongs in Excel or Power BI.
Two measures, one dimension for source
measure: score {
type: average
sql: ${TABLE}.value ;;
}
measure: growth_pct {
type: average
sql: ${TABLE}.growth ;;
}
dimension: source {
sql: ${TABLE}.source ;;
}
source values are strings such as google search. A comma-separated multi-source POST should already be split into one row per platform in the growth table. Compare logic is on compare sources.
Do not hide tiktok date_out_of_range rows as zero growth. Keep a status column if the loader stored it.
Live boards are snapshots
get_top_trends needs as_of_ts. A view that drops that timestamp and joins on label alone will mix yesterday's rank 1 with today's. Board fields sit on get_top_trends. Weekly history stays on the series table from get_time_series.