# Google News Scraper

> Google News scraper: get title, publisher, date and the real article URL by keyword or topic, for any country and language. No login or API key.

URL: https://cliqtomedia.com/actors/google-news-scraper/

Category: Search, SEO & ads · Status: live on Apify Store · Apify page: https://apify.com/cliqtomedia/google-news-scraper?fpr=cliqto

Search Google News by keyword, topic or Top stories. Each row has the title, publisher, date and the real article link. You need no Google account.

## How to use it: 3 steps

1. **Make a free Apify account.** Apify is the cloud platform where our tools run. The free plan gives you $5 of usage every month, no credit card needed. You pay Apify, not us.
2. **Paste your input and press Start.** No code needed: you fill in a form (the input). It already has a working example. For example: `apify` in Search queries. Each start is one run.
3. **Download the results.** When the run ends, the results are in a table (the dataset). Open Output, press Export and pick Excel or CSV. JSON and the API are there too.

## What it does

Google News Scraper searches Google News by keyword, topic or Top stories and returns one row per article: title, publisher, publish date and the real article URL on the publisher's site, not the Google News redirect. It reads the public Google News RSS feeds, so you need no Google login and no API key. A run with the default input (`apify`, 20 articles) usually takes 5–20 seconds and costs about $0.075.

- You add keywords, topics or both, and choose a language and a country (a Google News "edition").
- The Actor reads the matching Google News RSS feeds: search, topic sections or the Top stories front page.
- For each article it decodes the Google News link (`news.google.com/rss/articles/…`) into the original publisher URL.
- It saves one Dataset row per article. Topic and Top stories rows also list other outlets that cover the same story (`relatedArticles`).
- Google returns at most 100 articles per feed. When you ask for more, the Actor searches one day at a time (Google's `after:` and `before:` operators) and removes duplicates.

### Good for

- Daily or hourly news monitoring for brands, people, companies or topics.
- Media lists for PR: who wrote about a subject, when, and the link to the story.
- News in many languages: `de` for Germany, `pt-BR` for Brazil, `ja` for Japan, `zh-TW` for Taiwan.
- A clean news list for an AI agent, a spreadsheet or a BI tool.

### Not a good fit

- No full article text, images or summaries. Google News RSS gives only the title and publisher. For article text, send `articleUrl` to an article extractor.
- Up to 1,000 articles per query, and up to 20 queries and topics per run. Our largest test run saved 5,000 articles (5 queries × 1,000) in about 34 minutes. A run stops after about 50 minutes and keeps what it saved (`RUN_SUMMARY.status: "CAPPED"`), so split bigger jobs into several runs. Topics and Top stories read one feed each, so they return only what Google shows in that section (at most about 100 articles).
- Google decides which articles it shows. Two runs a few minutes apart can return a slightly different set or order.
- Google News RSS is for personal, non-commercial use under Google's terms. You are responsible for how you use the data.

## Price

Pay per event. Apify bills you, not us.

| What you pay for | Price | When |
|---|---|---|
| Start fee | $0.0025 | Charged once per run. This tool uses 1 GB of memory or less by default; more memory costs more. |
| News article | $0.0036 (from $0.0009 on paid Apify plans) | One complete or partial article row saved in the Dataset, with the decoded publisher URL included. Not-found and error rows are free. |

- One result: about $0.0061.
- 1,000 results: about $3.60.
- Every day 100 results, for 30 days: about $10.88 a month.

Free to try: the Apify free plan gives you $5 of usage every month, no credit card needed.

Prices checked on 24 October 2026. Current price: https://apify.com/cliqtomedia/google-news-scraper?fpr=cliqto

## Questions

### Is there an official Google News API?

No. Google has no public Google News API. This tool reads the public RSS feeds.

### Do I get the article text?

No. Google News RSS has no snippet. Send the article link to an article text tool.

### Can I get more than 100 articles for a keyword?

Yes, up to 1,000. The tool searches one day at a time and removes duplicates.

### Why are the links not news.google.com links?

The tool decodes Google's redirect links into the publisher's own URL.

### Do I need a Google account or API key?

No. The Actor reads public Google News RSS feeds without login, cookies or keys.

### Why are the titles shorter than in Google News?

Google adds " - Publisher" to each title in the feed. The Actor removes it and puts the publisher into `sourceName`.

### Why is the order or set of articles different between runs?

Google decides which articles each feed shows, and this changes during the day. Rows keep Google's order in `position`. Use `articleId` to compare runs.

## Data fields

- `status` (string): Row result: complete, partial (article found but the publisher URL could not be decoded), not_found (no articles for this query or topic) or error. Only complete and partial rows are charged.
- `statusReason` (string): Plain-English reason for partial, not_found or error rows; null when complete.
- `errorCode` (string): Machine code for error rows, e.g. SOURCE_BLOCKED, RATE_LIMITED, DEADLINE_REACHED; null otherwise.
- `feedType` (string): Where the row came from: a search query, a topic section or Top stories.
- `query` (string): Your search query as given; null for topic rows.
- `topic` (string): Topic section (BUSINESS, TECHNOLOGY…); null for search rows.
- `position` (integer): 1-based order of the article within its query or topic (newest first for deep search).
- `title` (string): Article headline, without the publisher suffix Google adds.
- `sourceName` (string): Publisher name, e.g. Reuters.
- `sourceUrl` (string): Publisher home page as Google News lists it, e.g. https://www.reuters.com.
- `articleUrl` (string): Original article URL on the publisher's site, decoded from the Google News link. null when resolveSourceUrl is off (the row stays complete) or decoding failed (the row is partial).
- `googleNewsUrl` (string): Google News link to the article (news.google.com/rss/articles/…).
- `articleId` (string): Google News article ID.
- `publishedAt` (string): Publish time, ISO 8601 UTC, as Google News reports it.
- `relatedArticles` (array): Other outlets covering the same story (topic and Top stories rows): title, sourceName, googleNewsUrl. Empty for most search rows.
- `language` (string): Edition language code used for this run, e.g. en.
- `country` (string): Edition country code used for this run, e.g. US.
- `feedUrl` (string): The Google News RSS feed this row came from (provenance).
- `fetchedAt` (string): When the Actor fetched this row, ISO 8601 UTC.

## Input settings

- `queries` (array): Keywords or phrases to search on Google News, one per line, e.g. apify or "electric cars". Google News search operators work: "exact phrase", OR, -exclude, site:reuters.com, intitle:word. Up to 20 queries and topics in total.
- `topics` (array): Google News sections for the chosen country: TOP_STORIES (the front page), WORLD, NATION (national news), BUSINESS, TECHNOLOGY, ENTERTAINMENT, SPORTS, SCIENCE, HEALTH. Topic rows also list other outlets covering the same story.
- `country` (string): Google News edition country as a two-letter code, e.g. US, GB, DE, FR, IN, BR, JP. Changes which outlets and stories Google shows.
- `language` (string): Edition language as a two-letter code, e.g. en, de, fr, es, pt, ja, zh. Use the language people read in that country (de for DE, pt for BR). A locale such as zh-TW, pt-BR or en-GB also works and sets the country.
- `maxArticles` (integer): Maximum articles for each query and topic, 1–1,000. Google returns at most 100 per feed; for more, the Actor searches day by day, back to the "since" date (or 30 days). Topics return up to about 100. Each article row is charged; not-found and error rows are free.
- `since` (string): Only articles published after this point: a date (2026-10-01) or a period back from now (1h, 24h, 7d, 2w, 3m, 1y). Leave empty for no date filter.
- `resolveSourceUrl` (boolean): Decodes each Google News link (news.google.com/rss/articles/…) into the original article URL on the publisher's site. Included in the price; turn off only for faster runs when the Google link is enough.
- `proxyConfiguration` (object): Apify datacenter proxy by default. If Google blocks it, the Actor switches to Apify residential proxy by itself. Choose your own proxy group or URLs to turn this off. The Actor never solves CAPTCHAs.

## Step by step on Apify

1. Open the Input tab.
2. In Search queries (`queries`), keep `apify` or add your own keyword, for example `electric cars`.
3. Keep Language `en`, Country `US` and Max articles per query or topic `20`, or change them.
4. Click Start.
5. Open the Output tab. The Articles table shows `title`, `sourceName`, `publishedAt` and `articleUrl`.

## Use cases

| Task | Input | You get | Key fields | Next step |
|---|---|---|---|---|
| Brand and competitor monitoring | `queries` + `since: "24h"` on a schedule | Article | `query`, `title`, `sourceName`, `articleUrl`, `publishedAt` | Slack, email or Google Sheets through Apify integrations |
| PR media list | `queries` like `"your company"` + `since: "30d"` | Article | `sourceName`, `sourceUrl`, `articleUrl` | CSV or Excel export |
| Country news overview | `topics: ["BUSINESS"]`, `country: "DE"`, `language: "de"` | Article with related coverage | `title`, `sourceName`, `relatedArticles` | Dashboard or newsletter |
| News context for an AI agent | `queries` + small `maxArticles` | Article | `title`, `articleUrl`, `publishedAt` | Apify MCP server |

## Tips

- Use the published-since filter for daily or hourly checks.
- Pick a country and language to get local news editions.
- Use the article ID to compare results between runs.

## Sample result

```json
{
  "status": "complete",
  "statusReason": null,
  "errorCode": null,
  "feedType": "topic",
  "query": null,
  "topic": "BUSINESS",
  "position": 1,
  "title": "Waren bei Galeria in Regensburg plötzlich hinter Absperrband – Ein Hersteller spricht Klartext",
  "sourceName": "Mittelbayerische Zeitung",
  "sourceUrl": "https://www.mittelbayerische.de/",
  "articleUrl": "https://www.mittelbayerische.de/lokales/stadt-regensburg/waren-bei-galeria-in-regensburg-ploetzlich-hinter-absperrband-ein-hersteller-spricht-klartext-22206179",
  "googleNewsUrl": "https://news.google.com/rss/articles/CBMi8AFBVV95cUxPWnVHaWd…?oc=5",
  "articleId": "CBMi8AFBVV95cUxPWnVHaWd…",
  "publishedAt": "2026-10-14T17:01:36.000Z",
  "relatedArticles": [
    {
      "title": "Flatterband im Kaufhaus: Was hinter den gesperrten Galeria-Regalen steckt",
      "sourceName": "WDR",
      "googleNewsUrl": "https://news.google.com/rss/articles/CBMifkFVX3lx…?oc=5"
    }
  ],
  "language": "de",
  "country": "DE",
  "feedUrl": "https://news.google.com/rss/headlines/section/topic/BUSINESS?hl=de&gl=DE&ceid=DE%3Ade",
  "fetchedAt": "2026-10-15T04:22:36.577Z"
}
```

## Use it from code

Actor ID: `cliqtomedia/google-news-scraper`

```python
from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("cliqtomedia/google-news-scraper").call(run_input={
    "queries": [
        "apify"
    ],
    "country": "US"
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)
```

```bash
curl -X POST "https://api.apify.com/v2/acts/cliqtomedia~google-news-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"queries": ["apify"], "country": "US"}'
```

```python
# pip install langchain-apify
# set APIFY_TOKEN in your environment
from langchain_apify import ApifyActorsTool

tool = ApifyActorsTool("cliqtomedia/google-news-scraper")
result = tool.invoke({"run_input": {"queries": ["apify"], "country": "US"}})
print(result)
```

run-sync waits up to 300 seconds; for longer runs start a run and use a webhook. LlamaIndex and MCP: https://cliqtomedia.com/actors/ai-agents/

## Use cases with this tool

- [SEO data without a big suite](https://cliqtomedia.com/actors/use-cases/seo-research/): Collect keyword ideas and check your pages and your rivals' pages. Search results and trends coming soon.

## Similar tools

- [RSS & Atom Feed Reader / Monitor](https://cliqtomedia.com/actors/rss-atom-feed-reader-monitor/)
- [Substack Newsletter Scraper](https://cliqtomedia.com/actors/substack-newsletter-scraper/)
- [Google Autocomplete Scraper](https://cliqtomedia.com/actors/google-autocomplete-scraper/)
- [Website JSON-LD Structured Data Scraper](https://cliqtomedia.com/actors/website-jsonld-structured-data-scraper/)
- [XML Sitemap URLs Extractor](https://cliqtomedia.com/actors/xml-sitemap-urls-extractor/)
- [Website Metadata & Open Graph Scraper](https://cliqtomedia.com/actors/website-metadata-open-graph-scraper/)
