WEBSEO TOOLS API MCP READY

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

PARAMETERTYPEREQDEFAULTDESCRIPTION
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

Basic — the required input, with the schema's own example values
{
  "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.

Request a task →

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)