> **For coding agents and LLMs:** This is one Social Fetch marketing page (markdown export). For API orientation start with [`/llms.txt`](https://www.socialfetch.dev/llms.txt); for auth and crawl rules use [`/agents.txt`](https://www.socialfetch.dev/agents.txt); for every operation use [`/llms-endpoints.txt`](https://www.socialfetch.dev/llms-endpoints.txt).

## This page

- **On-site (HTML):** <https://www.socialfetch.dev/platforms/google-news/topics-topicid>
- **Markdown (.mdx) URL:** <https://www.socialfetch.dev/platforms/google-news/topics-topicid.mdx>

---

# Google News Topic API

A topic's stream, a single sub-tab, or a publisher's articles, with the rich article fields.

`GET /v1/google-news/topics/{topicId}` returns `lookupStatus`, `topic`, `articles` and `streamStatus`. `topic` has `id`, `name` and `tabs`, where each tab is `{ id, name }`. Pass a tab id as `tab` to get that tab instead of the topic's latest stream. `streamStatus` is `live` when articles were returned, `empty` when the entity has no stream in this edition right now, and `unreadable` or `unavailable` when a stream is temporarily unavailable.

This is the rich article surface. Each article carries `url`, `ampUrl`, `image`, `authors`, `label`, `storyId` and `clusterHeadline` when the record has them, alongside the standard `id`, `title`, `publishedAt` and `source`. A topic stream can hold up to about 265 articles and the answer returns at most 400. There is no page parameter.

Some entity topics have no stories for a period. That answer is `lookupStatus: found` with `articles: []`, because the topic exists. An id that does not exist returns `not_found` with `topic: null`. The same route also accepts a publisher id, but `GET /v1/google-news/publishers/{publicationId}` is the dedicated publisher surface.

## Request

- **Endpoint:** `GET /v1/google-news/topics/{topicId}`
- **Credits:** 1 credit
Failed requests are free
- **Input:** by topic id
- **Full reference:** [docs](https://www.socialfetch.dev/docs/api/v1/google-news/topics/topicid/get)
- **Platform page:** [/platforms/google-news](https://www.socialfetch.dev/platforms/google-news)

## FAQ

### Where does the topic id come from?

From `topics/resolve`, from a section id, from `sections`, or from an article record. A publisher id from `source.publicationId` is also accepted.

### How do I read one tab?

Read `topic.tabs` and send a tab `id` as `tab`. Without `tab`, the route returns the topic's latest stream.

### Why did a known topic return no articles?

Entity topics can have no stories for a period. The topic is still found; the list is empty. Retrying will not change it, so treat this as a valid empty answer.

### How do I page through a topic?

You cannot. The stream returns its full window in one answer, capped at 400 articles. Use search with a time window when you need older coverage.

### How many credits does it cost?

Pricing is documented on the operation in the API registry (shown on this page). Confirm on every response with meta.creditsCharged: that field is the billing source of truth.
