Google News All-In-One Api
Pricing
from $7.80 / 1,000 searches
Google News All-In-One Api
Real-time, unofficial Google News data as a REST API — personalized feeds, full-text search, regional editions, autocomplete, and category browsing. No scraping, no HTML parsing: this talks directly to the same private API the official Google News Android app uses, and returns clean JSON
Pricing
from $7.80 / 1,000 searches
Rating
0.0
(0)
Developer
Romy
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
15 days ago
Last modified
Categories
Share
Google News API
Real-time, unofficial Google News data as a REST API — personalized feeds, full-text search, regional editions, autocomplete, and category browsing. No scraping, no HTML parsing: this talks directly to the same private API the official Google News Android app uses, and returns clean JSON.
Quick start
Once deployed on Apify, the actor runs in Standby mode — call it like any REST API, no run/wait-for-finish cycle needed:
$curl "https://romy--google-news-all-in-one-api.apify.actor/search?q=indonesia+election&ceid=US:en&token=<YOUR_APIFY_TOKEN>"
(get your token from the Integrations tab in Apify Console — Authorization: Bearer <token> header works too, instead of ?token=)
Pricing
Pay-per-event — you're only charged for successful calls, once per request, regardless of how many articles come back:
| Endpoint | Event | Price |
|---|---|---|
GET /feed | feed | $0.01 |
GET /search | search | $0.01 |
GET /sections/:id | section | $0.012 |
GET /discover | discover | $0.003 |
GET /editions/:id | edition | $0.002 |
GET /suggest | suggest | $0.001 |
GET /config | config | $0.001 |
Endpoints
GET /feed — personalized "Read Now" home feed
curl --get 'https://romy--google-news-all-in-one-api.apify.actor/feed' \--data-urlencode 'ceid=US:en' \--data-urlencode 'token=<YOUR_APIFY_TOKEN>'
{"success": true,"articles": [{"title": "Magnitude-7.7 quake hits off coast of Indonesia, killing at least 38","snippet": "A magnitude-7.7 earthquake hit off the coast of Indonesia in the eastern Flores region...","sourceName": "NBC News","publishedMs": "1786794420000","url": "https://www.nbcnews.com/world/indonesia/earthquake-indonesia-rcna592638"}],"count": 3,"next": "GidDQnhpR1FvUU9HTTROV015WlRFd1ltTmlaR05rTWhDc2hxS3RnRFEg..."}
GET /search — full-text search
query='indonesia election'curl --get 'https://romy--google-news-all-in-one-api.apify.actor/search' \--data-urlencode "q=$query" \--data-urlencode 'ceid=US:en' \--data-urlencode 'token=<YOUR_APIFY_TOKEN>'
Same response shape as /feed, filtered to the query. q is required.
GET /editions/:id — a regional/language edition + its tab bar
Start here to discover an edition's section ids (For You / Headlines / World / Business / Technology / etc.):
curl --get 'https://romy--google-news-all-in-one-api.apify.actor/editions/CAAqHAgKIhZDQkFTQ2dvSUwyMHZNRE5uWkRVb0FBUAE' \--data-urlencode 'token=<YOUR_APIFY_TOKEN>'
{"success": true,"sections": [{ "id": "CAQqEggAKg4ICiIIQ0FrU0FDZ0FQAQ...", "title": "For you" },{ "id": "CAQiSkNCQVNNUW9JTDIwdk1ETm5aRFVTQW1WdUdnSlZVeUlPQ0FR...", "title": "Headlines" },{ "id": "CAQiRENCQVNMUW9JTDIwdk1ETm5aRFVTQW1WdUdnSlZVeUlNQ0FF...", "title": "U.S." },{ "id": "CAQiRENCQVNMUW9JTDIwdk1ETm5aRFVTQW1WdUdnSlZVeUlOQ0FF...", "title": "World" },{ "id": "CAQiSENCQVNNQW9JTDIwdk1ETm5aRFVTQW1WdUdnSlZVeUlQQ0FF...", "title": "Business" },{ "id": "CAQiS0NCQVNNZ29JTDIwdk1ETm5aRFVTQW1WdUdnSlZVeUlSQ0FF...", "title": "Technology" }]}
CAAqHAgKIhZDQkFTQ2dvSUwyMHZNRE5uWkRVb0FBUAE is the default US edition —
that's a good starting point for any region.
GET /sections/:id — articles from one tab
Feed a sections[].id from /editions/:id (or /discover) back in:
curl --get 'https://romy--google-news-all-in-one-api.apify.actor/sections/CAQiSkNCQVNNUW9JTDIwdk1ETm5aRFVTQW1WdUdnSlZVeUlPQ0FR...' \--data-urlencode 'token=<YOUR_APIFY_TOKEN>'
Returns articles for that tab (e.g. 40 U.S. headlines), same shape as /feed.
GET /discover — browsable category/source directory
curl --get 'https://romy--google-news-all-in-one-api.apify.actor/discover' \--data-urlencode 'ceid=US:en' \--data-urlencode 'token=<YOUR_APIFY_TOKEN>'
{ "success": true, "sections": [{ "id": "...", "title": "Popular" }] }
Each result's id also feeds into /sections/:id or /editions/:id.
GET /suggest — search-as-you-type autocomplete
curl --get 'https://romy--google-news-all-in-one-api.apify.actor/suggest' \--data-urlencode 'q=indo' \--data-urlencode 'token=<YOUR_APIFY_TOKEN>'
{"success": true,"suggestions": [{ "text": "indonesia earthquake" },{ "text": "Indonesia" },{ "text": "indonesia earthquake today" },{ "text": "indonesia earthquake tsunami warning" },{ "text": "indonesia news" }]}
GET /config — feature-flag/experiment blob
curl --get 'https://romy--google-news-all-in-one-api.apify.actor/config' \--data-urlencode 'country=US' \--data-urlencode 'token=<YOUR_APIFY_TOKEN>'
Not article data — internal A/B flags, kept for completeness.
Pagination & region
Every article endpoint returns a next cursor when more results exist —
pass it back as ?next= to get the next page (nextUrl is upstream's own
next-page URL, informational only; use next with this API).
Region is ceid=COUNTRY:lang (e.g. US:en, ID:id) — same convention as
the public news.google.com/rss?ceid=... URLs. sceids adds secondary
regions as a comma-separated list of the same format. hl sets UI language
independently (defaults to en-US).
Known limitations
- "Full Coverage of this story" clusters (
storylineGroups[]on/search//sections//feedresponses) carry afullCoverageId, but there's currently no known endpoint that resolves it into an article list — every guessed path (/storyline/,/coverage/,/cluster/, ...) 404s. Extraction of the id itself is correct; just nothing to fetch it with yet. /discover's results only include plain{id, title}entries — richer "source card" entries (with logo/description) are skipped.- No write actions (upvote/blacklist a topic, etc.) — read-only API.