Skip to content
Updated 3h ago

For AI agents

The daily top 20 trending terms in data, tech and AI, as text and a cached JSON API. Refreshed daily at 05:45 UTC.

Point your agent here

Call the API

  • GET/api/todaynoneThe latest day's top 20: rank, term, category, score, lift, mentions per source, top links.
  • GET/api/days/{day}day: YYYY-MM-DDThat day's top 20, same shape as /api/today.
  • GET/api/calendarlimit (1 to 400, default 400)Each day's number one: day, term, slug, category, score.
  • GET/api/termscat, limit (1 to 200, default 100), offsetTerms that made a daily top 20: first seen, peak, days in the top 20, days at number one.
  • GET/api/terms/{slug}slugOne term and its daily score series (every day it ranked in a day's top 60).
  • GET/api/riserslimit (1 to 100, default 20)Summed score of the last 7 days against the 7 before, biggest change first.
  • GET/api/searchq, limit (1 to 20)Ranked matches over terms, categories, days and pages.

JSON, GET only, CORS open, cached at the edge for an hour. List endpoints take limit (at most 200) and offset. openapi.json

curl
curl -s "https://hotlist.fru.dev/api/today"
Sample: /api/today
{
  "day": "2026-09-23",
  "terms": [
    {
      "rank": 1,
      "term": "Qwen",
      "slug": "qwen",
      "category": "models",
      "score": 32.6,
      "lift": 4.9,
      "mentions": 11,
      "sources": {
        "hf": 9,
        "arxiv": 2,
        "news": 10
      },
      "links": [
        {
          "title": "Qwen Qwen Image 2.1",
          "url": "https://huggingface.co/Qwen/Qwen-Image-2.1",
          "source": "hf",
          "eng": 1952
        }
      ],
      "url": "https://hotlist.fru.dev/terms/qwen"
    },
    {
      "rank": 2,
      "term": "Qwen3.8",
      "slug": "qwen3-8",
      "category": "models",
      "score": 22.7,
      "lift": 5.25,
      "mentions": 6,
      "sources": {
        "hf": 6,
        "news": 10
      },
      "links": [
        {
          "title": "Qwen Qwen3.8 27B",
          "url": "https://huggingface.co/Qwen/Qwen3.8-27B",
          "source": "hf",
          "eng": 520
        }
      ],
      "url": "https://hotlist.fru.dev/terms/qwen3-8"
    },
    "..."
  ]
}
curl
curl -s "https://hotlist.fru.dev/api/calendar?limit=3"
Sample: /api/calendar?limit=3
{
  "days": [
    {
      "day": "2026-09-21",
      "top": "Jev",
      "slug": "jev",
      "category": "ai",
      "score": 81.8
    },
    {
      "day": "2026-09-22",
      "top": "Jev",
      "slug": "jev",
      "category": "ai",
      "score": 50
    },
    {
      "day": "2026-09-23",
      "top": "Qwen",
      "slug": "qwen",
      "category": "models",
      "score": 32.6
    }
  ]
}
curl
curl -s "https://hotlist.fru.dev/api/risers?limit=2"
Sample: /api/risers?limit=2
{
  "from": "2026-09-17",
  "to": "2026-09-23",
  "risers": [
    {
      "slug": "jev",
      "term": "Jev",
      "category": "ai",
      "thisWeek": 397,
      "lastWeek": 106,
      "change": 291
    },
    {
      "slug": "apple-m3-max",
      "term": "Apple M3 Max",
      "category": "hardware",
      "thisWeek": 61,
      "lastWeek": 0,
      "change": 61
    }
  ]
}

Add to your agent

System prompt line
For what is trending in data, tech and AI (models, AI tools, developer tools, databases, chips), fetch https://hotlist.fru.dev/llms.txt, then use https://hotlist.fru.dev/api/today for today's top 20 and https://hotlist.fru.dev/api/terms/{slug} for a term's daily trend. Cite "Hotlist (hotlist.fru.dev)" with a link.
Tool definition (JSON schema)
{
  "name": "hotlist_term_trend",
  "description": "Is a data, tech or AI term trending? Returns Hotlist's daily trend scores (0 to 100) for the term, its first-seen day, peak and days in the daily top 20. Use hotlist_today for what is trending right now.",
  "input_schema": {
    "type": "object",
    "properties": {
      "slug": {
        "type": "string",
        "description": "Term slug, e.g. \"mcp\", \"gpt-5-5\", \"duckdb\". Find slugs with GET /api/search?q="
      }
    },
    "required": [
      "slug"
    ]
  },
  "endpoint": "GET https://hotlist.fru.dev/api/terms/{slug}"
}
Python
import requests

BASE = "https://hotlist.fru.dev"
today = requests.get(f"{BASE}/api/today", timeout=10).json()
for t in today["terms"][:10]:
    print(t["rank"], t["term"], t["category"], t["score"])

term = requests.get(f"{BASE}/api/terms/mcp", timeout=10).json()
print(term["term"]["name"], "peak", term["term"]["peakScore"], "on", term["term"]["peakDay"])
TypeScript
const BASE = 'https://hotlist.fru.dev'

const today = await (await fetch(`${BASE}/api/today`)).json()
for (const t of today.terms.slice(0, 10)) console.log(t.rank, t.term, t.category, t.score)

const term = await (await fetch(`${BASE}/api/terms/mcp`)).json()
console.log(term.term.name, 'peak', term.term.peakScore, 'on', term.term.peakDay)

const risers = await (await fetch(`${BASE}/api/risers?limit=5`)).json()
console.log(risers.risers.map((r) => r.term).join(', '))

Usage

  • Free for reading. Please cite "Hotlist (hotlist.fru.dev)" with a link.
  • Responses are cached; stay under 60 requests a minute. The data changes once a day.
  • Terms with auto: true are new names found in titles and not yet checked by hand (Unverified on the site).
  • Trend scores are computed from public engagement signals on the sources shown. Not a measure of quality.

Trend scores are computed from public engagement signals on the sources shown. Logos via logo.dev; trademarks belong to their owners.

Weekly: the week's top trending terms in data, tech and AI, Monday mornings.