$ npx scrapering initCreate accountStart for free
Google News Scraper

Creating a Google News Scraping Task

Submit a Google News scraping task to retrieve articles and stories for a given feed type.

Requires the google-news scope on your API key.

Endpoint

POST /api/parsing/v1/google-news

Request Body

All feeds share a set of base fields, plus feed-specific fields controlled by the feed discriminator.

Base fields (all feeds)

NameTypeRequiredDescription
feedstringyesFeed type: "search", "topic", or "stories"
glstringyesCountry code (e.g. US, GB)
hlstringyesLanguage code (e.g. en, de)
timeframestringyesTime filter (e.g. 1d, 7d, 30d)
limitnumberyesNumber of articles to fetch (min: 10, max: 100)
callbackUrlstringnoWebhook URL to POST result when done

feed: "search" — search by query

NameTypeRequiredDescription
qstringyesSearch query

feed: "topic", by: "token" — topic by token

NameTypeRequiredDescription
bystringyesMust be "token"
topicTitlestringyesHuman-readable topic name (e.g. Business)
topicTokenstringnoTopic token from the topics endpoint

feed: "topic", by: "kgmid" — topic by Knowledge Graph ID

NameTypeRequiredDescription
bystringyesMust be "kgmid"
topicKgmidstringyesGoogle Knowledge Graph ID (e.g. /m/09s1f)

feed: "stories" — story cluster by token

NameTypeRequiredDescription
storiesTokenstringyesStories cluster token (from topicStories[].storiesToken in a topic result)
storiesTitlestringnoHuman-readable label for the story cluster

Example Requests

Search feed:

curl -X POST 'https://app.scrapering.com/api/parsing/v1/google-news' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -d '{"gl":"US","hl":"en","timeframe":"1d","limit":10,"feed":"search","q":"Pizza"}'

Topic feed (by token):

curl -X POST 'https://app.scrapering.com/api/parsing/v1/google-news' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -d '{"gl":"US","hl":"en","timeframe":"1d","limit":10,"feed":"topic","by":"token","topicToken":"CAAqJggKIiBDQkFTRWdvSUwyMHZNRGx6TVdZU0FtVnVHZ0pWVXlnQVAB","topicTitle":"Business"}'

Topic feed (by kgmid):

curl -X POST 'https://app.scrapering.com/api/parsing/v1/google-news' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -d '{"gl":"US","hl":"en","timeframe":"1d","limit":10,"feed":"topic","by":"kgmid","topicKgmid":"/m/0k8z"}'

Stories feed:

curl -X POST 'https://app.scrapering.com/api/parsing/v1/google-news' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -d '{"gl":"US","hl":"en","timeframe":"1d","limit":10,"feed":"stories","storiesToken":"CAAqNggKIjBDQklTSGpvSmMzUnZjbmt0TXpZd1NoRUtEd2k1c2J2MUVSRWN0X3l1dFpkS3dpZ0FQAQ","storiesTitle":"Wall Street stocks"}'

Example Response

{
  "id": "ac9c7911-b32c-4890-a850-227003ee2d35",
  "status": "parsing",
  "scope": "google-news",
  "costCredits": 10,
  "createdAt": "2026-09-03T10:00:00.000Z"
}
FieldTypeDescription
idstringTask ID used to poll for the result
statusstringCurrent task status (parsing, done, error)
scopestringTask type — always google-news for this endpoint
costCreditsnumberCredits charged for the task
createdAtstringISO 8601 timestamp of when the task was created

The task is processed asynchronously. Use the id to poll for the result or set callbackUrl to receive a webhook when parsing completes.

Next steps