# OpenTrends > Tech trends from 240+ sources (AI, programming, hardware, biotech, embodied AI, China tech), refreshed continuously, translated, and distilled into a ten-line daily digest with citations. Open source, self-hostable. Agents should use the JSON API, not the HTML pages. Every endpoint is public and needs no key. ## Read this first - [For Agents](https://opentrends.io/agents): the human-readable overview (skill, MCP, API) - [Skill](https://opentrends.io/skills/opentrends/SKILL.md): how to use the API, with the workflow and response rules - [Skill manifest](https://api.opentrends.io/api/skills/opentrends): current base URL, topics and endpoints (source of truth) - [OpenAPI spec](https://api.opentrends.io/api-reference/spec.json) ## Endpoints - `GET https://api.opentrends.io/api/trends/{topic}/summary?format=json&lang=zh&window=today` — the digest as data: `entries[]` with `takeaway`, `reason`, `citations[]` (`url`, `topic`); `window` is `today`, `week` or `month`; `202` means it is being generated, retry after 30s - `GET https://api.opentrends.io/api/trends/{topic}?lang=zh&items=preview` — every source in a topic with its latest items (`title`, `url`, `publishedAt`, `hotValue`, `original.title`) - `GET https://api.opentrends.io/api/trends/{topic}/sources/{sourceId}?lang=zh` — one source, full item list - `GET https://api.opentrends.io/api/trends/{topic}/events?lang=zh` — clustered stories across sources - `GET https://api.opentrends.io/api/sources` — all source ids and metadata - `GET https://api.opentrends.io/api/trends/{topic}/feed.xml?lang=zh` — latest items as RSS 2.0 - `GET https://api.opentrends.io/api/trends/{topic}/summary.xml?lang=zh&window=today` — the digest as RSS, one entry per edition ## MCP `https://api.opentrends.io/mcp` — Streamable HTTP, stateless, no key. Tools: `get_digest`, `get_topic`, `get_source`, `get_article`, `search`. `search` accepts `since`/`until` to query retained original titles/descriptions (max 31 days), with `nextCursor` pagination. `get_article` reads current or historical bodies by `topic`, `sourceId`, and `itemId`; follow `nextCursor` while `hasMore`. Pages are 12,000 UTF-16 units, extraction is capped at 200,000 units, and `contentTruncated` reports extraction limits. Restricted or unreadable pages return a status. Claude Code: `claude mcp add --transport http opentrends https://api.opentrends.io/mcp`. Topics: `featured` (the cross-topic landing digest), `ai`, `programming`, `hardware`, `biotech`, `embodied`, `cn`. Languages: `zh`, `en`, `zh-Hant`, `ru`, `fr-FR`, `es-ES`, `de-DE`, `pt-BR`. ## Rules - Keep item `url` links when quoting; say which source an item came from. - Do not scrape `https://opentrends.io/...` pages; the API carries the same data. - Do not invent items, dates or links; an empty response means nothing was found.