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
- https://hotlist.fru.dev/llms.txtSummary, today's ranking and the number one of each day
- https://hotlist.fru.dev/llms-full.txtEvery ranked term of every day, one line each
- https://hotlist.fru.dev/openapi.jsonOpenAPI 3.1 spec of the read API, for tool use
Call the API
MethodPathParametersReturns
- 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.