Google News topic IDs that still work
Eight Google News topic IDs worked on 2026-10-17, and so did most IDs copied from topic pages. But four IDs that looked fine returned a 200 with zero items, which is easy to miss. Below is every ID we fetched, the status it returned, and how to check the ones you find yourself.
Our Google News RSS feed guide said it had confirmed the /rss/topics/<ID> form only with the ID a redirect returned, "not with IDs copied from topic pages". This post runs that test. We ran everything on 2026-10-17 between 19:29 and 19:37 UTC, from a home connection (KPN, Amsterdam, Netherlands) with curl (no login) and, for browsing topic pages, a Chrome session signed in to a Google account. Google does not document these URLs, so read the table as a snapshot. See is there a Google News API for why.
Google News topic IDs we tested on 2026-10-17
Each section URL was https://news.google.com/rss/headlines/section/topic/<NAME>?hl=en-US&gl=US&ceid=US:en. We then fetched the ID it redirected to at /rss/topics/<ID> with the same parameters. User agent: Mozilla/5.0 (compatible; Feedmarkdown/1.0; +https://feedmarkdown.com), one request per URL, 2 seconds apart.
| Topic | Section URL | Direct ID fetch | Items | Newest item (UTC) | Channel title |
|---|---|---|---|---|---|
| WORLD | 302 | 200 | 70 | 19:26 | World - Latest |
| NATION | 302 | 200 | 70 | 18:30 | U.S. - Latest |
| BUSINESS | 302 | 200 | 70 | 17:03 | Business - Latest |
| TECHNOLOGY | 302 | 200 | 61 | 15:38 | Technology - Latest |
| ENTERTAINMENT | 302 | 200 | 67 | 17:01 | Entertainment - Latest |
| SCIENCE | 302 | 200 | 62 | 14:46 | Science - Latest |
| SPORTS | 302 | 200 | 70 | 19:15 | Sports - Latest |
| HEALTH | 302 | 200 | 70 | 17:51 | Health - Latest |
All 8 section URLs returned 302. All 8 IDs returned 200, application/xml, and a channel title that matched the name. NATION is titled "U.S." There was no HTML body and no empty feed. The item count moves: TECHNOLOGY gave 61 items on the first fetch and 59 a few minutes later.
The full IDs, copy-pasteable. Put each after https://news.google.com/rss/topics/:
WORLD CAAqKggKIiRDQkFTRlFvSUwyMHZNRGx1YlY4U0JXVnVMVlZUR2dKVlV5Z0FQAQ
NATION CAAqJggKIiBDQkFTRWdvSkwyMHZNRGxqTjNjd0VnVmxiaTFWVXlnQVAB
BUSINESS CAAqKggKIiRDQkFTRlFvSUwyMHZNRGx6TVdZU0JXVnVMVlZUR2dKVlV5Z0FQAQ
TECHNOLOGY CAAqKggKIiRDQkFTRlFvSUwyMHZNRGRqTVhZU0JXVnVMVlZUR2dKVlV5Z0FQAQ
ENTERTAINMENT CAAqKggKIiRDQkFTRlFvSUwyMHZNREpxYW5RU0JXVnVMVlZUR2dKVlV5Z0FQAQ
SCIENCE CAAqKggKIiRDQkFTRlFvSUwyMHZNRFp0Y1RjU0JXVnVMVlZUR2dKVlV5Z0FQAQ
SPORTS CAAqKggKIiRDQkFTRlFvSUwyMHZNRFp1ZEdvU0JXVnVMVlZUR2dKVlV5Z0FQAQ
HEALTH CAAqJQgKIh9DQkFTRVFvSUwyMHZNR3QwTlRFU0JXVnVMVlZUS0FBUAE
The IDs come in two lengths. The top navigation bar on news.google.com links to a second, shorter ID for each section (for example CAAqJggKIiBDQkFTRWdvSUwyMHZNRGRqTVhZU0FtVnVHZ0pWVXlnQVAB for Technology). We fetched all 9 of those too. Eight returned a 200, the matching channel title and the same item counts as above. The ninth is "Local", covered below.
Why the section URLs return a 302
The section URL does not serve a feed. It answers 302 and points at the ID URL. This is the raw output for TECHNOLOGY, then the fetch of the ID it returned:

For a scheduled job, store the ID and fetch it directly. That is one request instead of two. We re-ran all 8 section URLs about six minutes after the first run and every redirect target was identical. We ran them again on 2026-10-20 at 12:17 UTC, about three days later, from the same connection. All 8 redirects pointed at the same IDs, and all 8 IDs still returned 200 with application/xml. Use curl -L if you only fetch occasionally and would rather not store anything.
This 302 has nothing to do with the redirect links inside feed items. Those point to articles, not topics. Finding the real article URL covers that one.
What else we saw on section URLs:
| URL | Result |
|---|---|
.../section/topic/world (lowercase) |
301 to https://news.google.com/ |
.../section/topic/technology (lowercase) |
301 to https://news.google.com/ |
.../section/topic/FOO |
301 to https://news.google.com/ |
Names must be upper case. A wrong name does not give an error status. It sends you to the home page, so a script that follows redirects would fetch an HTML page.
How to find the ID for any other topic
- Open
https://news.google.com/and find the topic. Use the search box and pick a result labelled Topic or Location. - Copy the string after
/topics/in the address bar. It starts withCAAq. - Put it into
https://news.google.com/rss/topics/<ID>?hl=en-US&gl=US&ceid=US:en. - Check the response: status, item count and channel title.
curl -s -A "Mozilla/5.0 (compatible; Feedmarkdown/1.0; +https://feedmarkdown.com)" \
"https://news.google.com/rss/topics/CAAqIAgKIhpDQkFTRFFvSEwyMHZNRzFyZWhJQ1pXNG9BQVAB?hl=en-US&gl=US&ceid=US:en" \
| grep -o "<item>" | wc -l
That is the "Artificial intelligence" topic. On 2026-10-17 it returned 200, 62 items and the channel title "Artificial intelligence - Latest - Google News".

We opened news.google.com in Chrome and took IDs from topic pages we reached by search or by clicking. The page address is /topics/<ID>, and for these topics the ID is the same string the RSS URL wants. No consent screen appeared in the signed-in browser. A plain curl request to a /topics/<ID> page was a different story: it got a 302 to consent.google.com. The /rss/... paths never redirected to consent in our runs.
What the topic pages gave us
| Source | ID for | Direct fetch | Items | Channel title |
|---|---|---|---|---|
| Search result | Artificial intelligence | 200 | 62 | Artificial intelligence |
| Search result | Amsterdam (location) | 200 | 17 | Amsterdam |
| Search result | OpenAI | 200 | 0 | OpenAI |
| Search result | Tesla | 200 | 0 | Tesla |
| Search result | NASA Johnson Space Center | 200 | 0 | NASA Johnson Space Center |
| Navigation bar | "Local" | 200 | 0 | Your local news - Alkmaar |
| Navigation bar | The 8 sections | 200 | 61 to 70 | Matching the names |
Of the 14 IDs we copied from the page, 10 returned items and 4 returned a 200 with an empty channel. The empty ones are a 200 with a valid XML envelope, a title, and no <item> elements, about 1,150 bytes. The Content-Type is the same as for a good feed, so a check on status alone passes them. The Tesla topic page in the browser said "There are no items to show", so the feed and the page agreed. We got the same empty result for the Tesla and OpenAI IDs with hl=en-GB&gl=GB&ceid=GB:en, and again for both on 2026-10-20.

We do not know why these entity topics are empty. On 2026-10-20 we also fetched the topic IDs the search page offered for "Tesla" (Roadster, Model 3, Model S, Model X, Model Y, Cybertruck, Cybercab, Nikola Tesla and a second plain Tesla ID). All returned 200 with zero items. We did not test entity topics outside the Tesla, OpenAI and NASA families, so we cannot say whether every entity topic is empty.
The "Local" ID is personal to the request. Its channel title named the town our IP address maps to, and the feed had no items. Do not use it as a stable feed.
Sub-topics need a different path
The tabs on a topic page (Mobile, Artificial intelligence, Computing under Technology) have longer IDs in the address bar: /topics/<TOPIC_ID>/sections/<SECTION_ID>. Using only the section ID at /rss/topics/<SECTION_ID> returned 400. Keeping both parts worked:
https://news.google.com/rss/topics/<TOPIC_ID>/sections/<SECTION_ID>?hl=en-US&gl=US&ceid=US:en
| Sub-topic | Status | Items | Channel title |
|---|---|---|---|
| Artificial intelligence | 200 | 62 | Technology - Artificial intelligence |
| Mobile | 200 | 70 | Technology - Mobile |
| Computing | 200 | 0 | Technology - Computing |
Computing was a 200 with zero items, the same empty shape as above. We fetched Mobile and Computing on 2026-10-20 and Artificial intelligence on 2026-10-17. The path itself is described in an older guide dated 2021, aakashweb.com, and it still works.
Older IDs and URL forms we tried
We took IDs and forms from guides updated in 2026, one guide from 2021, and a few from our own research notes. Nothing returned a hard failure.
| Source (date) | URL form | Result now |
|---|---|---|
| newscatcherapi.com (updated 2026-08-21) | /rss/topics/<Business ID> |
200, 70 items |
| newscatcherapi.com | /rss/topics/<New York ID> |
200 |
| newscatcherapi.com | /rss/topics/<US election ID> |
200, 0 items, title "United States Presidential election, 2020" |
| wprssaggregator.com (updated 2026-07-13) | /rss/headlines/section/geo/New York |
302 to a topic ID, which is the same as the New York ID above |
| feeder.co (updated 2026-10-12) | /rss/headlines/section/geo/Chicago |
302 to a topic ID |
| feeder.co | /rss/headlines/section/geo/Seattle,%20Washington |
302 to a topic ID |
| aakashweb.com (2021-04-18) | /rss/topics/<ID>/sections/<ID> |
200, see above |
| Our notes | /news/rss/headlines/section/topic/TECHNOLOGY |
302 to the Technology ID URL |
| Our notes | /news?output=rss |
302 to https://news.google.com/rss |
| Our notes | /?output=rss |
302 to consent.google.com |
The closest thing to a dead form is the 2020 US election ID: it answers, but with no items. Old URL shapes redirect, and the output=rss forms land on the standard feed or the consent page. None of these forms returned a 404 or an HTML error. We only tried forms that a source showed or that were in our notes, so this is not a list of everything Google ever accepted.
Edge cases on the Technology ID:
| Request | Result |
|---|---|
| Trailing slash after the ID | 200, feed |
&output=rss added |
302 to the plain ID URL |
| ID truncated by 4 characters | 400, HTML error page |
| ID cut to about half its length | 400, HTML error page |
| ID in lower case | 400, HTML error page |
No ID (/rss/topics/) |
301 to https://news.google.com/ |
Default curl user agent |
200, feed |
A bad ID gets an HTML 400, which is easy to catch. The empty 200 is the one that slips through.
Editions and missing parameters
We fetched the Technology and World IDs with different parameters:
- With no parameters:
302to the same ID withhl=en-US&gl=US&ceid=US:enadded. - With
hl=de&gl=DE&ceid=DE:de:200, German channel title ("Technik - Aktuell"), German headlines. - With
hl=en-GB&gl=GB&ceid=GB:en:200, English headlines, same ID. - With only
hl=de:302to the same ID withgl=DE&ceid=DE:defilled in.
The ID did not change between editions. The en-US ID worked unchanged for Germany and the UK. The longer IDs are base64 with a second base64 string inside. Decoding twice shows the fragments en-US and US, yet the German fetch worked anyway, so the query parameters decide the edition. We did not test more than these three editions.
Keeping a topic feed from breaking
- Store the ID and the section name. Fall back to the section URL if the ID fails. It costs one extra redirect.
- Check more than the status. Alert on a non-
200, a non-XML body, zero<item>elements, or a channel title that no longer matches. - Do not trust an ID forever. The 8 section IDs held for three days in our re-check, but three days is a short sample. Re-verify them on a schedule, for example daily.
- Expect the item count to swing. On 2026-10-20 ENTERTAINMENT returned 36 items, down from 67 three days earlier, and still a valid
200feed. Alert on zero, not on a drop. - Poll modestly. Scraping Google News: rate limits and redirects has the polling numbers we saw.
- Use topic feeds for broad coverage. They returned 36 to 70 items in our runs, of everything in a topic. For narrow monitoring, a search feed is the better tool; the feed guide shows how to build one.
The <copyright> element in the feed reads: "This XML feed is made available solely for the purpose of rendering Google News results within a personal feed reader for personal, non-commercial use. Any other use of the feed is expressly prohibited." Read it before building anything commercial on top.
What we did not test: other editions beyond en-US, en-GB and de; other entity topics; whether IDs stay the same beyond three days; whether NASA Johnson Space Center is still empty, since we did not re-fetch it on 2026-10-20; and personalised feeds for a signed-in account.
Using topic feeds in Feedmarkdown
Feedmarkdown's Google News source accepts a topic of WORLD, NATION, BUSINESS, TECHNOLOGY, ENTERTAINMENT, SCIENCE, SPORTS or HEALTH, by building the section URL for you. Arbitrary topic IDs are not a supported option today. For anything narrower, use a search or a Google Alerts source. Feedmarkdown resolves the links to publisher URLs, dedups before scraping, and delivers full-text Markdown by HMAC-signed webhook or as JSON Feed 1.1 or Atom. Plans and limits are in the pricing section, or start on the home page.