# Search Google News

Returns Google News articles for a query, with source, snippet and publish date. Use it to follow coverage of a topic or brand.

Tool `google.news.search` on Google. Contract version 1, released 2026-10-27.

## Example call

Over REST, send the input in the body. Over MCP, pass the same input to `call_tool`.

cURL:

```bash
curl https://api.voxoria.ai/v1/tools/google.news.search/calls \
  -H "Authorization: Bearer $VOXORIA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"input":{"query":"electric vehicles","language":"en"}}'
```

Python:

```python
import os

import httpx

response = httpx.post(
    "https://api.voxoria.ai/v1/tools/google.news.search/calls",
    headers={"Authorization": f"Bearer {os.environ['VOXORIA_API_KEY']}"},
    json={"input": {"query": "electric vehicles", "language": "en"}},
    timeout=60,
)
print(response.json())
```

TypeScript:

```ts
const response = await fetch("https://api.voxoria.ai/v1/tools/google.news.search/calls", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.VOXORIA_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({"input": {"query": "electric vehicles", "language": "en"}}),
});
console.log(await response.json());
```

MCP (`tools/call` params):

```json
{
  "name": "call_tool",
  "arguments": {
    "tool": "google.news.search",
    "input": {
      "query": "electric vehicles",
      "language": "en"
    }
  }
}
```

Both return [the full response](/docs/call-response.md): the call's ID, status and cost, with this tool's result in `output`.

## Input

| Input | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `query` | string | Yes |  | The search query. |
| `country` | string | No |  | Two-letter ISO 3166-1 country code. Case-insensitive. One of the 249 values of the `countries` list: ISO 3166-1 alpha-2 country codes, lowercase. |
| `language` | string | No | `en` | Two-letter ISO 639-1 language code. Case-insensitive. One of the 184 values of the `languages` list: ISO 639-1 two-letter language codes, lowercase. |
| `location` | string | No |  | Google location name, such as "New York, New York, United States". |
| `page` | integer | No | `1` | Page of results. At least 1. |
| `time_range` | string | No |  | Only articles from the last hour, day, week, month or year. One of `hour`, `day`, `week`, `month`, `year`. |
| `autocorrect` | boolean | No |  | Whether Google may correct the spelling of the query. |

## Output

A successful call returns these blocks in its `output`. A field not marked required can be `null`.

### results

A list of rows. Always present, possibly empty.

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `title` | string | Yes |  |
| `url` | string | Yes | Address of the article. May be a Google News link that redirects to the article. |
| `source` | string | No | Name of the publisher. |
| `snippet` | string | No |  |
| `position` | integer | No | Rank among news results, starting at 1. |
| `published_at` | string | No | When the article was published, in ISO 8601. |
| `published_label` | string | No | Age of the article as Google shows it, such as "3 hours ago". Not a timestamp. |
| `image_url` | string | No | Address of the article's thumbnail image. |

## Example output

The `output` of a real call, each list cut to 3 items.

```json
{
  "results": [
    {
      "title": "Column | I went to Mexico to test-drive the cars Americans can’t buy - The Washington Post",
      "url": "https://news.google.com/rss/articles/CBMitgFBVV95cUxPb09JUU9JSGRGV2RnYWJNQVI0TC1jM20xNE9SaTJqTDdDN09QbmxJYWtQa19fTTAyNU5TR3ZGdC1JLTBXa01KbTMzc29FekozTHdCSWFDRUthRlhpNlBHS3hENFJuQlI5UFZPVjRZTWRDTWlJTjhjdFY5d1BrMEQxMllKRldFNzlUTDRiZVJCeV9jVzh4eHNYUVlZZmdCamViaVhXRm96Q1NfOW9oSlVPNXdLRU01QQ?oc=5",
      "source": "The Washington Post",
      "snippet": null,
      "position": null,
      "published_at": "2026-10-27T16:00:00Z",
      "published_label": null,
      "image_url": null
    },
    {
      "title": "BYD’s $10,000 EV blows a tire at nearly 90 mph — Watch what happens - Electrek",
      "url": "https://news.google.com/rss/articles/CBMikAFBVV95cUxQUDhSLVUyNy02cEVwbXQxS29Tc0FZRThSUHlKWXpOZ29oU09oNTF0ZGVxbElUQS1ZdzlEbVNnZ0FfZUZfa3hEQzVDbVNoVU0wenViQzNSVHNhN1A4UmZzUEVETUszN1NkQVk3WUhDVXBYeDFCS0FUZ0FwTHF6TWZwSHdwYU8xZ0cyWXg3OTF1WVY?oc=5",
      "source": "Electrek",
      "snippet": null,
      "position": null,
      "published_at": "2026-10-27T22:30:00Z",
      "published_label": null,
      "image_url": null
    },
    {
      "title": "EXCLUSIVE: GM to offer hybrid SUVs in strategic pivot from electric - Reuters",
      "url": "https://news.google.com/rss/articles/CBMikAFBVV95cUxQSEJFVWVjR3Y2ekp3X2hVSGVuOHplSWZiT296X3c0QnlWV2NQd1BfTjRqOFJNbGhLWk00cEJ2MERfUlJfQndsU2FFcGh6dTZTcFh0bUpWdlpaeUJUZ0VJMWRreFZ1YURfQndSc3Y2SkxsTklkNXNlNE9tanpjSVRZZWtWN290aTFIcXh5STh6RGs?oc=5",
      "source": "Reuters",
      "snippet": null,
      "position": null,
      "published_at": "2026-10-27T18:53:32Z",
      "published_label": null,
      "image_url": null
    }
  ]
}
```
