Google News API
Search and scrape news articles from Google News. Fast. Location-based searches, language filters, safe search, pagination control. Returns structured JSON data with article titles, links, sources, snippets, and publication dates. News monitoring, markets, and content aggregation.
MEDIAN LAGon demand
PARAMETERS10
TOTAL USERS96
MONTHLY ACTIVE22
TOTAL RUNS3,601
RUNS SUCCEEDED99.5%
RATING5.0 (3)
Input parameters
| PARAMETER | TYPE | REQ | DEFAULT | DESCRIPTION |
|---|---|---|---|---|
| q | string | yes | — | Search query string for news articles (e.g., 'technology news', 'coffee', 'artificial intelligence'). |
| location | string | no | — | Geographic location for localized news results (e.g., 'Austin, TX, Texas, United States', 'New York, NY'). |
| google_domain | string | no | — | Google domain to use for the search (e.g., 'google.com', 'google.co.uk', 'google.fr'). |
| gl | enum | no | — | Country code for localization (ISO 3166-1 alpha-2, lowercase). |
| hl | enum | no | — | Language code for localization (ISO 639-1, lowercase). |
| lr | string | no | — | Language restriction for search results (e.g., 'lang_en', 'lang_es', 'lang_fr'). |
| safe | enum | no | off | Safe search setting to filter explicit content. |
| nfpr | enum | no | 0 | Exclude results from auto-corrected queries when the original query is misspelled. |
| filter | enum | no | 0 | Enable or disable duplicate content filtering. |
| max_pages | integer | no | 1 | Maximum number of pages to fetch. — drives your bill |
Worked examples
{
"q": "technology news"
}
Coverage
244
country code — ad ae af ag ai +239
200
language code — en es fr de it +195
Tasks
Saved runs with the inputs already filled in — each one a standalone page and a working configuration example.
Code
curl
curl -X POST "https://api.apify.com/v2/acts/johnvc~GoogleNewsAPI/run-sync-get-dataset-items" \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"q": "technology news"}'
Python
from apify_client import ApifyClient
client = ApifyClient("APIFY_TOKEN")
run = client.actor("johnvc/GoogleNewsAPI").call(
run_input={'q': 'technology news'}
)
for item in client.dataset(run.default_dataset_id).iterate_items():
print(item)