Summary (TL;DR): A practical guide to putting Google News headlines on your own site: the feed URL patterns Google News exposes, the locale parameters that decide which edition you get, what each item actually contains, why a browser cannot fetch the feed directly, and the four realistic ways to display it.

Adding a news section to a website is usually one of two jobs. Either you have a source in mind and want its headlines on your page, or you want whatever is being published about a subject and do not care who wrote it. Google News covers the second case unusually well, because it aggregates thousands of publishers and exposes the result as RSS.
That last part is what makes this practical. You do not need an API key, an account, a scraper or a paid data provider. You need a URL, and then something on your side that can read a feed.
The catch is that almost nobody explains which URL. Google News has several feed endpoints with different shapes, a set of locale parameters that quietly decide what you get, and a couple of behaviours that will confuse you the first time you meet them. None of it is difficult once written down, and none of it is written down in one place.
This guide is that one place. It covers the feed URLs, the parameters, what each item actually contains, why your browser refuses to fetch the feed, and the realistic options for displaying it on a page.
What People Mean by a Google News Feed
Three quite different things travel under the same phrase, and they need separating before anything else, because the work involved is not remotely the same.
- Reading Google News on your site. Pulling headlines out of Google News and displaying them on a page of yours. That is what this guide is about, and it is the easy one.
- Appearing in Google News. Getting your own publication listed so your articles show up for readers there. That is a publisher question, not an embedding question, and it is covered briefly further down.
- Monitoring a term. Wanting to know when something is mentioned rather than wanting a section on your website. Google Alerts does this and can deliver as a feed, which is covered near the end.
If your goal is the second one, the rest of this guide will not help you, and the short version is that inclusion is handled through Google's own systems rather than by submitting a feed. Google explains where its news surfaces get their content in the Publisher Center help documentation.
The Feed URLs Google News Publishes
Four patterns cover essentially every case. Each one returns ordinary RSS, so once you have picked a URL, everything downstream is the same regardless of which you chose.
| What you want | URL pattern | Use it for |
|---|---|---|
| Top stories | news.google.com/rss | A general headlines block, no topic control |
| A search term | news.google.com/rss/search?q=TERM | Brand mentions, an industry, a named subject |
| A topic section | news.google.com/rss/headlines/section/topic/TOPIC | Broad categories such as business or technology |
| A place | news.google.com/rss/headlines/section/geo/PLACE | Local news on a regional or city site |
The search endpoint is the one worth learning properly. Topic sections are coarse, and a well-built search query gives you a far more relevant column of headlines than any category ever will. It is also the only one that can be made specific to your business.
One honest caveat before you build on this. These endpoints have worked the same way for a long time and are widely used, but they are not published as a supported developer API with a compatibility promise. Build so that a change in the source degrades gracefully, which in practice means your page should look fine with an empty news section rather than showing an error where the headlines should be.
The Locale Parameters, Which Are Not Optional
Three parameters decide which edition of Google News answers you. Leave them off and the edition is inferred from the request, which means your feed reflects wherever your server happens to sit rather than wherever your readers are.
hlsets the language, for examplehl=en.glsets the country, for examplegl=US.ceidsets the edition and combines the two, for exampleceid=US:en.
They are set together, and the third has to agree with the first two. A complete search URL therefore looks like news.google.com/rss/search?q=solar+panels&hl=en&gl=GB&ceid=GB:en.
This is the cause of the most common complaint about Google News feeds, which is that the results looked right during testing and wrong once live. Your laptop and your server are in different places and Google answered each of them accordingly. Set the parameters explicitly and the feed stops depending on who is asking.
A second consequence is useful rather than annoying. Because the edition is a parameter, you can run several feeds for several audiences from the same search term, which is the cheapest way to give a regional site genuinely regional headlines.
Building the Feed URL You Actually Want
Work through it in this order, and check the result in a browser at each step. A feed URL opened in a browser shows either XML or an error, and either answer is immediately informative.
- Write the search term as you would type it into a search box. Put a phrase in quotes to keep the words together, otherwise the words are treated separately and the results widen dramatically.
- Encode it for a URL. Spaces become
+or%20, and quotation marks become%22. Pasting a raw term with spaces into a template is the most common reason a feed comes back empty. - Add the three locale parameters. Decide the edition deliberately rather than accepting the default.
- Open the URL and read the first few items. If they are not the sort of thing you want on your site, the fix is the query, not the code. This is a five second loop, and it is much cheaper than discovering the problem after you have built the page.
- Narrow if it is noisy. Common qualifiers are a recency window and a restriction to a particular site. Support for individual operators varies, so trust the output in front of you rather than a list of operators you read somewhere.
- Save the final URL somewhere with a note. A feed URL with encoded quotes and three locale parameters is unreadable in six months, and someone will eventually ask why the news section shows what it shows.
Two search terms are worth building even if you do not display them publicly: your own brand name, and your two closest competitors. The first tells you when you are mentioned, and the second is the cheapest competitive monitoring available.
What the Feed Gives You, and What It Does Not
Expectations cause more disappointment here than anything technical, so it is worth being precise about what arrives in each item.
You get: a headline, usually with the publication name appended after it. A link. A publication date. A source name. A short description that often contains a small list of related coverage rather than a clean summary.
You do not get: the article text, a reliable image for every item, a category you can filter on, or a clean canonical URL to the publisher. Those absences are deliberate. The feed is an index of what has been published, not a copy of it.
Three practical consequences follow, and each one shapes the design of whatever you build:
- Design for text. A grid of image cards will look broken because most items have no usable image. A list of headlines with a source and a date does not have that problem, and it is also how people actually read news.
- Handle the trailing source in the title. Titles commonly end with a hyphen and the publication name. Show it as it is, or split it off and display the source separately, but decide rather than letting it happen.
- Do not treat the description as a summary. It is often markup rather than a sentence. If you want a clean look, show the headline alone.
Why Your Browser Will Not Fetch the Feed
The first attempt almost everyone makes is to fetch the feed URL from JavaScript on the page. It fails, and the console message is about cross-origin requests.
The reason is a browser security rule. A page on your domain may not read a response from another domain unless that other domain explicitly permits it with a response header. Google News does not send that header, so the browser blocks the read. Nothing about the feed is broken and nothing about your code is wrong.
That leaves four honest ways to get the content onto the page, and every real solution is one of them:
- Fetch it on your server and pass the parsed result to the page.
- Fetch it at build time and publish the headlines as part of the page itself.
- Let an automation tool fetch it and write the result somewhere your site already reads.
- Use a widget service that does the fetching, parsing, caching and styling on its own infrastructure.
A word on public proxy services that add the missing header for you. They work, and they also put an anonymous third party in the middle of every request your visitors make. For anything that matters, that is a poor trade for saving an hour.
Four Ways to Put It on a Page
Ordered by effort. The correct choice depends on how often the headlines need to change and how much of a website you actually have.
| Widget service | Server-side fetch | Build-time fetch | Automation tool | |
|---|---|---|---|---|
| Technical skill | None | Developer | Developer | Some |
| Time to first result | Minutes | Hours | Hours | Under an hour |
| Freshness | Automatic | Automatic | Only on rebuild | Depends on schedule |
| Styling control | Theme and options | Total | Total | Whatever renders it |
| Caching handled | Yes | You write it | Not needed | Partly |
| Ongoing maintenance | Near zero | Yours | Yours | Yours |
Build-time fetching deserves a note, because it is genuinely good in one narrow case and bad in every other. If your site rebuilds several times a day anyway, headlines baked into the page are fast and completely reliable. If it rebuilds weekly, you have built a news section that shows last week's news, which is worse than having none.
If you want to compare specific display options rather than approaches, our roundup of RSS feed widgets and plugins covers the tools, and for the scrolling one-line format specifically, news ticker widgets are a different shape of the same idea.
Google Alerts, the Other Feed Worth Knowing
If your goal is to be told about something rather than to publish it, there is a second feed source that is easier and better suited.
Google Alerts lets you create a standing query and choose how it is delivered. One of the delivery options is a feed, which turns an alert into a URL that any reader or automation tool can consume. That combination is more useful than the email version for two reasons: nothing lands in your inbox, and the results can be piped into whatever you already use.
The distinction from the news feeds above is worth holding on to. A Google News search feed is a snapshot of what matches now and is meant for display. An alert is a monitor, tuned to tell you when something appears. Use the first for a news section on a page, and the second for brand monitoring, competitor watching, or keeping an eye on a regulation that affects you.
The same locale logic applies, and the same honesty applies too: coverage of a niche term will be thin, and a feed that returns nothing for weeks is usually a query problem rather than a silence in the world.
Attribution, Links and What Not to Republish
Displaying headlines from an aggregator is ordinary practice, and the feed is built for exactly that. A few habits keep it uncontroversial.
- Keep the source visible. Every item names the publication that wrote it. Showing that name is both fair and useful, because a headline without a source is worth less to a reader.
- Send people to the article. The link exists so the publisher gets the visit. Do not strip it, do not wrap the headline in your own page, and do not put the article behind your interface.
- Open items in a new tab. Standard for outbound links, and it also avoids the awkwardness of a reader landing on a redirect and using the back button twice.
- Do not reproduce article bodies. The feed does not give you them, and going and fetching them from the publisher is a different activity with different rules.
- Label the section honestly. A heading that says the headlines come from around the web sets the right expectation and takes four words.
The underlying principle is simple. You are pointing at other people's work, which is what the format is for. The moment you are presenting it as your own, you have left the ordinary case.
Problems You Will Hit, and the Fix
Almost every issue with a Google News feed falls into one of these, and each has a quick check.
- The feed is empty. Usually an encoding problem in the query rather than an absence of news. Open the URL in a browser, and if the XML has a channel but no items, simplify the query until items appear.
- Wrong language or country. The locale parameters are missing or disagree with each other. Set all three and make sure the edition matches the language.
- The same story appears five times. Multiple publishers covered it, and the feed reflects that. Deduplicate on the source name or the leading words of the headline if you want variety in a short list.
- Headlines are stale. Something between you and Google is caching. Check where the fetch happens and how long its result is stored, and remember that a build-time fetch is frozen until the next build by definition.
- Links look like nonsense. They go through Google's own domain and forward the reader onward. That is expected. Let the link do its job rather than trying to extract the destination.
- Occasional failures under load. A public endpoint fetched aggressively will eventually refuse. Cache the result for a few minutes and serve the cached copy to every visitor, rather than making one request per page view.
- The section broke and nobody noticed. The failure mode of every embedded feed. Show nothing rather than an error, and check it occasionally, since a news block that quietly emptied looks identical to a slow news day.
Keeping a News Section Worth Reading
The technical part is finished once headlines appear. Whether anyone reads them is an editorial question, and four decisions cover most of it.
Be Specific
A general top stories block is available on every news site in the world and adds nothing to yours. A narrow feed on the subject your visitors came for is the only version worth having. Specificity is the whole value.
Show Few Items
Five to ten headlines is a section. Thirty is a wall that people scroll past. If you have room for one line, a ticker suits the space better than a truncated list.
Show the Date
News without a date is not news. It also protects you: a visible date makes an accidentally frozen feed obvious to a reader, and to you.
Decide Where It Belongs
A news block belongs beside content it is relevant to, not on a landing page whose job is a single action. Headlines are a distraction on a page that exists to convert, and a service on a page that exists to inform.
A Note for Publishers Who Want the Opposite
Some people arrive at this subject wanting their own articles to appear in Google News rather than wanting other people's on their site. It is worth two paragraphs, because the instinct is to look for a feed to submit somewhere, and there is no such form.
Content reaches Google's news surfaces the same way it reaches search, by being crawled. There is no feed submission step and no queue to join. The Publisher Center exists to manage how an established publication is presented, not to grant admission. What actually moves the needle is duller and more familiar: articles that are crawlable, a visible publication date, a named author, a stable URL per article, and a site that is recognisably a publication rather than a marketing page with a blog attached.
If you publish frequently enough for it to matter, a news sitemap is the one technical addition worth making, since it is designed for very recent articles specifically. Beyond that, the honest answer is that news inclusion is an editorial outcome more than a technical one, and no amount of feed configuration substitutes for publishing news.
Getting Started
The short path is three steps. Build a search URL with your term and the three locale parameters, and open it in a browser until the items look like something you would want on your page. Decide where the fetching will happen, remembering that it cannot be in the visitor's browser. Then display the headline, the source and the date, and link each item out.
If you would rather not run and maintain the fetching yourself, that is the part a hosted widget removes: paste the feed URL, choose a layout, and the fetching, parsing, caching and styling happen on someone else's infrastructure. Our RSS feed widget takes any feed URL, including the Google News ones above, and renders it on your page.
If you also need a feed of your own rather than someone else's, creating an RSS feed for your website covers producing one from scratch, including on a platform that does not generate one.



