API reference · Google News
google-news/bulk/articles
Integrate this model through SandBase's unified API, with production-ready schemas and examples.
Production endpoint
Send your first request
OpenAI-compatible endpoint with unified authentication and usage tracking.
POST
https://api.sandbase.ai/v1/runModel ID
google-news/bulk/articles01
Input Schema
9 parameters · 0 required · 9 optional
| Parameter | Type | Required | Description |
|---|---|---|---|
topics | string[] | Optional | Select one or more predefined Google News topics to scrape. |
keywords | array | Optional | List of keywords to search for. You can use Google News search operators: - Use '-' to exclude words (e.g. 'bitcoin -ethereum') - Use 'site:' to filter by specific website (e.g. 'bitcoin site:cnn.com') - Use 'OR' to search for multiple terms (e.g. 'bitcoin OR ethereum') - Use quotes for exact match (e.g. '"bitcoin price"') |
timeframe | string | Optional | Time period for the news search. Note: this filter applies mainly to keyword searches. Topic pages return their own curated results. · Options: 1h, 1d, 7d, 30d, 1y, all · Default: "1h" 1h1d7d30d1yall |
topicUrls | array | Optional | Provide custom Google News topic or section URLs to scrape. Useful for niche topics not in the predefined list. Example: https://news.google.com/topics/CAAqJggKIiBDQkFTRWdvSUwyMHZNRGx1YlY4U0FtVnVHZ0pWVXlnQVAB |
decodeUrls | boolean | Optional | If enabled, decodes Google News URLs to get the original article URLs. Note: This will significantly slow down the scraping process as each URL needs to be decoded individually. · Default: false |
maxArticles | integer | Optional | Maximum number of news to extract per keyword or topic (0 = no limit) · Min: 0 · Max: 9007199254740991 · Default: 100 |
extractImages | boolean | Optional | Fetches the og:image from each article page when no image is available (mainly for RSS/topic results). When this option is not explicitly set, images are extracted by default. Toggle OFF to skip image extraction and speed up scraping. · Default: true |
region_language | string | Optional | Region and language for news search · Options: US:en, SK:sk, AU:en, BW:en, CA:en, ET:en, GH:en, IN:en, ID:en, IE:en, IL:en, KE:en, LV:en, MY:en, NA:en, NZ:en, NG:en, PK:en, PH:en, SG:en, ZA:en, TZ:en, UG:en, GB:en, ZW:en, ID:id, CZ:cs, DE:de, AT:de, CH:de, AR:es-419, CL:es-419, CO:es-419, CU:es-419, ES:es, US:es-419, MX:es-419, PE:es-419, VE:es-419, BE:fr, CA:fr, FR:fr, MA:fr, SN:fr, CH:fr, IT:it, LV:lv, LT:lt, HU:hu, BE:nl, NL:nl, NO:no, PL:pl, BR:pt-419, PT:pt-150, RO:ro, SI:sl, SE:sv, VN:vi, TR:tr, GR:el, BG:bg, RU:ru, UA:ru, RS:sr, UA:uk, IL:he, AE:ar, SA:ar, LB:ar, EG:ar, IN:mr, IN:hi, BD:bn, IN:bn, IN:ta, IN:te, IN:ml, TH:th, CN:zh-Hans, TW:zh-Hant, HK:zh-Hant, JP:ja, KR:ko · Default: "US:en" US:enSK:skAU:enBW:enCA:enET:enGH:enIN:enID:enIE:enIL:enKE:enLV:enMY:enNA:enNZ:enNG:enPK:enPH:enSG:enZA:enTZ:enUG:enGB:enZW:enID:idCZ:csDE:deAT:deCH:deAR:es-419CL:es-419CO:es-419CU:es-419ES:esUS:es-419MX:es-419PE:es-419VE:es-419BE:frCA:frFR:frMA:frSN:frCH:frIT:itLV:lvLT:ltHU:huBE:nlNL:nlNO:noPL:plBR:pt-419PT:pt-150RO:roSI:slSE:svVN:viTR:trGR:elBG:bgRU:ruUA:ruRS:srUA:ukIL:heAE:arSA:arLB:arEG:arIN:mrIN:hiBD:bnIN:bnIN:taIN:teIN:mlTH:thCN:zh-HansTW:zh-HantHK:zh-HantJP:jaKR:ko |
extractDescriptions | boolean | Optional | If enabled, extracts the meta description from each article page. Note: This will significantly slow down the scraping process. · Default: false |
02
Output Schema
| Field | Type | Description |
|---|---|---|
id | string | Unique identifier for the generation task |
status | string | Task status: pending, running, completed, failed, timeout |
model | string | Model used for the generation |
outputs | array | Array of output items |
outputs[].url | string | URL of the generated artifact |
outputs[].content_type | string | MIME type (e.g. image/png, video/mp4) |
error | object | null | Error details if failed, null on success |
error.type | string | Machine-readable error type code |
error.message | string | Human-readable error description |
Async Workflow
This model uses asynchronous execution. Submit a request and poll for the result.
- Submit — POST to /v1/run, receive an
id - Poll — GET /v1/run/{id} until status is
completed,failed, ortimeout - Retrieve — Read
outputsfrom the completed response
03
Code Examples
Ready-to-run snippets
# Step 1: Submit
curl -X POST https://api.sandbase.ai/v1/run \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model": "google-news/bulk/articles",
"timeframe": "1h",
"decodeUrls": false,
"maxArticles": 100,
"extractImages": true,
"region_language": "US:en",
"extractDescriptions": false,
"prompt": "a beautiful sunset over mountains"
}'
# Step 2: Poll result (replace <id>)
curl https://api.sandbase.ai/v1/run/<id> \
-H "Authorization: Bearer YOUR_API_KEY"
