Google News Scraper avatar

Google News Scraper

Pricing

from $0.99 / 1,000 results

Go to Apify Store
Google News Scraper

Google News Scraper

Aggregate news headlines from Google News by keyword, topic section, or the latest top headlines, in any language/country edition. Returns clean structured records per article: headline, source, publish time, and link (optionally decoded to the real publisher URL).

Pricing

from $0.99 / 1,000 results

Rating

0.0

(0)

Developer

Farhan Febrian Nauval

Farhan Febrian Nauval

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Aggregate news headlines from Google News by keyword, topic section, or the latest top headlines — in any language and country edition. Each article comes back as a clean, structured record: headline, source, publish time, and link (optionally decoded to the real publisher URL).

No account, no login, no API key.

Why use this actor

  • No account, no login, no API key — the data is public Google News.
  • Search any keyword — a company, person, product, or topic (e.g. "artificial intelligence") — or pull a whole topic section, or the current top headlines.
  • Any edition — pick the language and country (US English, UK English, German, Spanish, Brazilian Portuguese, and so on).
  • Clean source data — the publication name, its domain, and the exact publish time (as a standard timestamp) for every article.
  • Real publisher links (optional) — turn on URL resolving to get the article's true publisher URL instead of the Google redirect link.
  • Stable JSON ready for a spreadsheet, database, dashboard, or alerting pipeline. Export to JSON, CSV, or Excel. Runs on Apify's schedule with automatic retries.

How it works

  1. You give it a keyword (or pick a topic section, or leave both blank for the latest top headlines) and choose the language/country edition.
  2. The actor fetches the matching Google News feed and reads every article in it.
  3. For each article it returns the headline, the source, the publish time, and the link.
  4. Optionally, it decodes each link to the real publisher URL.

You don't manage any scrapers, browsers, or blocks — just set the inputs and run.

Input

{
"query": "artificial intelligence",
"topic": "",
"mode": "latest",
"language": "en-US",
"country": "US",
"ceid": "",
"maxItems": 100,
"resolveUrls": false,
"maxConcurrency": 5,
"proxyConfiguration": { "useApifyProxy": false }
}
FieldTypeDescription
querystringThe main input: a news search term (keyword, company, person, topic). Leave blank to use a topic section or the latest headlines instead.
topicstringA curated section — one of WORLD, NATION, BUSINESS, TECHNOLOGY, ENTERTAINMENT, SPORTS, SCIENCE, HEALTH. Used only when query is blank.
modestringWhat to fetch when both query and topic are blank. latest returns the current top headlines.
languagestringInterface language code, e.g. en-US, en-GB, es-419, fr, de.
countrystring2-letter country/edition code, e.g. US, GB, IN, DE, BR.
ceidstringAdvanced. Google edition code as <COUNTRY>:<lang> (e.g. US:en). Leave blank to derive it automatically from language + country.
maxItemsintegerMax articles to return. Google's feed hard-caps at 100 items per query and does not paginate, so 100 is the ceiling.
resolveUrlsbooleanWhen on, decodes each article's Google redirect link to the real publisher URL. Slower (extra requests per article) and best-effort — it falls back to the Google link if decoding fails. Off by default.
maxConcurrencyintegerHow many links to resolve in parallel (only used when resolveUrls is on).
proxyConfigurationobjectOptional. The feed works without a proxy at low volume; turn one on (ideally non-EU) if you resolve many links at scale.

Output

One record per article. Sample 1 — keyword search, resolveUrls off (real output for query: "artificial intelligence"):

{
"_input": "artificial intelligence",
"_source": "S1-rss",
"_scrapedAt": "2026-07-10T12:00:21Z",
"title": "The Case for Nationalizing Artificial Intelligence - Jacobin",
"cleanTitle": "The Case for Nationalizing Artificial Intelligence",
"sourceName": "Jacobin",
"sourceUrl": "https://jacobin.com",
"sourceDomain": "jacobin.com",
"pubDate": "2026-07-09T14:47:17Z",
"pubDateRaw": "Thu, 09 Jul 2026 14:47:17 GMT",
"link": "https://news.google.com/rss/articles/CBMidEFVX3lxTFBZOG5TTC0tUldnVzlLUkZGU3R0ejdlSXBsODJ3aDRfZUF4N1h6czA1SU1ZNzF2TDFDTFd0R0J3MlZxbmllMDNZU2x2ZWpiR2xaWmhPV2U1WTRpb0FkSTRKZFNnTFMzWjBpTTREZmEta3pXV1lw?oc=5",
"guid": "CBMidEFVX3lxTFBZOG5TTC0tUldnVzlLUkZGU3R0ejdlSXBsODJ3aDRfZUF4N1h6czA1SU1ZNzF2TDFDTFd0R0J3MlZxbmllMDNZU2x2ZWpiR2xaWmhPV2U1WTRpb0FkSTRKZFNnTFMzWjBpTTREZmEta3pXV1lw",
"articleId": "CBMidEFVX3lxTFBZOG5TTC0tUldnVzlLUkZGU3R0ejdlSXBsODJ3aDRfZUF4N1h6czA1SU1ZNzF2TDFDTFd0R0J3MlZxbmllMDNZU2x2ZWpiR2xaWmhPV2U1WTRpb0FkSTRKZFNnTFMzWjBpTTREZmEta3pXV1lw",
"feedTitle": "\"artificial intelligence\" - Google News"
}

Sample 2 — same query with resolveUrls: true (real output; note resolvedUrl and _resolveStatus):

{
"_input": "artificial intelligence",
"_source": "S1-rss",
"_scrapedAt": "2026-07-10T12:00:21Z",
"title": "The Case for Nationalizing Artificial Intelligence - Jacobin",
"cleanTitle": "The Case for Nationalizing Artificial Intelligence",
"sourceName": "Jacobin",
"sourceUrl": "https://jacobin.com",
"sourceDomain": "jacobin.com",
"pubDate": "2026-07-09T14:47:17Z",
"pubDateRaw": "Thu, 09 Jul 2026 14:47:17 GMT",
"link": "https://news.google.com/rss/articles/CBMidEFVX3lxTFBZOG5TTC0tUldnVzlLUkZGU3R0ejdlSXBsODJ3aDRfZUF4N1h6czA1SU1ZNzF2TDFDTFd0R0J3MlZxbmllMDNZU2x2ZWpiR2xaWmhPV2U1WTRpb0FkSTRKZFNnTFMzWjBpTTREZmEta3pXV1lw?oc=5",
"guid": "CBMidEFVX3lxTFBZOG5TTC0tUldnVzlLUkZGU3R0ejdlSXBsODJ3aDRfZUF4N1h6czA1SU1ZNzF2TDFDTFd0R0J3MlZxbmllMDNZU2x2ZWpiR2xaWmhPV2U1WTRpb0FkSTRKZFNnTFMzWjBpTTREZmEta3pXV1lw",
"articleId": "CBMidEFVX3lxTFBZOG5TTC0tUldnVzlLUkZGU3R0ejdlSXBsODJ3aDRfZUF4N1h6czA1SU1ZNzF2TDFDTFd0R0J3MlZxbmllMDNZU2x2ZWpiR2xaWmhPV2U1WTRpb0FkSTRKZFNnTFMzWjBpTTREZmEta3pXV1lw",
"feedTitle": "\"artificial intelligence\" - Google News",
"resolvedUrl": "https://jacobin.com/2026/07/ai-policy-nationalization-commons-work",
"_resolveStatus": "ok"
}

More real resolvedUrl values from the same run: Reuters → https://www.reuters.com/technology/artificial-intelligence/china-weighs-silicon-curtain-around-sought-after-ai-models-2026-07-08/, U.S. News → https://www.usnews.com/news/business/articles/2026-07-10/sk-hynix-hits-the-u-s-stock-market-as-demand-for-memory-chips-soars-amid-ai-frenzy.

FieldTypeDescription
titlestringThe article headline as Google publishes it (ends with " - Source").
cleanTitlestringThe headline with the trailing " - Source" removed.
sourceNamestringThe publication name (e.g. "Jacobin", "Reuters").
sourceUrlstringThe publication's home page.
sourceDomainstringThe publication's domain (e.g. reuters.com).
pubDatestringPublish time as a standard UTC timestamp (YYYY-MM-DDTHH:MM:SSZ).
pubDateRawstringThe original publish time string from the feed.
linkstringThe Google News link for the article (a Google redirect).
guidstringThe article's stable Google id.
articleIdstringThe encoded article id (from the link).
feedTitlestringThe title of the feed the article came from.
resolvedUrlstringThe real publisher URL — present only when resolveUrls is on (else absent; null if a specific article couldn't be decoded).
_resolveStatusstringok or failed — present only when resolveUrls is on.

Notes & limits

  • Headlines only, by design. Google News gives the headline, source, time, and link — no article body and no thumbnail. Feed the link (or resolvedUrl) into an article-text scraper if you need the full story.
  • 100-article ceiling. A single Google News feed returns at most 100 items and offers no paging, so maxItems tops out at 100. To go wider, run several narrower queries (different keywords, editions, or topics).
  • resolveUrls is optional and best-effort. Decoding the real publisher URL costs extra requests per article and depends on a Google mechanism that changes from time to time. It is wrapped so that if a decode fails, the record still comes back with resolvedUrl: null, _resolveStatus: "failed", and a _warning — the run never crashes over it. Leave it off unless you specifically need publisher URLs. Verified working live on 2026-07-10 (Jacobin, Reuters, U.S. News).
  • Editions. language + country map to a Google edition; the ceid is derived for you (e.g. en-US + USUS:en). Set ceid directly only if you know the exact edition code you want.
  • Consent wall. In some regions Google shows a consent interstitial; the actor sends a standing consent signal to skip it. If you still hit it, enable the proxy with a non-EU region.
  • The description field is dropped. Google's RSS description is just a repeated link, not a real article summary, so it isn't included.

Other actors in this collection

ActorWhat it does
Smart News LoaderExtracts full article text from any news URL.
SEC Form D Funding TrackerFresh US private-placement funding rounds from SEC filings.
OLX Classifieds ScraperMarketplace listings across multiple countries.