# Search Google organic results

Returns Google's organic results for a query, with related questions and searches. Use it to check rankings on Google.

Tool `google.serp.organic` 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.serp.organic/calls \
  -H "Authorization: Bearer $VOXORIA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"input":{"query":"crm for small teams","country":"gb"}}'
```

Python:

```python
import os

import httpx

response = httpx.post(
    "https://api.voxoria.ai/v1/tools/google.serp.organic/calls",
    headers={"Authorization": f"Bearer {os.environ['VOXORIA_API_KEY']}"},
    json={"input": {"query": "crm for small teams", "country": "gb"}},
    timeout=60,
)
print(response.json())
```

TypeScript:

```ts
const response = await fetch("https://api.voxoria.ai/v1/tools/google.serp.organic/calls", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.VOXORIA_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({"input": {"query": "crm for small teams", "country": "gb"}}),
});
console.log(await response.json());
```

MCP (`tools/call` params):

```json
{
  "name": "call_tool",
  "arguments": {
    "tool": "google.serp.organic",
    "input": {
      "query": "crm for small teams",
      "country": "gb"
    }
  }
}
```

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 | `us` | 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". |
| `device` | string | No | `desktop` | One of `desktop`, `mobile`, `tablet`. |
| `page` | integer | No | `1` | Page of results, 10 per page. At least 1. |
| `time_range` | string | No |  | Only results from the last hour, day, week, month or year. One of `hour`, `day`, `week`, `month`, `year`. |
| `autocorrect` | boolean | No | `true` | 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 |
| --- | --- | --- | --- |
| `position` | integer | Yes | Rank among organic results, starting at 1. |
| `title` | string | Yes |  |
| `url` | string | Yes |  |
| `snippet` | string | No |  |
| `displayed_url` | string | No | The address as Google shows it under the title. |

### related_questions

A list of rows. Can be `null`.

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `question` | string | Yes |  |

### related_searches

A list of rows. Can be `null`.

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `query` | string | Yes |  |

## Example output

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

```json
{
  "results": [
    {
      "position": 1,
      "title": "5 best CRMs for small teams (and how to choose the right ...",
      "url": "https://www.insightly.com/blog/top-crms-for-small-teams/",
      "snippet": "Insightly is a modern, affordable CRM that small teams love because it's easy to use, you can customize it to your needs, and it scales with you as you grow. Read more",
      "displayed_url": "https://www.insightly.com › blog › top-crms-for-small-t..."
    },
    {
      "position": 2,
      "title": "Best CRM software for small businesses (2026)",
      "url": "https://www.enterprisenation.com/learn-something/best-crm-software-small-businesses/",
      "snippet": "22 Dec 2025 — Comprehensive set of features: HubSpot CRM lets you manage your contacts and track leads with ease. You can also integrate your email marketing. Read more",
      "displayed_url": "https://www.enterprisenation.com › learn-something › b..."
    },
    {
      "position": 3,
      "title": "10 Shortlist UK's CRM Software for Small Business (2026)",
      "url": "https://www.dynamicssquare.co.uk/blog/best-crm-software-for-small-business/",
      "snippet": "12 Jul 2025 — CRM software provides teams with access to customer information, communication history, preferences, opportunities, and previous interactions. Read more",
      "displayed_url": "https://www.dynamicssquare.co.uk › blog › best-crm-sof..."
    }
  ],
  "related_questions": [],
  "related_searches": [
    {
      "query": "Best crm for small teams"
    },
    {
      "query": "Best CRM for small business free"
    },
    {
      "query": "Best CRM for small business reddit"
    }
  ]
}
```
