Google News Lite API

Scrape Google News headlines and snippets as structured JSON. Search many terms at once and filter by time range, country, and language. One row per article, de-duplicated. Pay per article with no setup fee. MCP-ready for Claude and AI agents.

MEDIAN LAGon demand
PARAMETERS5
TOTAL USERS9
MONTHLY ACTIVE6
TOTAL RUNS108
RUNS SUCCEEDED100.0%
RATING5.0 (2)

Input parameters

PARAMETERTYPEREQDEFAULTDESCRIPTION
searchTerms string[] no Enter one or more search terms to fetch Google News results for.
timeRange enum no day Limit results to how recently they were published, or choose 'any' for no time limit.
country string no us Set the two-letter country code for localized results (ISO 3166-1, e.g. 'us', 'gb', 'ca').
language string no en Set the two-letter interface language code (ISO 639-1, e.g. 'en', 'es', 'fr').
maxResultsPerSearch integer no 100 Set the maximum number of articles to return for each search term, from 1 to 100. — drives your bill

Worked examples

Basic — the required input, with the schema's own example values
{
  "searchTerms": [
    "Apple Vision Pro",
    "OpenAI"
  ],
  "timeRange": "day"
}

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~google-news-lite-api/run-sync-get-dataset-items" \
  -H "Authorization: Bearer $APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"searchTerms": ["Apple Vision Pro", "OpenAI"], "timeRange": "day"}'

Python

from apify_client import ApifyClient

client = ApifyClient("APIFY_TOKEN")
run = client.actor("johnvc/google-news-lite-api").call(
    run_input={'searchTerms': ['Apple Vision Pro', 'OpenAI'], 'timeRange': 'day'}
)
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)