Google API endpoint
Restored JSON compatibility endpoint. Returns current Google News articles. Pages slice the finite current result snapshot. Uses the legacy result array and field names; no-results searches and exhausted pages return an empty result array.
/google/newsMCP tool: google_news_search
POST searches current Google News articles with the legacy JSON contract. Requires the x-api-key header. Successful requests return 200 again; this route no longer returns a fixed 410.
Body parameters:
keyword: required search query. Supports quoted phrases, excluded words (-word), publisher domains (site:reuters.com), and relative time windows (when:7d).language: required language code, for example en.country: required two-letter country code, for example us.limit: optional result count, default 10, clamped to 10..100.page: optional 1-based page, default 1.Notable response behavior:
result array and field names. link points to the publisher, website_name identifies the source, and icon contains an available article thumbnail. Snippet is empty because this source does not supply article summaries; time is relative publication age when available.result: []. Invalid input returns 400; blocked, malformed, or failed upstream responses return 503.| Field | Filled in, of 10 checked | Values in the sample |
|---|---|---|
| position | 10 | 1 to 10, median 5 |
| title | 10 | median 69 characters |
| website_name | 10 | “Yahoo Finance” and 8 other values |
| icon | 10 | media.zenfs.com and 9 other hosts |
| link | 10 | finance.yahoo.com and 8 other hosts |
| Snippet | 0 | |
| time | 10 | “23 hours ago” and 6 other values |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| searchOption (body) | object | Yes | 10 and is clamped to 10 | Search options; keyword, language and country are required. limit defaults to 10 and is clamped to 10..100; page defaults to 1. | |
| x-api-key (header) | string | Yes | API key required |
curl -X POST "https://api.crawlora.net/api/v1/google/news" \
-H "x-api-key: $CRAWLORA_API_KEY" \
-H "Content-Type: application/json" \
-d '{"country":"us","keyword":"chatgpt","language":"en","limit":10,"page":1}'{
"country": "us",
"keyword": "chatgpt",
"language": "en",
"limit": 10,
"page": 1
}{
"code": 200,
"msg": "OK",
"data": {
"result": [
{
"position": 1,
"title": "Example headline",
"website_name": "Example News",
"icon": "",
"link": "https://example.com/news/story",
"Snippet": "",
"time": "2 hours ago"
}
]
}
}Request schema
#/definitions/google.SearchOption
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| country | string | Yes | us | Country code | ||
| keyword | string | Yes | chatgpt | |||
| language | string | Yes | en | language code | ||
| limit | integer | No | 10 | Number of items, from 10 to 100, inclusive | ||
| page | integer | No | 1 |
Response schema
#/definitions/google.newsSearchResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | google.NewsSearchResp | No | ||||
| data.result | array | No | ||||
| data.result[].Snippet | string | No | Never run out of your favorite coffees, teas and powders again with our auto-delivery subscription. Select how often your products arrive, pause and cancel ... | |||
| data.result[].icon | string | No | ||||
| data.result[].link | string | No | https://www.coffeebean.com/ | |||
| data.result[].position | integer | No | 1 | |||
| data.result[].time | string | No | 7 hours ago | |||
| data.result[].title | string | No | Home | The Coffee Bean & Tea Leaf | |||
| data.result[].website_name | string | No | OpenAI | |||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Invalid input | #/definitions/app.Response |
| 429 | Rate limit exceeded | #/definitions/app.Response |
| 500 | Internal server error | #/definitions/app.Response |
| 503 | Google upstream request failed | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X POST "https://api.crawlora.net/api/v1/google/news" \
-H "x-api-key: $CRAWLORA_API_KEY" \
-H "Content-Type: application/json" \
-d '{"country":"us","keyword":"chatgpt","language":"en","limit":10,"page":1}'