scavio-google-news

Search Google News for headlines by keyword, topic, or publication as structured JSON — headline, source, date, and link. Use for current events, monitoring, and news research. v2 …

scavio-ai

@scavio-ai

What This Skill Does

Searches Google News for headlines by keyword, topic, section, or publication and returns structured JSON with headline, source, date, and link. Supports localization by country and language, and can sort by relevance or date.

Replaces manually browsing Google News or scraping news sites by providing a single API call that returns clean, structured headline data.

When to Use It

  • Find recent headlines about a specific company or person for monitoring
  • Retrieve news articles on a current event topic for research
  • Browse a Google News topic or section for curated headlines
  • Get news from a specific publication's feed
  • Answer a time-sensitive current events question with fresh reporting
  • Localize news search to a specific country or language edition

Install

$ openclaw skills install @scavio-ai/scavio-google-news

Google News via Scavio (v2)

Search Google News and return structured JSON — headline, source, date, and link — for a keyword, topic, section, or publication. One credit per request.

When to trigger

Use this skill when the user asks to:

  • Find recent news or headlines on a topic
  • Monitor a company, person, or keyword in the news
  • Follow a Google News topic, section, or publication
  • Answer a current-events question that needs fresh reporting

Always call the API for time-sensitive news — never answer from training data.

Setup

Get a free API key at scavio.dev (50 free credits to get started, no card required):

export SCAVIO_API_KEY=sk_live_your_key

Endpoint

POST https://api.scavio.dev/api/v2/google/news
Authorization: Bearer $SCAVIO_API_KEY

Every request costs 1 credit.

Workflow

  1. Keyword search: pass query. Add so: 1 to sort by date instead of relevance.
  2. Localize: set gl (country) and hl (language) for regional editions.
  3. Browse structured feeds: pass a topic_token, section_token, story_token, publication_token, or kgmid (returned in prior responses) to drill into a topic, section, full-coverage story, or publisher.
  4. Read news_results[] for headlines, sources, dates, and links.

Parameters

ParameterTypeDefaultDescription
querystring--Keyword search (one of query or a token/kgmid is required)
sonumber00 relevance, 1 date (valid with query/kgmid)
topic_tokenstring--Browse a Google News topic
section_tokenstring--Browse a section within a topic
story_tokenstring--Full-coverage story
publication_tokenstring--A specific publisher's feed
kgmidstring--Knowledge Graph entity id (e.g. /m/02_286)
hlstring--UI language, ISO 639-1
glstring--Geo country, ISO 3166-1 alpha-2
google_domainstringgoogle.comRegional Google domain

Example

import requests

# Your key from https://scavio.dev. Load it from your environment or secret
# store in real code - keep it out of source control.
API_KEY = "sk_your_key_here"

response = requests.post(
    "https://api.scavio.dev/api/v2/google/news",
    headers={"Authorization": f"Bearer {API_KEY}"},
    json={"query": "openai", "gl": "us", "hl": "en", "so": 1},
)
data = response.json()
for n in data["news_results"]:
    print(n.get("date"), n.get("source", {}).get("name"), n.get("title"))
    print(" ", n.get("link"))

Response

{
  "news_results": [
    {
      "position": 1,
      "title": "Headline text",
      "source": { "name": "Example Times" },
      "link": "https://example.com/article",
      "date": "2 hours ago",
      "thumbnail": "https://..."
    }
  ],
  "response_time": 934,
  "credits_used": 1,
  "credits_remaining": 996,
  "cached": false
}

Guardrails

  • Each call costs 1 credit. Inform the user before paginating widely.
  • Never fabricate headlines, sources, dates, or links. Only return API data.
  • One of query, kgmid, or a *_token must be provided.
  • so (relevance vs date) only applies to query/kgmid requests.
  • Cite the source and link when summarizing news.

Failure handling

  • 400 means an invalid parameter (e.g. no query and no token) — fix and retry.
  • 401 means the API key is invalid or missing. Check SCAVIO_API_KEY.
  • 429 means rate or usage limit exceeded. Wait before retrying. See https://scavio.dev/docs/rate-limits.
  • 502 / 503 mean upstream is temporarily unavailable. Wait a few seconds before retrying.
  • If no results are returned, broaden the query or drop the date sort.
  • If SCAVIO_API_KEY is not set, prompt the user to export it before continuing.

Top skills in this category