Google News Scraper is a free and open-source scraper that gets you unlimited detailed Google News data for free.
- 📰 Top headlines in 90 editions across 72 countries — every story with images, authors, publisher & related coverage
- 🔍 Search any keyword, 100 articles deep — date ranges, publisher filter, exact phrases & real publisher URLs
- 🧵 Full coverage of any story — up to 100+ articles, top picks, opinion, explainers & posts on X
- 🏙️ Every topic, city, publisher & journalist — Technology, Beverly Hills, TechCrunch or your favorite reporter
{
"count": 70,
"current_page": 1,
"total_pages": 4,
"articles": [
{
"id": "CBMifEFVX3lxTE1nT3o2LXNzMGpwdWxoTUtxUlZScHFGLXhiUy1maHJOOTNXSXpfRzNXb1FWVUxFM2gxN3M3T0pvVHVrQ0RVZTN2Y09XcWhVRHYtcVl0alJlUFdmVXlwR09ONFg0OVo4Sm4zZy1BRjhZRTZaYlhPNE9FMEQ0dmM",
"title": "Trump and Chinese president Xi end summit without major agreement on AI",
"link": "https://www.theguardian.com/technology/2026/sep/25/trump-xi-ai-arms-race",
"published_at": "2026-09-25T22:13:00Z",
"image": {"link": "https://i.guim.co.uk/img/media/dd96a7ac2aebddf0eba5644f06e8e33e6f1eb6ac/0_0_3118_2078/master/3118.jpg?width=465&dpr=1&s=none&crop=none", "width": 465, "height": 310},
"publisher": {"name": "The Guardian", "domain": "theguardian.com", "link": "https://www.theguardian.com"},
"authors": [{"id": "CAAqJAgKIh5DQkFTRUFvS0wyMHZNSFEwZGpWaVloSUNaVzRvQUFQAQ", "name": "David Smith"}],
"story": {"id": "CAAqNggKIjBDQklTSGpvSmMzUnZjbmt0TXpZd1NoRUtEd2o3MjlyOUVSRzg0M0plWmQxNXNpZ0FQAQ", "title": "President Donald Trump hosts Chinese President Xi Jinping for state visit"},
"related_articles": [
{
"title": "You Get an Eagle, and You Get an Eagle: Xi Takes Home Trump’s Go-To Gift",
"link": "https://www.nytimes.com/2026/09/25/world/americas/trump-bald-eagle-gift-xi.html",
"publisher": {"name": "The New York Times", "domain": "nytimes.com"}
}
]
}
]
}Trimmed for readability.
1️⃣ Clone and install:
git clone https://github.com/omkarcloud/google-news-scraper
cd google-news-scraper
python -m pip install -r requirements.txt2️⃣ Start the API:
python run.py3️⃣ Get your first data:
curl "http://localhost:8000/top-headlines"{
"count": 70,
"current_page": 1,
"total_pages": 4,
"articles": [
{
"title": "Huge crowds greet Pope in Paris ahead of open-air Mass",
"link": "https://www.bbc.com/news/articles/cm4gjjwvvlzro",
"published_at": "2026-09-26T12:51:10Z",
"image": {"link": "https://ichef.bbci.co.uk/news/480/cpsprodpb/f85e/live/5d5a64a0-b9aa-11f1-bc1f-3f186ca4140c.jpg.webp", "width": 480, "height": 269},
"publisher": {"name": "BBC", "domain": "bbc.com"},
"authors": [{"name": "Jacob Phillips"}],
"story": {"title": "Pope Leo XIV visits France"},
"related_articles": [{"title": "Vast crowd greets pope with 'Leo' chants at France tour's biggest event", "publisher": {"name": "reuters.com"}}]
}
]
}All 15 endpoints are now live at http://localhost:8000.
15 endpoints cover everything you need.
| Endpoint | Path | Returns |
|---|---|---|
| Top Headlines | /top-headlines |
~70 top stories with authors, images and related coverage |
| Autocomplete | /autocomplete |
Google News query suggestions with relevance scores |
| Search News | /search |
Up to 100 articles per keyword with real publisher URLs |
| Story Full Coverage | /story |
Every article on a story, plus top picks and posts on X |
| Resolve Article Link | /article/resolve |
The publisher's real URL behind any Google News link |
| Topic Articles / Details | /topic/articles, /topic/details |
Any topic or section tab: AI, NFL, Markets and more |
| Local Headlines | /local-headlines |
Local news for any city, region or country |
| Publication Articles / Details | /publication/articles, /publication/details |
Any publisher's latest articles and profile, by domain |
| Author Articles | /author/articles |
Any journalist's latest articles across publishers |
| Home Page / News Showcase | /home, /showcase |
The front-page briefing and publisher-curated Showcase panels |
| Topics / Editions | /topics, /editions |
Topic IDs for any edition, and all 90 editions |
The same API is published on RapidAPI, and its playground is the easiest place to try parameters and see raw responses. Once a request looks right, run it locally for unlimited free data.
- Subscribe to the free plan — 1,000 calls/month, no credit card.
- Try the endpoints in the playground — every param is pre-filled, so you see real data in one click.
- Copy the generated code and replace
https://best-google-news-scraper-free-1000-calls.p.rapidapi.comwithhttp://localhost:8000. It will now run against your local API.
import requests
# generated by the playground, host swapped for the local API
response = requests.get(
"http://localhost:8000/search",
params={"query": "OpenAI", "time_published": "past_week"},
)
print(response.json())You're a developer — we know how hard completing a project can be. So we offer full support: just message us and we'll reply ✅ with a solution within 1 working day.
- Google Maps Scraper (3,100+ GitHub Stars) — type "dentists in New York", get every business as a ready-to-call lead list: phones, emails, websites & reviews. Up to 100K free leads/month.
- Google Search Scraper — full Google results pages, AI Overviews, Images, Shopping & Trends
- Reddit Scraper — Reddit posts, full comment threads, subreddits & users
- G2 Scraper — G2 product details, ratings & AI-found contacts
- Website Email Contact Scraper — emails, phones & socials from any website
- AliExpress Scraper — live product details, SKU variants, stock & shipping
⭐ Love It? Star It ⭐!
Star the repo ⭐ and become my star hero!
It's just 1 click, but it means the world to me.


