mcpField
G
google-news

google-news

github.com/fetcher-shData & databases23.8k installsUpdated 8w ago
Repository

About google-news

google-news is a skill for accessing Google News headlines and search through fetcher.sh. It documents language- and region-specific queries, section feeds, topic headlines and article URL resolution.

Key features

  1. 01Keyword headline search by edition
  2. 02Latest and section headlines
  3. 03Headlines by topic ID
  4. 04Supported language and region codes
  5. 05Resolve redirect URLs to article links

Use cases

  1. 01Search headlines in a chosen language edition
  2. 02Retrieve technology or business headlines
  3. 03Convert a Google News redirect into an article URL

MCP support

Connects to https://google-news.fetcher.sh/mcp. MCP offers endpoint discovery, balance checks, data fetching, credit top-ups and the google_news_search shortcut.

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/fetcher-sh/fetcher-skills --skill google-news

After installing, type/google-newsin Claude Code to confirm it loaded.

Details

From the project README

Google News API

Google News headlines and search as clean JSON — one plain HTTP GET per call, paid as you go. No RSS feed scraping, no redirect-URL decoding by hand, no undocumented internal endpoints.

Base URL: https://google-news.fetcher.sh

Authentication

Two ways to pay, same data — full mechanics in the fetcher skill:

# 1. Prepaid credits (recommended — get a key at https://fetcher.sh/topup
#    or via POST /api/credits/topup, see the fetcher skill)
export FETCHER_API_KEY="bby_live_xxxxxxxxxxxx"
curl -H "Authorization: Bearer $FETCHER_API_KEY" \
  "https://google-news.fetcher.sh/api/search?keyword=hello&languageCode=en-US"

# 2. x402 pay-per-call — omit the header; a GET with no payment returns 402
#    with machine-readable payment requirements (USDC on Base, Polygon,
#    Arbitrum, Monad, or Solana). @x402/fetch signs and retries automatically.

Every response is { "status": number, "message": string, "data": ... }; the HTTP status mirrors status.

Endpoints (12 — all GET, $0.005/call)

EndpointWhat it returns
/api/searchHeadlines matching a keyword, in one language edition
/api/latestLatest headlines
/api/worldWorld section headlines
/api/businessBusiness section headlines
/api/technologyTechnology section headlines
/api/entertainmentEntertainment section headlines
/api/sportSport section headlines
/api/scienceScience section headlines
/api/healthHealth section headlines
/api/topic/{topicId}Headlines for an arbitrary topic ID
/api/language-regionsEvery supported languageCode value
/api/decode-article-urlResolves a Google News redirect URL to the real article URL

languageCode (e.g. en-US, en-GB, fr-FR) is required on every endpoint except /api/language-regions, which takes no parameters at all and exists specifically to list the valid values. keyword is additionally required on /api/search; url is required on /api/decode-article-url.

Scenarios

Keyword search, US English edition:

curl -H "Authorization: Bearer $FETCHER_API_KEY" \
  --data-urlencode "keyword=stablecoin regulation" -G \
  --data-urlencode "languageCode=en-US" \
  "https://google-news.fetcher.sh/api/search"

Same search, UK English edition:

curl -H "Authorization: Bearer $FETCHER_API_KEY" \
  --data-urlencode "keyword=ai policy" -G \
  --data-urlencode "languageCode=en-GB" \
  "https://google-news.fetcher.sh/api/search"

Section headlines (technology, business):

curl -H "Authorization: Bearer $FETCHER_API_KEY" \
  --data-urlencode "languageCode=en-US" -G \
  "https://google-news.fetcher.sh/api/technology"

curl -H "Authorization: Bearer $FETCHER_API_KEY" \
  --data-urlencode "languageCode=en-US" -G \
  "https://google-news.fetcher.sh/api/business"

Headlines for a specific topic ID:

curl -H "Authorization: Bearer $FETCHER_API_KEY" \
  --data-urlencode "languageCode=en-US" -G \
  "https://google-news.fetcher.sh/api/topic/CAAqJggKIiBDQkFTRWdvSUwyMHZNRGxqTVdZU0FtVnVHZ0pWVXlnQVAB"

List every supported language/region code before picking one:

curl -H "Authorization: Bearer $FETCHER_API_KEY" \
  "https://google-news.fetcher.sh/api/language-regions"

Decode a Google News redirect URL into the real article link:

curl -H "Authorization: Bearer $FETCHER_API_KEY" -G \
  --data-urlencode "url=https://news.google.com/rss/articles/CBMi..." \
  "https://google-news.fetcher.sh/api/decode-article-url"

MCP

{
  "mcpServers": {
    "google-news": {
      "url": "https://google-news.fetcher.sh/mcp",
      "headers": { "Authorization": "Bearer bby_live_..." }
    }
  }
}

Free: search_endpoints, describe_endpoint, check_balance. Paid: fetch_data (any endpoint above), topup_credits, plus the named shortcut google_news_search. Drop the headers block to pay per call with x402 instead — see the fetcher skill for the full flow.

Errors

  • 400 — missing/invalid parameter (message names it) — most commonly a missing languageCode
  • 401 — unknown or rotated key
  • 402 — payment required (x402 challenge) or topup_required (credits exhausted)
  • 404 — not a priced path
  • No rate limits; no refunds on upstream failures (settlement precedes delivery)

Reference

Comments

Markdown supported