Skip to main content
Glama

Google News API

tidewell/google-news-api

tidewell--google-news-api
Destructive

This tool calls the Actor "tidewell/google-news-api" and retrieves its output results. Actor description: Returns Google News articles: headline, publisher, published date and decoded publisher article URL, plus optional description, image, author and full text. Input: keyword searches (site:, intitle:, when:), topics, locations or Google News URLs, any country. $2 per 1,000 articles.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "tidewell--google-news-api"
  }
}

Input Schema

NameRequiredDescriptionDefault
dateToNoOptional end date (YYYY-MM-DD), sent as before:.
dedupeNoAn article found by several queries, topics or editions is returned once (matched by Google id, article URL, and title + publisher). Example values: true
topicsNoGoogle News topic headlines for each edition. 'Nation' is the edition's own country (U.S. for US:en).
onlyNewNoFor scheduled monitoring: skip articles returned by earlier runs with the same state key. Seen articles are kept for 45 days in the named key-value store 'google-news-state'.
queriesNoOne Google News search per line. Google News operators work: "exact phrase", OR, -exclude, site:reuters.com, intitle:tesla, inurl:, when:7d, after:2026-01-01, before:2026-02-01. A query with its own date operator ignores the time window below. Example values: ["artificial intelligence","\"electric vehicles\""]
dateFromNoOptional start date (YYYY-MM-DD), sent as after:. Overrides the time window.
editionsNoGoogle News edition as COUNTRY:language (the ceid parameter), one per line. Every query, topic and location runs once per edition. Examples: US:en, GB:en, IN:en, CA:fr, DE:de, FR:fr, ES:es, IT:it, NL:nl, BR:pt-419, MX:es-419, JP:ja, KR:ko, TW:zh-Hant, AU:en. hl and gl are derived from it (US:en = hl en-US, gl US). Example values: ["US:en"]
languageNoOptional. Overrides the hl parameter for every edition, e.g. en-GB or es-419. Leave empty to derive it from the edition.
maxItemsNoStop after this many articles across all feeds. 0 = no limit. You can also cap spending with the run's maximum cost. Example values: 50
stateKeyNoName for the only-new memory. Use a different key per monitor (e.g. 'brand-acme', 'competitors') so they don't share history. Example values: "default"default
waitSecsNoMax seconds (0–45, default 30) to cap the wait for the Actor run to reach terminal state. For long-running Actors the response returns at the cap with the current run status; follow `nextStep` to poll via get-actor-run. Set to 0 to fire-and-forget.
locationsNoLocal headlines for a city, region or country name, as on Google News > Local, e.g. 'London', 'Austin, Texas', 'Bavaria'.
splitByDayNoGoogle News returns at most about 100 articles per search. With a date range or a time window of 2 days or more, this runs each query once per day, so a 30-day window can return up to about 3,000 articles per query. Duplicates are removed.
timeWindowNoOnly articles published within this window. Added to searches as when:, and applied to topic, location and URL feeds by publish date. Example values: "1d"
resolveUrlsNoDecode Google's news.google.com redirect links to the publisher's article URL (articleUrl). Articles whose link can't be decoded are returned with articleUrl null and are free. Example values: true
googleNewsUrlsNoPaste any news.google.com page (a search, a topic, a publication or a story page) or its RSS URL, or a topic ID such as CAAqJggKIiBDQkFTRWdvSUwyMHZNRGRqTVhZU0FtVnVHZ0pWVXlnQVAB. The actor reads its RSS feed. A URL with its own hl/gl/ceid keeps that edition.
maxItemsPerQueryNoCap per search, topic, location or URL feed (per edition, and per day when split by day). 0 = everything the feed returns (about 100 for a search). Example values: 25
respectRobotsTxtNoSkip publisher pages that robots.txt disallows. Publisher pages are always read politely: one request at a time per site, at least 1 second apart. Example values: true
includeArticleTextNoAlso extract the main article text (and word count) from the publisher page. Turns on article details. Paywalled pages often return only the intro.
proxyConfigurationNoOptional. Google News RSS normally works without a proxy. If Google starts rate-limiting, turn Apify Proxy on: a blocked request then retries on a new IP. Example values: {"useApifyProxy":false}
fetchArticleDetailsNoOpen each article on the publisher's site and add its description (snippet), image, author, published time, site name and language. Extra charge per page read successfully; pages that are blocked, paywalled or disallowed by robots.txt are free.
useProxyForPublishersNoBy default publisher pages are read directly. Turn on to send them through the proxy above.

Output Schema

NameRequiredDescriptionDefault
tipNoAdvisory guidance RAG Web Browser wrote to its key-value store under the reserved "TIP" key
runIdYesActor run ID
statsNoRun statistics
statusYesRun status: READY | RUNNING | TIMING-OUT | TIMED-OUT | ABORTING | ABORTED | SUCCEEDED | FAILED
actorIdYesStable Apify Actor ID from the run record
summaryYesPast-tense summary of the run state
exitCodeNoActor process exit code; populated for terminal states (especially FAILED)
nextStepYesOne primary follow-up action with identifiers interpolated
storagesYesDataset and key-value store metadata, keyed by alias. "default" is always the primary entry.
actorNameNo"username/actor-name"
startedAtNoISO timestamp when the run started
finishedAtNoISO timestamp when the run finished (terminal states only)
statusMessageNoPass-through from Apify run.statusMessage
apifyConsoleUrlNoPersonalized Apify Console link to the run; present only for Console sessions

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedOutput schema / properties / storages / properties / datasets / additionalProperties / properties / fields / description
      Previous value: -"Dataset field paths in dot notation (e.g. [\"metadata.url\"])"New value: +"Paths that work as a fields selection (e.g. [\"results\", \"metadata.url\"]); an array field appears by its top-level name."
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / fields / description
      Previous value: -"Dataset field paths in dot notation (e.g. [\"metadata.url\"])"New value: +"Paths that work as a fields selection (e.g. [\"results\", \"metadata.url\"]); an array field appears by its top-level name."
  2. First observed

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Against annotations that already declare openWorldHint and destructiveHint, the description adds genuinely useful behavior the structured data lacks: the exact cost model ("$2 per 1,000 articles"), the charging rule ("each article returned is one charged result; articles whose link can't be resolved are free"), and the shape of returned records. It does not disclose run lifecycle behavior — that the call starts an Actor run, where output lands, or why the tool is flagged destructive — which leaves the most consequential behavior implicit.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences plus a concatenated actor blurb is reasonably tight, but the lead sentence spends its prime position on Actor-wrapper boilerplate rather than stating the actual function, which only appears second. The pricing sentence is well-placed at the end and earns its space.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 22-parameter tool with zero required fields and an output schema, the essentials are covered: what it returns, what it costs, and how to express inputs. What is missing is operational — how long a run takes, where results are written, and how this interacts with the run/dataset siblings — which matters given the open-world, destructive annotations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 22 parameters thoroughly, including cost and proxy tradeoffs. The description's only addition is naming the four input families (queries with site:/intitle:/when: operators, topics, locations, Google News URLs) and "any country," which mirrors what the properties say. Baseline 3 is appropriate; the schema is doing the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The first sentence is wrapper boilerplate ("calls the Actor ... and retrieves its output results"), but the second sentence states a concrete verb and resource: "Returns Google News articles" with headline, publisher, date and decoded URL, plus the input modes (keyword searches, topics, locations, Google News URLs). An agent can tell what domain this covers. It loses a point because it never distinguishes itself from the sibling tools (get-dataset-items, get-actor-run), so the agent must infer that this is the run-and-collect entry point.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description enumerates input modes but never states when to choose this tool over the siblings, nor when not to use it. With get-dataset-items and get-actor-run in the catalog, an agent has no stated rule for whether to call this one first or to poll an existing run, so routing must be guessed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources