# Google News API

> Google News returns article search results, top stories, and local news as a workflow and API.

Google News Search news returns recent articles about a company, person, or topic; it requires search words. List top stories returns current stories overall or by topic, with a country and language as inputs. List local news returns stories for a city or region; it requires a place and accepts an optional language.

- Page: https://fous.com/workflows/google-news
- Handle: `@google-news`
- Category: [News](https://fous.com/workflows/category/news)
- Source website: https://news.google.com
- Last verified: Sep 28, 2026
- Fous is not affiliated with Google News.

## Methods

### List local news

Operation `list_local_news`, version 1. 1 credit per call.

List local stories for a city or region in Google News order, with links to the publishers. If no local stories are available, search news for the place instead.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `place` | string | yes | `"Manchester, UK"` | City or region to find local news for, such as Austin, Texas. |
| `language` | string | no | `"English"` | Language name or code for the news, such as English, Spanish, en or es. |
| `max_results` | integer | no | `3` | Maximum stories to return, such as 20 (up to 100). |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "place"
  ],
  "properties": {
    "place": {
      "type": "string",
      "minLength": 1,
      "description": "City or region to find local news for, such as Austin, Texas.",
      "examples": [
        "Manchester, UK",
        "Austin, Texas",
        "Zzyzx, California"
      ]
    },
    "language": {
      "type": "string",
      "default": "English",
      "description": "Language name or code for the news, such as English, Spanish, en or es.",
      "examples": [
        "English",
        "Spanish"
      ]
    },
    "max_results": {
      "type": "integer",
      "default": 20,
      "maximum": 100,
      "minimum": 1,
      "description": "Maximum stories to return, such as 20 (up to 100).",
      "x-fous-developer": true,
      "examples": [
        3,
        5,
        2
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "place": "Manchester, UK",
      "language": "English",
      "max_results": 3
    },
    {
      "place": "Austin, Texas",
      "max_results": 5
    },
    {
      "place": "Zzyzx, California",
      "max_results": 2
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `note` | string or null | `"Google News has no local stories for this place; showing a news search for the place instead."` | Explains when a news search was used instead of a local section; otherwise null. |
| `place` | string | `"Manchester"` | Place name shown by Google News for the local section, or the search place when falling back. |
| `stories` | array |  |  |
| `stories[].headline` | string | `"Take That announce Manchester gig - and it swiftly sells out"` |  |
| `stories[].publisher` | string | `"Manchester Evening News"` |  |
| `stories[].article_url` | string | `"https://www.manchestereveningnews.co.uk/whats-on/music-nightlife-news/take-announce-manchester-gig-swiftly-34683447"` |  |
| `stories[].published_at` | string | `"2026-09-28T14:09:00+00:00"` |  |
| `stories[].google_news_url` | string | `"https://news.google.com/rss/articles/CBMiXkFVX3lxTE10bVROLVA4aFlaNFdBUDBRWU1fTVUwMk1nVTRCa0xadjdWOVNUcGczMkphVU9IeDZRZV` |  |

**Example input**

```json
{
  "place": "Manchester, UK",
  "language": "English",
  "max_results": 3
}
```

**Example output**

```json
{
  "note": null,
  "place": "Manchester",
  "stories": [
    {
      "headline": "Take That announce Manchester gig - and it swiftly sells out",
      "publisher": "Manchester Evening News",
      "article_url": "https://www.manchestereveningnews.co.uk/whats-on/music-nightlife-news/take-announce-manchester-gig-swiftly-34683447",
      "published_at": "2026-09-28T14:09:00+00:00",
      "google_news_url": "https://news.google.com/rss/articles/CBMitgFBVV95cUxNMUJ1elZxcy11T1RLN0M5V1VTRW9qM2I1YkhJY01telNnUFJibDgzLVZNbmFFbUVTR0tjMlphSllmN0hYRUg3eWZOcExWemE4aldkTTI1ak9LbmM1OW1mOFlxMDhvQUpqekdhVjBWS29jN2xmV3h…"
    },
    {
      "headline": "Body building products and weight loss drugs seized in series of raids",
      "publisher": "BBC",
      "article_url": "https://www.bbc.co.uk/news/articles/c60relxrdx9qo",
      "published_at": "2026-09-28T18:10:32+00:00",
      "google_news_url": "https://news.google.com/rss/articles/CBMiXkFVX3lxTE10bVROLVA4aFlaNFdBUDBRWU1fTVUwMk1nVTRCa0xadjdWOVNUcGczMkphVU9IeDZRZVduM3p6ak05WWlQMklGbDRxNnNtU19KbW1ndmJ6c2szNkpHbXc?oc=5"
    },
    {
      "headline": "Select consults on 31-storey Manchester tower",
      "publisher": "Place North West",
      "article_url": "https://www.placenorthwest.co.uk/select-consults-on-31-storey-manchester-tower/",
      "published_at": "2026-09-28T13:21:00+00:00",
      "google_news_url": "https://news.google.com/rss/articles/CBMihgFBVV95cUxQMklnY2tweE1yLTBpU3BYSDdHWkdwZHJBeTgtRzFsVEZVdGJCMWprWlZvYzR1RDk4M1hWZnhkN2tITjFYU3ROZW9jbHdCLW50UmZSSFZwZU5YQXNyanZWQktfUnBBczlKRFU3Y3habzhsWExOOVN…"
    }
  ]
}
```

### List top stories

Operation `list_top_stories`, version 1. 1 credit per call.

List the current top Google News stories overall or by topic for a country and language. Coverage counts are null when not shown; some editions omit topics.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `topic` | string | no | `"technology"` | The section to list, such as technology. |
| `country` | string | no | `"United Kingdom"` | Country name or two-letter code, such as United States or US. |
| `language` | string | no | `"English"` | Language name or code, such as English or en. |
| `max_results` | integer | no | `8` | Maximum number of stories, for example 20. |

**Input schema**

```json
{
  "type": "object",
  "properties": {
    "topic": {
      "enum": [
        "top stories",
        "world",
        "national",
        "business",
        "technology",
        "entertainment",
        "sports",
        "science",
        "health"
      ],
      "type": "string",
      "default": "top stories",
      "description": "The section to list, such as technology.",
      "examples": [
        "technology",
        "top stories"
      ]
    },
    "country": {
      "type": "string",
      "default": "United States",
      "description": "Country name or two-letter code, such as United States or US.",
      "examples": [
        "United Kingdom",
        "United States"
      ]
    },
    "language": {
      "type": "string",
      "default": "English",
      "description": "Language name or code, such as English or en.",
      "examples": [
        "English"
      ]
    },
    "max_results": {
      "type": "integer",
      "default": 20,
      "maximum": 100,
      "minimum": 1,
      "description": "Maximum number of stories, for example 20.",
      "x-fous-developer": true,
      "examples": [
        8,
        20
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "topic": "technology",
      "country": "United Kingdom",
      "language": "English",
      "max_results": 8
    },
    {
      "topic": "top stories",
      "country": "United States",
      "language": "English",
      "max_results": 20
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `stories` | array |  | Top stories in Google News order. |
| `stories[].headline` | string | `"GTA 6 Has an 'Advanced' Weather System, Leading to Speculation Over Hurricanes"` |  |
| `stories[].publisher` | string | `"IGN"` |  |
| `stories[].article_link` | string | `"https://www.ign.com/articles/gta-6-has-an-advanced-weather-system-but-how-will-it-work"` |  |
| `stories[].published_at` | string | `"2026-09-28T16:33:56+00:00"` |  |
| `stories[].google_news_link` | string | `"https://news.google.com/stories/CAAqNggKIjBDQklTSGpvSmMzUnZjbmt0TXpZd1NoRUtEd2lCd3JpSEVoSGlsd2VWNHh5aHJTZ0FQAQ?hl=en-GB` |  |
| `stories[].related_articles_count` | integer or null |  |  |

**Example input**

```json
{
  "topic": "technology",
  "country": "United Kingdom",
  "language": "English",
  "max_results": 8
}
```

**Example output**

```json
{
  "stories": [
    {
      "headline": "GTA 6 Has an 'Advanced' Weather System, Leading to Speculation Over Hurricanes",
      "publisher": "IGN",
      "article_link": "https://www.ign.com/articles/gta-6-has-an-advanced-weather-system-but-how-will-it-work",
      "published_at": "2026-09-28T16:33:56+00:00",
      "google_news_link": "https://news.google.com/stories/CAAqNggKIjBDQklTSGpvSmMzUnZjbmt0TXpZd1NoRUtEd2lCd3JpSEVoSGlsd2VWNHh5aHJTZ0FQAQ?hl=en-GB&gl=GB&ceid=GB%3Aen",
      "related_articles_count": null
    },
    {
      "headline": "Qualcomm confirms it wants to use Samsung's 2nm process - GSMArena.com news",
      "publisher": "GSMArena.com",
      "article_link": "https://www.gsmarena.com/qualcomm_confirms_it_wants_to_use_samsungs_2nm_process-news-74797.php",
      "published_at": "2026-09-28T18:21:02+00:00",
      "google_news_link": "https://news.google.com/stories/CAAqNggKIjBDQklTSGpvSmMzUnZjbmt0TXpZd1NoRUtEd2lwbVlLQ0VoSF91NmMxX3d0cl95Z0FQAQ?hl=en-GB&gl=GB&ceid=GB%3Aen",
      "related_articles_count": null
    },
    {
      "headline": "Report: Sony surveying developers about dropping PlayStation disc support",
      "publisher": "GamesIndustry.biz",
      "article_link": "https://www.gamesindustry.biz/report-sony-surveying-developers-about-dropping-playstation-disc-support",
      "published_at": "2026-09-28T15:23:57+00:00",
      "google_news_link": "https://news.google.com/stories/CAAqNggKIjBDQklTSGpvSmMzUnZjbmt0TXpZd1NoRUtEd2pubXR1R0VoSHUwb1JsQ2pKV3dDZ0FQAQ?hl=en-GB&gl=GB&ceid=GB%3Aen",
      "related_articles_count": null
    }
  ]
}
```

### Search news

Operation `search_news`, version 1. 1 credit per call.

Find recent Google News articles about a company, person, or topic, in Google News order, with links to publisher articles. Returns up to 100 articles.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `query` | string | yes | `"Nvidia"` | Search words, for example Nvidia. |
| `country` | string | no | `"United Kingdom"` | Country name or two-letter code, for example United States or US. |
| `language` | string | no | `"English"` | Language name or code, for example English or en. |
| `max_results` | integer | no | `5` | Maximum number of articles, for example 20. |
| `time_window` | string | no | `"past_day"` | How far back to search, for example past_week. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "query"
  ],
  "properties": {
    "query": {
      "type": "string",
      "minLength": 1,
      "description": "Search words, for example Nvidia.",
      "examples": [
        "Nvidia",
        "Taylor Swift tour"
      ]
    },
    "country": {
      "type": "string",
      "default": "United States",
      "description": "Country name or two-letter code, for example United States or US.",
      "examples": [
        "United Kingdom",
        "US"
      ]
    },
    "language": {
      "type": "string",
      "default": "English",
      "description": "Language name or code, for example English or en.",
      "examples": [
        "English",
        "en"
      ]
    },
    "max_results": {
      "type": "integer",
      "default": 20,
      "maximum": 100,
      "minimum": 1,
      "description": "Maximum number of articles, for example 20.",
      "x-fous-developer": true,
      "examples": [
        5,
        4,
        3
      ]
    },
    "time_window": {
      "enum": [
        "past_hour",
        "past_day",
        "past_week",
        "past_month",
        "any"
      ],
      "type": "string",
      "default": "any",
      "description": "How far back to search, for example past_week.",
      "examples": [
        "past_day",
        "past_week",
        "past_hour"
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "query": "Nvidia",
      "max_results": 5,
      "time_window": "past_day"
    },
    {
      "query": "Taylor Swift tour",
      "country": "United Kingdom",
      "language": "English",
      "max_results": 4,
      "time_window": "past_week"
    },
    {
      "query": "Nvidia",
      "country": "US",
      "language": "en",
      "max_results": 3,
      "time_window": "past_hour"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `articles` | array |  | Articles in Google News order. |
| `articles[].headline` | string | `"Nvidia unveils security platform to stop AI agents from going rogue"` |  |
| `articles[].publisher` | string or null | `"AP News"` |  |
| `articles[].article_link` | string | `"https://apnews.com/article/nvidia-ai-agent-artificial-intelligence-safety-3c4d7c1cfde82851c0577d1fa29b8621"` | Link to the article on the publisher website. |
| `articles[].published_at` | string or null | `"2026-09-28T22:14:00+00:00"` | Publication time in ISO 8601 with UTC offset. |
| `articles[].google_news_link` | string | `"https://news.google.com/rss/articles/CBMiqgFBVV95cUxNLUs1WDRHbkRJcDEzM0tsZ1BWNlZzS2pMVm94RkllS3hiR0Q2UUlPTnc0SVZUcGRCMU` | Link to the Google News article. |

**Example input**

```json
{
  "query": "Nvidia",
  "max_results": 5,
  "time_window": "past_day"
}
```

**Example output**

```json
{
  "articles": [
    {
      "headline": "Nvidia unveils security platform to stop AI agents from going rogue",
      "publisher": "AP News",
      "article_link": "https://apnews.com/article/nvidia-ai-agent-artificial-intelligence-safety-3c4d7c1cfde82851c0577d1fa29b8621",
      "published_at": "2026-09-28T22:14:00+00:00",
      "google_news_link": "https://news.google.com/rss/articles/CBMiqgFBVV95cUxNLUs1WDRHbkRJcDEzM0tsZ1BWNlZzS2pMVm94RkllS3hiR0Q2UUlPTnc0SVZUcGRCMUVoNDhvTjVKdkhuajJ3RXR2WnJRS2xoRTFwNUREV09yc0dFMjc2YVpCY0RTMW1JbXdDOGpXY283UFVBcG1…"
    },
    {
      "headline": "Nvidia sets biggest-ever buyback plan as AI chip competition weighs on stock performance",
      "publisher": "Reuters",
      "article_link": "https://www.reuters.com/business/nvidia-adds-150-billion-existing-share-repurchase-plan-2026-09-28/",
      "published_at": "2026-09-28T19:53:54+00:00",
      "google_news_link": "https://news.google.com/rss/articles/CBMioAFBVV95cUxNTzg4UzFUbWw0cThEbUEwYVdsdF9WVVpuSDZ0RkJjLWd1UE5XdVJFWjRKazNRU2lyVkxiX2xIZFplVnkxTTl4QUhnV1NaM21SdFNxTFBMYXVJMlJVU2lobmtWYkpqa2wyWlRPLWxuZTMtTzhRUVp…"
    },
    {
      "headline": "What Nvidia's $150 billion stock buyback means for shareholders and potential investors",
      "publisher": "Yahoo Finance",
      "article_link": "https://finance.yahoo.com/personal-finance/investing/article/what-nvidias-150-billion-stock-buyback-means-for-shareholders-and-potential-investors-211828747.html",
      "published_at": "2026-09-28T21:18:28+00:00",
      "google_news_link": "https://news.google.com/rss/articles/CBMi8wFBVV95cUxPWUtDZnNFWERqRnhwYi1DOTdWRXhPdEhwRjgxRXdDa3paclByUmVWb3ZuaXVpTHdKc3J3QjVzYnpjRVMxXzBmSWdwUEJuV3ZEdmVBVHRBeG9IVDVKbzR3czN5UTdSQjR3U2J0T1NIWGVrQ2U5SGd…"
    }
  ]
}
```

## Quick start

Call the API with a Fous API key (`FOUS_API_KEY`). To create one, turn on Developer mode in Fous Studio, then open Keys & connections → API keys (https://app.fous.com/keys).

```bash
# First set your key: export FOUS_API_KEY='YOUR_FOUS_API_KEY'
: "${FOUS_API_KEY:?Set FOUS_API_KEY before running this example}"

curl 'https://api.fous.com/v1/query' \
  --fail-with-body --silent --show-error --max-time 120 \
  -H "Authorization: Bearer $FOUS_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "api": "@google-news",
  "visibility": "public",
  "operation": "list_local_news",
  "version": 1,
  "input": {
    "place": "Manchester, UK",
    "language": "English",
    "max_results": 3
  },
  "response": {
    "format": "json"
  }
}'
```

```python
# Save as fous.py and run with python3 fous.py. No packages needed.
# First set your key: export FOUS_API_KEY='YOUR_FOUS_API_KEY'
import json
import os
import urllib.error
import urllib.request

api_key = os.environ.get("FOUS_API_KEY")
if not api_key:
    raise RuntimeError("Set FOUS_API_KEY before running this example")

body = json.loads("{\n  \"api\": \"@google-news\",\n  \"visibility\": \"public\",\n  \"operation\": \"list_local_news\",\n  \"version\": 1,\n  \"input\": {\n    \"place\": \"Manchester, UK\",\n    \"language\": \"English\",\n    \"max_results\": 3\n  },\n  \"response\": {\n    \"format\": \"json\"\n  }\n}")
request = urllib.request.Request(
    "https://api.fous.com/v1/query",
    data=json.dumps(body).encode("utf-8"),
    headers={
        "Authorization": f"Bearer {api_key}",
        "Content-Type": "application/json",
    },
    method="POST",
)
try:
    with urllib.request.urlopen(request, timeout=120) as response:
        result = json.load(response)
except urllib.error.HTTPError as error:
    raise RuntimeError(f"HTTP {error.code}: {error.read().decode('utf-8', errors='replace')}") from error
if result.get("success") is False:
    raise RuntimeError(result.get("error", {}).get("message", "Request failed"))
print(json.dumps(result["data"]["output"], indent=2))
```

```typescript
// Save as fous.mts and run with npx tsx fous.mts.
// First set your key: export FOUS_API_KEY='YOUR_FOUS_API_KEY'
const apiKey = process.env.FOUS_API_KEY;
if (!apiKey) throw new Error("Set FOUS_API_KEY before running this example");

const response = await fetch("https://api.fous.com/v1/query", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${apiKey}`,
    "Content-Type": "application/json",
  },
  signal: AbortSignal.timeout(120_000),
  body: JSON.stringify({
  "api": "@google-news",
  "visibility": "public",
  "operation": "list_local_news",
  "version": 1,
  "input": {
    "place": "Manchester, UK",
    "language": "English",
    "max_results": 3
  },
  "response": {
    "format": "json"
  }
}),
});
type ApiResult = { success: boolean; data?: { output: unknown }; error?: { message: string } };
const result: ApiResult = await response.json();
if (!response.ok || result.success === false) {
  throw new Error(result.error?.message ?? `HTTP ${response.status}`);
}
if (!result.data) throw new Error("Missing API response data");
console.log(result.data.output);
```

Or describe the data in plain language: send `{"api":"@google-news","prompt":"Describe the data you need, with every detail"}` to the same URL. Fous fills in the input, runs the method that fits and returns only the fields you asked for; `data.route.calls[].request` is the exact call it made. Routing is free; the run costs the same.

## Use cases

- Track articles about a company, person, or topic.
- Monitor current stories by country, language, or topic.
- Review local coverage for a city or region.
- Collect publisher links and publication times for news reports.

## FAQ

### Is Fous affiliated with Google News?

No. Fous is not affiliated with Google News. This workflow reads the public news.google.com website and returns its data.

### How much does it cost?

Each run costs 1 credit. With pay-as-you-go, a credit costs 1¢; monthly plans cost less per credit.

### Do I need a Google News account?

No. You only need a Fous account.

### How current is the data?

Fous gets the data from news.google.com when you run it; repeating the same request within a day may return the saved result. Fous checks this workflow automatically; it last passed a check on Sep 28, 2026.

### What recent articles cover a company or topic?

Search news finds recent articles using required search words, with optional country, language, result count, and time range.

### What are the current top stories in a country?

List top stories returns current stories overall or by topic for a country and language.

### What local stories are available for a city?

List local news returns stories for a city or region, with an optional language.

## Related

- [Bing API](https://fous.com/workflows/bing.md): Bing returns ordered web results and recent news, plus AI answers with sources when available; news times are approximate, and images may be missing.
- [Yahoo News API](https://fous.com/workflows/yahoo-news.md): Yahoo News provides section headlines and searchable articles, plus public article text and details; health has no public stories, and search covers a limited results window.
- [AP News API](https://fous.com/workflows/ap-news.md): AP News provides reporting, up to 50 public-page headlines, searchable articles visible in its search, and full text when accessible.
- [BBC News API](https://fous.com/workflows/bbc-news.md): BBC News returns section-ordered headlines, searchable articles with dates, authors and sections (filters/newest sorting cover 180 matches), and article text with available latest live entries.
- [The New York Times API](https://fous.com/workflows/the-new-york-times.md): The New York Times provides current section headlines and summaries, keyword-matched public listings with dates, authors, sections and links, and Best Sellers lists for the latest issue or dates within a week.
- [CNN API](https://fous.com/workflows/cnn.md): CNN provides section-page headlines and searchable public articles, plus article text; subscriber stories show only a brief public preview, and live blogs include entries.
- [Fox News API](https://fous.com/workflows/fox-news.md): Fox News returns section-page headlines, keyword-matched articles among up to 100 available results, and readable article text, including the latest live-blog updates.
- [The Guardian API](https://fous.com/workflows/the-guardian.md): The Guardian provides news, sport, culture and opinion, ordered headlines, keyword-search results that may omit older or less prominent stories, and article details with available text; live blogs show the latest entries.
- [All News workflows](https://fous.com/workflows/category/news)
