> ## Documentation Index
> Fetch the complete documentation index at: https://docs.querying.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Keyword search volume API (KEYWORD_VOLUME)

> Get the monthly search volume of up to 100 keywords in one country, with the last 12 months and advertiser competition.

`KEYWORD_VOLUME` returns each keyword's average monthly searches over the last 12 months, the 12 monthly figures, and advertiser competition, for one country per task.

| | |
| - | - |
| `taskType` | `KEYWORD_VOLUME` |
| Input | `keywords` (1-100, required), `country` (required) |
| Credits | 3 per task, whatever the number of keywords |
| Country | Required. Served countries only; see below. |
| Location | Not supported (`422 LOCATION_UNSUPPORTED`). |

## Request

```bash theme={"theme":"css-variables"}
curl -X POST https://api.querying.ai/v1/async/task \
  -H "Authorization: Bearer $QUERYING_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "taskType": "KEYWORD_VOLUME", "payload": { "keywords": ["sunscreen", "mineral sunscreen"], "country": "US" } }'
```

## Parameters

| Field | Required | Description |
| - | - | - |
| `keywords` | Yes | An array of 1 to 100 keywords, each 1-80 characters after whitespace is collapsed. In `KR`, keywords contain only letters, digits and spaces. |
| `country` | Yes | A two-letter country code. It also chooses the data source. |

## Data sources and countries

| Country | Source (`source`) | What is counted |
| - | - | - |
| `KR` | Naver (`naver`) | Searches on Naver. |
| Every other served country | Google Keyword Planner (`google_ads`) | All Google searches made in that country, in any language. |

The served countries are `KR` and Google Ads' country targets, with two exceptions: `CN` and `RU` return `422 REGION_UNSUPPORTED`, because Baidu and Yandex serve most searches there. A country with no source returns the same error. For the exact list, call [`GET /v1/capabilities?taskType=KEYWORD_VOLUME`](/engines/capacity#list-what-each-engine-serves) and read `countries.supported`.

## Response

For example:

```json theme={"theme":"css-variables"}
{
  "country": "US",
  "source": "google_ads",
  "fetchedAt": "2026-10-09T13:05:12.000Z",
  "keywords": [
    {
      "keyword": "sunscreen",
      "searchVolume": 110000,
      "monthlySearches": [
        { "month": "2025-09", "searchVolume": 74000 },
        { "month": "2026-08", "searchVolume": 135000 }
      ],
      "last30Days": null,
      "competition": "high"
    }
  ]
}
```

The example shows two of the twelve months.

| Field | Description |
| - | - |
| `country`, `source` | The country and the data source that answered. |
| `fetchedAt` | When the figures were read. |
| `keywords` | One row per requested keyword, a zero included. |
| `keywords[].searchVolume` | The average of `monthlySearches`. `0` means no measurable searches. `null` in `KR` when months could not be estimated (see below). |
| `keywords[].monthlySearches` | Up to 12 `{ month, searchVolume }` entries, `month` as `YYYY-MM`, oldest first. Empty when the source has no series for the keyword. |
| `keywords[].last30Days` | `KR` only: Naver's count for the last 30 days. `null` elsewhere. |
| `keywords[].competition` | Advertiser competition: `low`, `medium`, `high`, or `null` when the source gives none. |

In `KR`, each month is Naver's 30-day count spread by Naver's daily search trend. When the trend covers fewer than 25 of those 30 days, `searchVolume` is `null`, `monthlySearches` is empty, and `last30Days` still carries the count.

## Limits and errors

* A missing or malformed `country`, an empty or oversized `keywords` array, or a keyword over 80 characters returns `422 VALIDATION_ERROR` naming the field.
* `CN`, `RU` and countries with no source return `422 REGION_UNSUPPORTED`.
* `KEYWORD_VOLUME` ignores `markdown`, `rawResponse` and `searchQueries`. It rejects `html` and `analysis` with `422` and `citationAnalysis` with `400`; see [unsupported flags](/engines/response-options.md#unsupported-flags).
* Other request errors are listed in [Errors](/concepts/errors.md).

## Related

* [Prompt Research](/research/prompt-research.md) to turn a topic into prompts to track
* [Regions and location](/engines/capacity.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.