# List the Google keywords a domain ranks for

Returns the Google keywords a domain ranks for, with position, ranking URL, search volume and estimated traffic. Use it to see which searches bring a site its traffic.

Tool `google.domain.ranked-keywords` 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.domain.ranked-keywords/calls \
  -H "Authorization: Bearer $VOXORIA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"input":{"domain":"moz.com","country":"gb"}}'
```

Python:

```python
import os

import httpx

response = httpx.post(
    "https://api.voxoria.ai/v1/tools/google.domain.ranked-keywords/calls",
    headers={"Authorization": f"Bearer {os.environ['VOXORIA_API_KEY']}"},
    json={"input": {"domain": "moz.com", "country": "gb"}},
    timeout=60,
)
print(response.json())
```

TypeScript:

```ts
const response = await fetch("https://api.voxoria.ai/v1/tools/google.domain.ranked-keywords/calls", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.VOXORIA_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({"input": {"domain": "moz.com", "country": "gb"}}),
});
console.log(await response.json());
```

MCP (`tools/call` params):

```json
{
  "name": "call_tool",
  "arguments": {
    "tool": "google.domain.ranked-keywords",
    "input": {
      "domain": "moz.com",
      "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 |
| --- | --- | --- | --- | --- |
| `domain` | string | Yes |  | The domain, without scheme or www, such as "moz.com". |
| `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. |
| `page` | integer | No | `1` | Page of results, 10 per page. Keywords come by the traffic they bring, highest first. At least 1. |

## 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 |
| --- | --- | --- | --- |
| `keyword` | string | Yes |  |
| `position` | integer | Yes | The domain's rank among organic results for the keyword, starting at 1. |
| `url` | string | Yes | Address of the page that ranks. |
| `title` | string | No | Title of the ranking page as Google shows it. |
| `search_volume` | integer | No | Average monthly Google searches in the country. |
| `monthly_searches` | array of object | No | Google searches in the country in each recent month, usually the last 12. |
| `monthly_searches.year` | integer | Yes |  |
| `monthly_searches.month` | integer | Yes | Month of the year, from 1 (January) to 12. |
| `monthly_searches.search_volume` | integer | Yes |  |
| `cpc` | number | No | Average cost per click in Google Ads, in USD. |
| `competition` | number | No | Advertiser competition for the keyword in Google Ads, from 0 (none) to 1 (highest). |
| `competition_level` | string | No | The same competition as a band. One of `low`, `medium`, `high`. |
| `keyword_difficulty` | integer | No | How hard it is to rank in the top 10 organic results, from 0 (easiest) to 100. |
| `search_intent` | string | No | What the searcher wants. One of `informational`, `navigational`, `commercial`, `transactional`. |
| `estimated_traffic` | number | No | Estimated monthly organic visits this ranking brings the page. Results are sorted by it, highest first. |

## Example output

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

```json
{
  "results": [
    {
      "keyword": "websites",
      "position": 6,
      "url": "https://moz.com/top500",
      "title": "Top 500 Most Popular Websites",
      "search_volume": 74000,
      "monthly_searches": [
        {
          "year": 2026,
          "month": 8,
          "search_volume": 74000
        },
        {
          "year": 2026,
          "month": 7,
          "search_volume": 74000
        }
      ],
      "cpc": 12.270000457763672,
      "competition": 0.17000000178813934,
      "competition_level": "low",
      "keyword_difficulty": 56,
      "search_intent": "informational",
      "estimated_traffic": 2501.199951171875
    },
    {
      "keyword": "inbound link check",
      "position": 1,
      "url": "https://moz.com/link-explorer",
      "title": "Free Backlink Checker - Moz Link Explorer",
      "search_volume": 8100,
      "monthly_searches": [
        {
          "year": 2026,
          "month": 8,
          "search_volume": 18100
        },
        {
          "year": 2026,
          "month": 7,
          "search_volume": 12100
        }
      ],
      "cpc": 5.21999979019165,
      "competition": 0.019999999552965164,
      "competition_level": "low",
      "keyword_difficulty": 49,
      "search_intent": "informational",
      "estimated_traffic": 2462.39990234375
    }
  ]
}
```
