Google News as JSON.
Live, geo-targeted, typed.
Pull live news results from Google in any country, city and language. Headline, publisher, relative date, description, thumbnail and link, parsed and typed. No cache, no scraping, no maintenance.
See Google News on the SERP API page →
{ } ← click "Run news search" ▍
{
"news": [
{
"position": 1,
"title": "UK open to discussing Chinese car tariffs ahead of EU summit",
"link": "https://www.autonews.com/...",
"siteName": "Automotive News",
"date": "40 minutes ago",
"description": "Business Secretary Jonathan Reynolds signaled he is open to imposing tariffs on Chinese electric vehicles..."
},
{
"position": 2,
"title": "UK Open to Discussing Chinese Car Tariffs Ahead of EU Summit",
"link": "https://www.bloomberg.com/...",
"siteName": "Bloomberg.com",
"date": "15 hours ago"
},
{
"position": 3,
"title": "Britain set to levy tariffs on Chinese electric cars, The Times reports",
"link": "https://www.reuters.com/...",
"siteName": "Reuters",
"date": "2 weeks ago"
}
]
}
{ } ← click "Run news search" ▍
{
"news": [
{
"position": 1,
"title": "Tesla earnings beat expectations on margin recovery",
"link": "https://www.reuters.com/...",
"siteName": "Reuters",
"date": "2 hours ago",
"description": "Tesla reported quarterly results above analyst estimates as margins improved..."
},
{
"position": 2,
"title": "Tesla margins surprise as new models ramp",
"link": "https://www.bloomberg.com/...",
"siteName": "Bloomberg.com",
"date": "3 hours ago"
},
{
"position": 3,
"title": "Musk: 'we're entering the autonomy phase'",
"link": "https://www.cnbc.com/...",
"siteName": "CNBC",
"date": "5 hours ago"
}
]
}
{ } ← click "Run news search" ▍
{
"news": [
{
"position": 1,
"title": "City edge past rivals in Champions League thriller",
"link": "https://www.manchestereveningnews.co.uk/...",
"siteName": "Manchester Evening News",
"date": "1 hour ago"
},
{
"position": 2,
"title": "Champions League: five things we learned this week",
"link": "https://www.theguardian.com/...",
"siteName": "The Guardian",
"date": "6 hours ago"
},
{
"position": 3,
"title": "Tactical breakdown of the group stage so far",
"link": "https://www.bbc.co.uk/sport/...",
"siteName": "BBC",
"date": "1 day ago"
}
]
}
Typed news results, ready to ship.
Google's News layout shifts often. We keep the parser up to date, so you keep reading the same JSON shape.
Three workflows. One key.
Track every story about your brand.
Run keyword searches every N minutes across geos. Diff results, alert on new mentions, archive raw JSON. No scraping fragility.
Real-time news pulse for tickers.
Pipe headlines into your model as features. Every publisher comes back with the same fields, ready to weight by source.
Ground LLM responses in live news.
Add news as context in your prompt: citeable, dated, geo-aware. Works as a drop-in tool in OpenAI / Claude function-calling loops.
However your stack is wired.
curl -G "https://api.ujeebu.com/serp" \
-H "ApiKey: YOUR_KEY" \
--data-urlencode "search_type=news" \
--data-urlencode "search=tesla earnings" \
-d location=us \
-d lang=en
from ujeebu_python import UjeebuClient
ujeebu = UjeebuClient(api_key="YOUR_KEY")
response = ujeebu.serp(params={
"search_type": "news",
"search": "tesla earnings",
"location": "us",
})
for n in response.json()["news"]:
print(n["date"], n["siteName"], n["title"])
import { UjeebuClient } from "@ujeebu-org/ujeebu-sdk";
const client = new UjeebuClient("YOUR_KEY");
const res = await client.serp({
search_type: "news",
search: "tesla earnings",
location: "us",
});
const { news } = res.data;
params := url.Values{}
params.Set("search_type", "news")
params.Set("search", "tesla earnings")
params.Set("location", "us")
req, _ := http.NewRequest("GET", "https://api.ujeebu.com/serp?"+params.Encode(), nil)
req.Header.Set("ApiKey", "YOUR_KEY")
resp, _ := http.DefaultClient.Do(req)
What you stop worrying about.
Live news. Never cached.
Every request hits Google News fresh from the geo you specify. No 24-hour snapshot trick.
Country, city and language targeting.
Set location (a country code or a place name such as "Austin, TX") and lang (a language code) per search: Brazilian news in Portuguese, German news in German, as a local reader sees them.
Unified credit pool.
News, scraper, screenshot, markdown: same key, one wallet. Burst into one product without overprovisioning the others.
Pay only for what works.
Blocked requests, timeouts and server errors are not billed. Only completed searches use credits.
Blocked requests, timeouts and server errors cost zero. 5,000 credits free, no card. One credit pool across every endpoint. The same key works in production.
Pay per success. Start free.
Each search is 5 credits. Blocked requests, timeouts and server errors don't count. Same plans cover every Ujeebu endpoint, one credit pool.
Before you sign up.
How fresh are news results?▼
Can I geo-target news?▼
Is this Google News or just web search filtered to news?▼
Is the publish date a timestamp?▼
Can I schedule recurring searches?▼
How does this compare to dedicated news APIs?▼
Can I top up credits?▼
5,000 free credits. Live news in 60 seconds.
No credit card. No sales call. Just an API key and your first news pull.
