Install
openclaw skills install @scavio-ai/scavio-google-newsSearch 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 engine, 1 credit per request.
openclaw skills install @scavio-ai/scavio-google-newsSearch Google News and return structured JSON — headline, source, date, and link — for a keyword, topic, section, or publication. One credit per request.
Use this skill when the user asks to:
Always call the API for time-sensitive news — never answer from training data.
Get a free API key at https://scavio.dev (50 free credits to get started, no card required):
export SCAVIO_API_KEY=sk_live_your_key
POST https://api.scavio.dev/api/v2/google/news
Authorization: Bearer $SCAVIO_API_KEY
Every request costs 1 credit.
query. Add so: 1 to sort by date instead of relevance.gl (country) and hl (language) for regional editions.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.news_results[] for headlines, sources, dates, and links.| Parameter | Type | Default | Description |
|---|---|---|---|
query | string | -- | Keyword search (one of query or a token/kgmid is required) |
so | number | 0 | 0 relevance, 1 date (valid with query/kgmid) |
topic_token | string | -- | Browse a Google News topic |
section_token | string | -- | Browse a section within a topic |
story_token | string | -- | Full-coverage story |
publication_token | string | -- | A specific publisher's feed |
kgmid | string | -- | Knowledge Graph entity id (e.g. /m/02_286) |
hl | string | -- | UI language, ISO 639-1 |
gl | string | -- | Geo country, ISO 3166-1 alpha-2 |
google_domain | string | google.com | Regional Google domain |
import os, requests
response = requests.post(
"https://api.scavio.dev/api/v2/google/news",
headers={"Authorization": f"Bearer {os.environ['SCAVIO_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"))
{
"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
}
query, kgmid, or a *_token must be provided.so (relevance vs date) only applies to query/kgmid requests.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.SCAVIO_API_KEY is not set, prompt the user to export it before continuing.