Google News Scraper API: Articles, Sources & Dates
Pricing
from $0.90 / 1,000 articles
Google News Scraper API: Articles, Sources & Dates
Monitor brands and topics in Google News: title, URL, publisher, snippet, publication time and position for every article, in 20 countries. Time filter, sort by date, only-new-articles mode for scheduled alerts (no duplicates). Pay per article found.
Scrape Google News for any keyword, brand or topic and get one clean row per article: title, URL, publisher, snippet, publication time and position, in 20 countries and their languages. Filter by past hour, day, week, month or year and sort by date: a simple news monitoring API for brand tracking, PR and market watch.
It calls a commercial search data API instead of driving a browser: results in seconds, no proxies, no blocked runs, no captcha. You only pay for articles returned (from October 23, 2026, plus a small check fee with Only new articles): queries with no result, duplicates and input mistakes are free.
Typical uses
- Brand and competitor monitoring: turn on Only new articles, schedule a daily run on your brand names and get (and pay for) each new article mentioning them once.
- PR and media relations: see which outlets cover a topic, how high they rank and when they published.
- Market and investment watch: follow companies, tickers, products or regulations in several countries at once.
- Content and SEO teams: find what is trending in Google News for your keywords, with the publishers that rank.
- Automations and AI agents: feed n8n, Make, Zapier, Slack, Google Sheets or an MCP client with structured JSON.
What you get for each article
| Field | Description |
|---|---|
title, url | Headline and article URL on the publisher's site |
sourceDomain | Publisher domain without www, e.g. reuters.com (always filled) |
sourceName | Publisher name as Google shows it, e.g. Reuters. Google displays it in Top stories; in the main list it is filled only when the same publisher also appears in Top stories, otherwise null |
snippet | Short excerpt shown by Google (main news list; null for Top stories) |
publishedAt | Publication time in UTC (ISO 8601), computed from Google's relative time: "7 hours ago" gives the hour, "4 days ago" gives the day |
publishedTimeText | Publication time exactly as Google displays it, in the search language (7 hours ago, Il y a 4 jours) |
position, section | Position in the results (1 = first) and where it was shown: top_stories (carousel) or news (main list) |
topStoryHeadline | Headline of the Top stories group the article belongs to |
searchQuery, timeRange, sortBy, searchCountry, languageCode | Your search settings, echoed on every row |
observedAt | When the data was fetched (UTC) |
Missing values are always null, never guessed. Each URL appears once per query.
Input
{"queries": ["Tesla", "\"electric vehicles\" Europe"],"country": "US","maxArticlesPerQuery": 50,"timeRange": "day","sortBy": "date","includeTopStories": true}
- queries: up to 1,000 per run.
"exact phrase",-excludedwords andORwork at the normal price. - country: US, GB, CA, AU, IE, IN, DE, AT, CH, FR, BE, ES, MX, IT, NL, PT, BR, PL, SE, JP. languageCode (optional, e.g.
frfor Switzerland) defaults to the country's main language. - maxArticlesPerQuery: 1 to 200 (default 50). Google loads about 10 results per page; large values take longer (about 6 seconds per page).
- timeRange:
any,hour,day,week,month,year(Google's own "Recent" filter). - sortBy:
relevance(Google's default) ordate(most recent first). - includeTopStories: also return the articles of Google's Top stories carousels (default
true). - onlyNewArticles (optional, monitoring): return only articles never delivered to you before for the same query, country and language. See below.
- monitorName (optional): name of the key-value store in your account that remembers delivered articles (default
plainrows-news-monitor). - Search operators such as
site:orintitle:are not supported: in our tests the data source returned no article for them, so such queries are skipped for free and listed in the run summary. Use plain keywords instead.
Scheduled monitoring: only new articles
Turn on Only new articles ("onlyNewArticles": true) and add an Apify schedule (hourly or daily). The first run returns every article it finds and remembers their URLs in a key-value store of your own Apify account; each later run returns and bills only articles it has never delivered. A query with nothing new gets a free row with notFoundReason: "no-new-articles".
Check fee in this mode (from October 23, 2026): each page of up to 10 Google News results checked costs one small page-checked event (about what the data source charges us), even when nothing new is found. It is never charged for a search the data source answered in an unexpected format (no results list): the run warns about it in the log and in its summary. Keep maxArticlesPerQuery close to the number of new articles you expect per run (10 or 20 for a daily brand watch). Runs without Only new articles never pay it.
- Use
sortBy: "date"and a time range a bit longer than the schedule (timeRange: "day"for a daily run) so the newest articles are always in the window;maxArticlesPerQuerycaps the articles checked per run. - History is kept per query, country, language and Top stories setting (time range and sort order are ignored). Use a different monitorName per monitoring task to keep separate histories, or a new name to start over.
- The same article can match several of your queries: each query returns its own row (with
searchQuery), so you know which brand it mentions. - Without this option, a scheduled run returns everything in the time window again: remove duplicates by
urlwhere the data lands.
Output example
Real rows from runs on 2026-10-07: a Top stories article (query Tesla, default settings) and a main-list article (query Tesla, timeRange: "day", sortBy: "date"), both US/English:
[{"searchQuery": "Tesla","found": true,"position": 1,"section": "top_stories","title": "Tesla is browbeating the EU to approve its ‘Full Self-Driving’ tech. The pressure is working.","url": "https://www.reuters.com/investigations/tesla-is-browbeating-eu-approve-its-full-self-driving-tech-pressure-is-working-2026-10-07/","sourceName": "Reuters","sourceDomain": "reuters.com","snippet": null,"publishedAt": "2026-10-07T06:24:04.000Z","publishedTimeText": "7 hours ago","topStoryHeadline": "News about Tesla","timeRange": "any","sortBy": "relevance","searchCountry": "US","languageCode": "en","observedAt": "2026-10-07T13:23:21.192Z","schemaVersion": "1.0"},{"searchQuery": "Tesla","found": true,"position": 1,"section": "news","title": "Tesla’s Third-Quarter Deliveries Beat Expectations. Time to Buy the Stock?","url": "https://www.fool.com/investing/2026/10/07/tesla-s-third-quarter-deliveries-beat-expectations-time-to-buy-the-stock/","sourceName": null,"sourceDomain": "fool.com","snippet": "It's been a pretty challenging year for Tesla (TSLA +0.52%). The company's shares are down 16% as of writing, partly due to a mixed performance in its...","publishedAt": "2026-10-07T13:07:32.000Z","publishedTimeText": "14 minutes ago","topStoryHeadline": null,"timeRange": "day","sortBy": "date","searchCountry": "US","languageCode": "en","observedAt": "2026-10-07T13:20:59.682Z","schemaVersion": "1.0"}]
Pricing
Pay per article returned, no subscription, no fee per run, no proxy costs. See the Pricing tab for current prices: one event per article found, cheaper on higher Apify plans. With Only new articles, each page of up to 10 results checked also costs a small page-checked event (from October 23, 2026). Title, publisher, snippet and date are all included in that price.
Price change on October 23, 2026: new page-checked event, $0.0025 (FREE) / $0.002 (BRONZE+) per page of up to 10 results checked, only with Only new articles. The article price does not change.
Queries with no result, duplicate URLs, skipped queries (search operators) and input mistakes cost nothing. The run never spends more than the maximum cost you set. If many searches in a row return nothing billable (about $0.01 of data-provider calls), the run stops early and says so in its status; the searches not run are not charged.
Free Apify plan: each run returns up to 20 articles for up to 2 queries, so you can check the output. A paid Apify plan removes these limits.
Use it from code, automations or AI agents
API (one call, results returned directly):
curl -X POST "https://api.apify.com/v2/acts/plainrows~google-news-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"queries": ["Tesla"], "timeRange": "day", "sortBy": "date", "maxArticlesPerQuery": 30}'
n8n, Make, Zapier: use the Apify integration, pick plainrows/google-news-scraper, schedule it, and send new articles to Slack, e-mail, Google Sheets, Airtable or your database.
AI agents (MCP): add https://mcp.apify.com?tools=plainrows/google-news-scraper to Claude, Cursor or any MCP client. The agent gets a typed news search tool and pays per result.
What this is not
- No full article text. You get what Google News shows (title, snippet, publisher, time) and the link to the article.
- Not the news.google.com "For you" or topic feeds: it is the Google search News tab for your keywords.
publishedAtis as precise as Google's relative time ("1 day ago" is a day, not a minute).- Not affiliated with Google.
Run summary
Each run stores a summary in the key-value store (OUTPUT): queries run, queries with no result, articles billed, articles skipped as already delivered (articlesAlreadySeen, monitoring only), duplicates, invalid or skipped queries (with the reason), and anything skipped because of the free-plan or budget limit.
FAQ
How do I monitor news about my brand?
Enter your brand as a query (use "exact phrase" and -word to refine), set timeRange to day, sortBy to date, turn on Only new articles and schedule the run daily in Apify or n8n: you get and pay for each new article once.
How many articles per query? 1 to 200 (maxArticlesPerQuery, default 50).
Which countries and languages? US, GB, CA, AU, IE, IN, DE, AT, CH, FR, BE, ES, MX, IT, NL, PT, BR, PL, SE, JP, in the country's main language or the one you set.
Does it return the full article text? No: title, snippet, publisher, publication time and the link to the article.
Can I use site: or intitle:? No: such queries returned nothing in our tests, so they are skipped for free and listed in the run summary.
More PlainRows tools
Same pay-per-result pricing, same clean JSON, built to chain together in n8n, Make, Zapier or AI agents.
- SEO and keywords: Keyword Search Volume, CPC & Difficulty · Keyword Ideas Generator · Google Autocomplete & People Also Ask · Google Trends Explorer · Website Organic Traffic & Top Keywords · Bulk Domain Authority Checker · Backlink Checker · Broken Link Checker · AI Search Visibility Tracker (ChatGPT, Gemini, AI Mode) · Google Maps Rank Tracker (Geo-Grid Local SEO)
- Leads and companies: Google Maps Scraper · Website Technology Checker · ATS Jobs Scraper (Workday, Greenhouse, Lever, Ashby) · Google Jobs Scraper · Google Ads Scraper (Transparency Center) · Company Registry Lookup (SIRENE, LEI, Brreg) · Public Tenders Search (EU TED & UK)
- E-commerce and travel: Amazon Product Search Scraper · Google Shopping Prices Scraper · Google Hotels Prices Scraper · Tripadvisor Reviews Scraper
- Content and media: YouTube Search Scraper · YouTube Comments Scraper · Google Images Scraper · Website Screenshot API · Google Maps Reviews Scraper · App Store & Google Play Reviews Scraper
Compared with other APIs: Brand news monitoring as JSON · NewsAPI alternative for production
Support
Missing a field or found a bug? Open an issue on this page. Issues are read and answered.