Use the Google News API Actor with your keywords, a country and a language. It reads Google News’ official public RSS feeds and returns one row per article: headline, publisher, publication date (ISO UTC), snippet and link. Limit results to recent articles with timeRange. No API key.
Try it: Google News API on Apify — click Try for free, the input is prefilled.
{
"queries": [
"openai",
"electric vehicles"
],
"country": "US",
"language": "en"
}
from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("om_kh/google-news-scraper").call(run_input={
"queries": [
"openai",
"electric vehicles"
],
"country": "US",
"language": "en"
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)
curl -X POST "https://api.apify.com/v2/acts/om_kh~google-news-scraper/run-sync-get-dataset-items?token=<YOUR_APIFY_TOKEN>" \
-H "Content-Type: application/json" \
-d '{"queries": ["openai", "electric vehicles"], "country": "US", "language": "en"}'
titleurlauthor (publisher)text (snippet)published_atquery_idPay per article — see the Pricing tab for the current price. You only pay for results delivered; set maxTotalChargeUsd to cap a run.
Connect Claude, Cursor or any MCP client to https://mcp.apify.com and add om_kh/google-news-scraper as a tool.
The agent sends the same JSON input and gets the rows back.
Which countries are supported?
Any Google News edition: set country and language, e.g. FR + fr.
Can I get only new articles on a schedule?
Yes, turn on monitoring; later runs return only new articles.