Google News Scraper — past the 100 limit, real links avatar

Google News Scraper — past the 100 limit, real links

Pricing

from $1.50 / 1,000 articles

Go to Apify Store
Google News Scraper — past the 100 limit, real links

Google News Scraper — past the 100 limit, real links

Every article Google News lists for your searches, past its ~100-per-search stop (split by day and source), each once, with the publisher's real link, strictly inside your dates.

Pricing

from $1.50 / 1,000 articles

Rating

0.0

(0)

Developer

Cowboi Bebot

Cowboi Bebot

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

18 days ago

Last modified

Categories

Security

Limited permissions

Share

Every article Google News lists for your searches, past its ~100-per-search stop, each article once, with the publisher's real link (not the news.google.com redirect), strictly inside the dates you ask for, and a plain per-search check of which parts Google cut.

Versión en español más abajo.

Quick facts

  • What it does: Every article Google News lists for your searches, past its ~100-per-search stop (read day by day and split by source), each article once, with the publisher's real link, strictly inside your dates.
  • Use it for: news monitoring and media research; article lists for a topic, company or person over any date range; scheduled "only new articles" feeds.
  • Not for: the article text (it stays on the publisher's site and is not copied), images, or the publisher's own publication time (not in this version).
  • Input: queries (words or news.google.com links; Google News operators work) and/or topics; editions (country:language, default US:en); timeRange (default 7d) or dateFrom/dateTo (YYYY-MM-DD); maxArticlesPerQuery (0 = all); goPastLimit and resolveUrls (default on); onlyNew + stateName.
  • Output: one dataset row per article, and one SUMMARY record with the per-search check. Every field with its type is under Output reference below.
  • Charged events (pay per event): article USD 0.0015 per article delivered with the publisher's real link (USD 1.50 per 1,000); plus Apify's standard start event apify-actor-start.
  • Never charged: repeats, articles outside your dates, articles already delivered in an earlier monitoring run, rows whose link could not be resolved (delivered free with urlResolved: false), searches that fail, the SUMMARY record.
  • Limits: stops at maxArticlesPerQuery or at your maximum charge per run (SUMMARY stoppedBy); a single source with 100+ matching articles in one day cannot be split further (named in incompleteParts); Google News days are US Pacific days.
  • Run it from: Apify Console, the Apify API or an AI agent through the Apify MCP server (Actor pampadata/google-news-scraper), with schedules and integrations.

Minimal input

A small input that works, taken from this Actor's own tests; every other field is optional:

{
"queries": [
"nvidia"
],
"timeRange": "7d",
"maxArticlesPerQuery": 100
}

Why this one

  • Past the ~100 stop. Google News never lists more than about 100 articles for one search. This Actor reads your date range day by day, and a day that also reaches 100 is read again per news source (the day's biggest sources one by one, then everything else). Test on 2026-10-09:
Search "nvidia", one day (2026-10-07), US editionFeeds readDistinct articles
One Google News search for that day1100
This Actor (the day + 8 sources + the rest + 8 more sources)181,153
  • Any dates you want. dateFrom / dateTo (e.g. all of March 2025), or the last hour, 24 hours, 7 days, 30 days or 12 months.
  • Strictly inside your dates. Google's own date filter leaks: asked for articles before 2026-01-01, it returned 4 later ones out of 100. Articles outside your window are dropped and not charged (counted as outsideDates).
  • Real publisher links, on by default, and you pay only for rows that have one: an article whose link cannot be turned into the publisher's is still delivered (with url empty and urlResolved: false) and not charged.
  • Each article once, and you pay once, across days, sources, searches and editions of a run. Several searches and several editions (US:en, GB:en, AR:es-419…) in one run.
  • Only new articles, for monitoring. Turn on onlyNew and the Actor remembers what it delivered (per search and edition, in a key-value store of your own account): each scheduled run delivers and charges only what is new.
  • The check per search (SUMMARY record): feeds read, days Google cut at 100, splits by source, repeats skipped, articles outside your dates, articles seen in earlier runs, links not resolved, and listComplete: true only when no part was cut. Parts that could not be split further are named (e.g. "2026-10-07 site:finance.yahoo.com: this source alone has 100+ articles that day").

Input

FieldWhat it does
queriesWords as you would type them on Google News (nvidia, "interest rates" fed). Google News operators work (site:, intitle:, OR, -word). A news.google.com search or topic link also works.
topicsGoogle News sections: top stories, WORLD, NATION, BUSINESS, TECHNOLOGY, ENTERTAINMENT, SPORTS, SCIENCE, HEALTH (what Google shows on that page, not split).
editionscountry:language, e.g. US:en, GB:en, IN:en, FR:fr, DE:de, AR:es-419, MX:es-419, BR:pt-419, JP:ja.
timeRange1h, 1d, 7d (default), 30d, 1y, or any (one search, Google stops at ~100).
dateFrom, dateToAny day range (YYYY-MM-DD). Google News days are US Pacific days in every edition. Dates win over timeRange.
maxArticlesPerQuery0 = everything Google News lists. Newest first.
goPastLimitOn by default. Off = read each day once.
resolveUrlsOn by default (the publisher's own link). Off = faster, Google's link only.
onlyNew, stateNameMonitoring: deliver only articles not delivered by earlier runs with the same state name.

If your search has its own after: / before: / when: words, it is run once as written (and still checked locally against those dates).

What you get for each article

title (Google's " - Source" suffix removed), source, sourceDomain, url (publisher link), publishedAt (UTC), publishedTimeKnown (false when Google gives only the date, as it does for most articles older than a few days), googleNewsUrl, articleId, sourceUrl, urlResolved, query / topic, input, edition, foundIn (the day and source piece it came from).

Example

{
"title": "Nvidia, Oracle, CoreWeave and other AI stocks sink on OpenAI revenue report",
"source": "CNBC",
"sourceDomain": "cnbc.com",
"url": "https://www.cnbc.com/2026/10/08/open-ai-revenue-nvidia-oracle-coreweave.html",
"publishedAt": "2026-10-08T18:14:54Z",
"publishedTimeKnown": true,
"urlResolved": true,
"query": "nvidia",
"edition": "US:en",
"foundIn": "2026-10-08"
}

Price

You pay only for articles delivered with the publisher's real link: USD 1.50 per 1,000 articles (USD 0.0015 each). No charge per run beyond Apify's standard start event, and nothing for repeats, articles outside your dates, articles already delivered in an earlier monitoring run, rows whose link could not be resolved, or searches that fail. Set a maximum charge per run in Apify and the Actor stops there.

How long it takes

100 articles with real links in about 8 seconds; one very busy day ("nvidia", 1,153 articles) in about 3 minutes.

Good to know

  • Titles, sources, dates and links only: the article text is on the publisher's site and is not copied.
  • publishedAt is Google News's date. Older articles often carry the day only (publishedTimeKnown: false).
  • A single source that publishes 100+ matching articles in one day cannot be split further (Google does not go below a day): the SUMMARY names those parts.
  • Monitoring: one stateName per monitor, and don't run two runs with the same stateName at the same time (they would both deliver the same new articles).
  • No proxy is needed (Google News answers Apify's own IPs); if Google refuses for a moment, the run uses Apify's proxy by itself.
  • Not affiliated with Google. It reads the public Google News RSS feeds, without logging in.

Output reference

Dataset: one row per article

FieldTypeWhat it is
titlestringHeadline (Google's " - Source" suffix removed).
sourcestringPublisher name.
sourceDomainstringPublisher domain, e.g. cnbc.com.
urlstringPublisher's own link; empty when it could not be resolved (that row is not charged).
publishedAtstringGoogle News's date (ISO 8601, UTC).
publishedTimeKnownbooleanfalse when Google gives only the day (most articles older than a few days).
googleNewsUrlstringGoogle's news.google.com link.
articleIdstringGoogle News article ID.
sourceUrlstringPublisher's home link as Google gives it.
urlResolvedbooleantrue when url is the publisher's link.
querystring or nullThe search this article came from (null for topic feeds).
topicstring or nullThe topic feed it came from (null for searches).
inputstringYour input line.
editionstringEdition, country:language (e.g. US:en).
foundInstringThe day and source piece it was found in (e.g. 2026-10-08, or 2026-10-08 site:cnbc.com).

SUMMARY record (run's key-value store, never charged)

FieldTypeWhat it is
queriesarray of objectOne item per search or topic and edition (fields below).
articlesDeliveredintegerArticles delivered (charged) in the run.
requestsobjectRequest counters of the run (requests, retries, refusals or blocks, failures; whether the run moved to residential IPs).
dateWindowUtcarray of string or nullThe date window used, in UTC.
editionsarray of stringEditions searched.
onlyNew, stateNameboolean, string or nullMonitoring settings.

Each item of queries:

FieldTypeWhat it is
input, editionstringYour search or topic, and the edition.
deliveredintegerArticles delivered and charged.
deliveredFreeintegerRows delivered without a resolved link (not charged).
feedsRead, days, daysCut, splitsintegerFeeds read, days read, days Google cut at 100, splits by source.
rowsSeen, repeatsSkippedintegerRows seen and repeats skipped.
outsideDatesintegerArticles outside your dates (dropped, not charged).
alreadyDelivered, seenInEarlierRunsintegerRepeats across searches of the run; monitoring repeats.
urlNotResolvedintegerLinks that could not be turned into the publisher's.
exclusionsIgnoredintegerSource exclusions Google ignored (it honours 8).
listCompletebooleantrue only when no part was cut.
incompletePartsarray of objectParts that could not be read in full: part, why.
stoppedBystring or nullWhy it stopped early (maxArticlesPerQuery, your maximum charge).
warnings, errorsarray of stringWarnings and errors.

More Actors by this developer


Versión en español

Todas las notas que Google News lista para tus búsquedas, más allá de su tope de ~100 por búsqueda, cada nota una sola vez, con el link real del medio (no la redirección de news.google.com), estrictamente dentro de las fechas que pedís, y un control por búsqueda de qué partes cortó Google.

De un vistazo

  • Qué hace: Todas las notas que Google News lista para tus búsquedas, más allá del tope de ~100 (día por día y por medio), cada nota una vez, con el link real del medio, estrictamente dentro de tus fechas.
  • Sirve para: monitoreo de noticias e investigación de medios; listas de notas sobre un tema, empresa o persona en cualquier rango; feeds programados de "solo notas nuevas".
  • No sirve para: el texto de la nota (queda en el sitio del medio), imágenes o la hora propia del medio (no están en esta versión).
  • Entrada: queries y/o topics; editions (US:en por defecto); timeRange (7d) o dateFrom/dateTo; maxArticlesPerQuery; goPastLimit y resolveUrls (activados); onlyNew + stateName. Ejemplo mínimo en JSON: sección Minimal input de la parte en inglés.
  • Salida: una fila por nota y un registro SUMMARY con el control por búsqueda.
  • Eventos que se cobran: article USD 0,0015 por nota entregada con el link real (USD 1,50 cada 1.000); más apify-actor-start.
  • Nunca se cobra: repetidas, notas fuera de fecha, ya entregadas en un monitoreo anterior, filas sin link convertido (van gratis), búsquedas fallidas, el SUMMARY.
  • Límites: se detiene en maxArticlesPerQuery o en tu costo máximo por corrida (stoppedBy).

Por qué este

  • Pasa el tope de ~100. Google News nunca lista más de unas 100 notas por búsqueda. Este Actor lee tu rango día por día, y un día que también llega a 100 lo lee otra vez por medio. Prueba del 2026-10-09, "nvidia", un día, edición EE. UU.: una búsqueda de Google da 100; este Actor, 1.153 notas distintas.
  • Las fechas que quieras: dateFrom / dateTo, o la última hora, 24 horas, 7 días, 30 días o 12 meses.
  • Estrictamente dentro de tus fechas. El filtro de fechas de Google se filtra: pedidas notas anteriores al 2026-01-01, devolvió 4 posteriores de 100. Las que caen fuera no se entregan ni se cobran.
  • Links reales del medio, activados por defecto, y pagás solo las filas que lo tienen: una nota cuyo link no se pudo convertir se entrega igual, con url vacío, y no se cobra.
  • Cada nota una vez, y se cobra una vez, entre días, medios, búsquedas y ediciones de la corrida.
  • Solo notas nuevas, para monitoreo: con onlyNew, el Actor recuerda lo que entregó (en un almacén de tu propia cuenta) y cada corrida programada entrega y cobra solo lo nuevo.
  • Control por búsqueda (registro SUMMARY): feeds leídos, días que Google cortó en 100, partes no completas con su motivo, repetidas, fuera de fecha, vistas en corridas anteriores, links no convertidos, y listComplete: true solo cuando no se cortó nada.

Precio

Pagás solo las notas entregadas con el link real del medio: USD 1,50 cada 1.000 notas (USD 0,0015 cada una). No hay cargo por corrida aparte del evento de inicio estándar de Apify, y no se cobran las repetidas, las que caen fuera de tus fechas, las ya entregadas en una corrida anterior de monitoreo, las filas cuyo link no se pudo convertir ni las búsquedas que fallan. Poné un cargo máximo por corrida en Apify y el Actor se detiene ahí.

Para saber

  • Solo título, medio, fecha y link: el texto de la nota está en el sitio del medio y no se copia.
  • publishedAt es la fecha de Google News; las notas de hace más de unos días suelen traer solo el día (publishedTimeKnown: false).
  • Un medio que publica solo 100+ notas de tu búsqueda en un día no se puede partir más (Google no parte por debajo del día): el SUMMARY nombra esas partes.
  • Monitoreo: un stateName por monitor, y no corras dos corridas con el mismo stateName a la vez (las dos entregarían las mismas notas nuevas).
  • No está afiliado a Google. Lee los feeds RSS públicos de Google News, sin iniciar sesión.