Google News Scraper & API: Real Publisher URLs avatar

Google News Scraper & API: Real Publisher URLs

Pricing

from $0.60 / 1,000 articles

Go to Apify Store
Google News Scraper & API: Real Publisher URLs

Google News Scraper & API: Real Publisher URLs

Google News past the 100-result cap, with the publisher's real link instead of Google's redirect, and coverage grouped into stories. Any keyword, topic or country. No login. $1.50 per 1,000 articles, less on paid plans. For brand monitoring, PR and AI agents.

Pricing

from $0.60 / 1,000 articles

Rating

5.0

(1)

Developer

Brainfoods Studio

Brainfoods Studio

Maintained by Community

Actor stats

1

Bookmarked

1

Total users

0

Monthly active users

11 hours ago

Last modified

Security

Limited permissions

Share

We showed up late, so we read the fine print first. Google News stops at 100 articles per search and hides every link behind its own redirect. We fixed both before we opened the doors.

Google News Scraper is a Google News API for news monitoring, brand tracking, PR and AI agents. Search any keyword, topic or top stories, in any country and language. Go past Google's 100-result cap and get the real publisher URL for every article, as JSON, CSV or Excel.

No login · No API key · $1.50 per 1,000 articles, less on paid plans · Independent tool, not affiliated with Google

What does Google News Scraper do?

  • Searches Google News with full operators: exact phrases, site:, when:, after: and before:.
  • Topic feeds and top stories: World, Business, Technology and more, for any country.
  • Goes past the 100-article cap by running one search per day across your date range, with duplicates removed.
  • Real publisher URLs instead of news.google.com redirect links.
  • A free summary per query: article count, unique sources, top 5 sources, first and last published, and a flag that tells you when the cap was hit.
  • Premium stories: articles grouped across outlets, with who broke the news and how fast it spread.

Who is it for?

  • PR and comms teams tracking every mention of a brand, a CEO or a launch.
  • Market and investment researchers following a company, a sector or a policy, day by day.
  • Media analysts measuring who covers what, and who covers it first.
  • AI agents and RAG pipelines that need fresh news with real links they can open.

Use cases

You want toWhat to set
Catch every brand mention this weekqueries with your brand names, and timeRange set to 7d
Build a month of coverage for one companydateFrom, dateTo and splitByDay
Read one publisher's take on a topicAn exact phrase plus site:ft.com
Follow a country's headlines in its own languageincludeTopStories, country and language
See who broke a story and who followedclusterStories
Get a Slack ping for new articles onlymonitorKey and deliveryWebhookUrl, on a schedule

Google News returns at most 100 articles for one search. For a busy topic over a month, that's a fraction of what was published.

Turn on splitByDay with a date range and the actor runs one search per day, oldest first, then removes duplicates across days. A month becomes 30 searches of up to 100 each.

You'll know when you need it: every query gets a free summary row, and hitCap is true when a search came back with the full 100.

Real publisher URLs

Google News links point to Google's own redirect pages, not to the article. Turn on resolvePublisherUrls and each article also gets articleUrl, the publisher's real address, for example https://openai.com/index/introducing-gpt-6-1-terra/. If a URL can't be resolved, the article still arrives with resolveError set, at the plain article price.

What we measured

Live runs on Apify Proxy, 1 November 2026:

CheckResult
"tesla", September 2026, one search per day1,262 unique articles from 277 sources in 51 seconds, against 100 for a single search
Publisher URLs, 3 searches with 10 articles each30 of 30 decoded
Duplicates across the 30 daily searchesnone in the output (1,262 rows, 1,262 unique article IDs)

Busy days can still hit Google's 100-article cap even when split by day. The summary row's hitCap tells you when that happened.

Built to finish the run

  • Every request runs in a warmed-up session with its own cookies and proxy address, and requests are paced.
  • Rate limits and block pages get up to 4 attempts, with a growing pause. A session that stops working is replaced.
  • On Apify Proxy, datacenter addresses are used first. After repeated rate limits, the actor moves to residential addresses if your plan has them.
  • A failed search never fails the run. It gets an error row, and every other query still finishes.
  • A STATS record shows the requests, rate limits, retries and session changes of every run.

How to use the Google News scraper

  1. Click Try for free.
  2. Enter up to 50 queries, pick topics, or switch on top stories.
  3. Set the country and language, for example US and en, or DE and de.
  4. Pick a time range, or set dateFrom and dateTo. Switch on splitByDay for long ranges.
  5. Click Start, then download the dataset as JSON, CSV or Excel, or run the actor from the Apify API or on a schedule.

Input example

{
"queries": ["openai", "\"electric vehicles\" site:reuters.com"],
"country": "US",
"language": "en",
"dateFrom": "2026-10-01",
"dateTo": "2026-10-31",
"splitByDay": true,
"maxArticlesPerQuery": 2000,
"resolvePublisherUrls": true
}

More ready-to-run inputs

Use caseInput
Brand mentions, past 7 days{"queries": ["nike", "adidas"], "timeRange": "7d"}
Technology headlines in the UK{"topics": ["TECHNOLOGY"], "country": "GB", "language": "en"}
Top stories in Germany, in German{"includeTopStories": true, "country": "DE", "language": "de"}
One publisher, exact phrase{"queries": ["\"interest rates\" site:ft.com"], "timeRange": "1y"}

Search operators work as they do on Google News: quotes for exact phrases, site: for one publisher, when:, after: and before:. timeRange is any, 1h, 1d, 7d or 1y; dateFrom and dateTo replace it. splitByDay covers up to 366 days.

Use it from an AI agent

Add the actor to any MCP client (Claude, Cursor, VS Code and others) through Apify's hosted MCP server:

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=brainfoods_studio/google-news-scraper"
}
}
}

Then ask in plain words: "Find this week's Google News coverage of OpenAI in the US, with the real article links, and list the sources that wrote about it most." See Apify's MCP docs.

Integrations

Everything runs on Apify, so it plugs into the tools you already use:

  • Apify API and SDKs (JavaScript, Python) to start runs and read results from your own code.
  • Schedules to run hourly or daily. Monitor mode then returns only new articles.
  • Make, Zapier and n8n to send articles to Google Sheets, Notion, a CRM or a database without writing code.
  • Webhooks and Slack to get a message when new coverage turns up.
  • MCP for Claude, Cursor and other AI agents, as shown above.

See Apify integrations.

What you get

Row typeOne row perMain columns
articlearticlerank, title, sourceName, sourceUrl, publishedAt, articleUrl, googleNewsUrl, window
summaryquery, topic or top stories (free)articles, uniqueSources, topSources, firstPublishedAt, lastPublishedAt, hitCap
errorfailed searchstage, errorKind, message, attempts, window

One article row:

{
"type": "article",
"source": "openai",
"feedType": "search",
"country": "US",
"language": "en",
"rank": 1,
"title": "Introducing GPT-6.1 Terra",
"sourceName": "OpenAI",
"sourceUrl": "https://openai.com",
"publishedAt": "2026-10-26T18:05:36.000Z",
"articleUrl": "https://openai.com/index/introducing-gpt-6-1-terra/",
"resolveError": "",
"window": ""
}

Every article also carries googleNewsUrl, articleId and fetchedAt. Titles come without the trailing " - Source" that Google adds. window is the day an article came from when you split by day.

Premium features

Stories: how big is this news, and who broke it?

Set clusterStories: true and articles about the same story are grouped across outlets. Each story row has the headline, the number of articles and outlets, who published first and when, how many outlets picked it up within 24 hours, and how many hours it took to spread. Only stories of 2 or more articles are returned.

On "openai", past 7 days (1 November 2026), 100 articles formed 5 stories. The largest, "OpenAI, a longtime Nvidia customer, plans to buy Google's AI chips", was broken by The Information and covered by 3 outlets within 1.4 hours.

Monitor mode: only what's new

Set monitorKey to any name and run the actor on a schedule. Each run remembers what it returned, and the next run with the same name returns only articles you haven't seen yet, so you pay only for new results. Add deliveryWebhookUrl (a Slack incoming-webhook URL or any HTTPS endpoint) and a short alert with a link to the results is posted whenever something new turns up. The first run only builds the memory and never alerts. Use one monitorKey per schedule.

Pricing

You pay per article delivered. Summary rows and error rows are free.

ResultFree planBronzeSilverGold and up
Article$0.0015$0.001$0.0008$0.0006
Article with its publisher URL$0.0025$0.0017$0.0013$0.001
Story (premium)$0.005$0.004$0.0035$0.003
Monitor alert, per alert sent$0.01$0.01$0.01$0.01
  • Charged only after your results are saved. Never for error rows or summaries.
  • Never past your spending limit. When the limit is reached, the actor stops starting new searches, and the run still succeeds.
  • No extra start fee. Only Apify's standard run start charge of $0.00005 applies.
  • An article whose publisher URL couldn't be resolved is charged at the plain article price.

What typical runs cost, before the start charge:

RunFree planBronze
1 query, 100 articles$0.15$0.10
1 query, 100 articles with publisher URLs$0.25$0.17
1 query split over a month, 1,000 articles$1.50$1.00
10 queries, 100 articles each$1.50$1.00

FAQ

Do I need a Google account or an API key?

No. You only need an Apify account. Click Try for free, enter a search and start.

Why does Google News stop at 100 articles?

Google returns at most 100 articles for one search. Split the range by day to get up to 100 per day. If hitCap is still true with splitByDay on, narrow the query, for example with site: or an exact phrase.

Which countries and languages work?

Any 2-letter country code and 2-letter language code that Google News offers, for example US/en, GB/en, IN/hi or DE/de.

Why are some publisher URLs missing?

Google decides how each link is resolved. When it can't be, the article arrives with resolveError set and costs the plain article price.

Can I monitor a topic over time?

Yes. Schedule the actor with timeRange set to 1d and the same queries every day, and each run gives you that day's articles.

This actor reads Google News' public feeds. It does not solve captchas and does not try to get around anti-bot checks. It respects Google's rate limits by waiting and backing off. Use the data in line with Google's terms, the publishers' rights and the laws where you live.

More from Brainfoods Studio

  • Google Trends Scraper: interest over time for up to 100 keywords on one 0–100 scale, plus regions, related queries and trending now.
  • Google Ads Transparency Scraper: every ad a brand runs on Google, by name, ID or website, with dates, countries and ad text.
  • Google Play Scraper: app details and reviews, plus an App health report that shows which release hurt the rating.

Support

We're the new kids on this Store, so every issue gets an answer from the people who wrote the code. Found a problem, or need a field we don't return yet? Open an issue in the Issues tab. And if this actor saved you an afternoon, a review helps the next person find it.

Built and maintained by Brainfoods Studio.