Founding customers get 50% off the first year. Claim it →
← all posts

Google News topic IDs that still work

October 17, 202610 min readFeedmarkdown#google-news#rss#topics

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:

Terminal showing the TECHNOLOGY section URL returning 302 to a /rss/topics/ ID URL, then that URL returning 200 with application/xml and 59 items

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

  1. Open https://news.google.com/ and find the topic. Use the search box and pick a result labelled Topic or Location.
  2. Copy the string after /topics/ in the address bar. It starts with CAAq.
  3. Put it into https://news.google.com/rss/topics/<ID>?hl=en-US&gl=US&ceid=US:en.
  4. 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".

Google News Technology topic page with sub-topic tabs Latest, Mobile, Gadgets, Internet, Virtual reality, Artificial intelligence and Computing, captured 2026-10-17

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.

Google News Tesla topic page showing the message There are no items to show, captured 2026-10-17

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: 302 to the same ID with hl=en-US&gl=US&ceid=US:en added.
  • 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: 302 to the same ID with gl=DE&ceid=DE:de filled 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 200 feed. 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.