Agentic Platform
Documentation API reference Tools Skills

Tools

Organic Keyword Suggestions

organic_keyword_suggestions MCP Keywords Google

Get organic keyword suggestions from a given keyword.

Discover a comprehensive list of related keywords based on a seed keyword, including synonyms, variations, and related topics from Google search data. This tool identifies valuable keyword opportunities for your SEO strategy and includes detailed metrics for each keyword such as search volume, CPC, competition level, and search intent. This facilitates content planning, PPC campaigns, and identifying new market opportunities in your niche. When `save_to_tmp_storage` is enabled, the keyword suggestions are written to temporary project storage and a URL is returned instead of the inline payload.

Playground

POST
item
seed_keyword required

Seed Keyword

country

Country

columns

Columns to display

keyword serp_item_types results_count search_volume cpc competition monthly_searches backlinks_info main_intent foreign_intent
config
location_id

Location ID (optional)

location_request

Location request (ex: Paris, FR), will translate to location ID

country_code

ISO3166 country code (ex: GB)

lang_code

BCP47 language code (ex: "en", "en-GB")

device

Device to use for search (optional - defaults to mobile)

save_to_tmp_storage

Save the bulky keyword suggestions to Botify temporary storage and return the temporary URL instead of the payload. Use this to save output tokens.

Credits

Fixed cost per seed keyword, plus keyword research billed twice over: once for the request, and again for every keyword it returns, up to 300. A narrow seed therefore costs less than a broad one.

These usage SKUs can be charged on a call.

SKU Credits Description
Tool call 1 per request Charged once per successful item, on top of any usage below.
Keyword research 10 per request Keyword ideas and their metrics for one seed. Billed twice over: once for asking, and again for each keyword that comes back.
Keyword research, per keyword returned 1 per 10 keyword returned Each keyword a research request hands back. A narrow seed costs less than a broad one.

Schemas

item is what you send, config how the tool behaves, and the response is what you get back.

Item

object
Properties
seed_keyword string required

Seed Keyword

country string | null

Country

Default: null

columns array

Columns to display

Allowed values: keyword serp_item_types results_count search_volume cpc competition monthly_searches backlinks_info main_intent foreign_intent

Default: ["keyword", "search_volume", "competition", "cpc", "main_intent"]

Example
{
  "seed_keyword": "string",
  "country": null,
  "columns": [
    "keyword",
    "search_volume",
    "competition",
    "cpc",
    "main_intent"
  ]
}

Configuration

object
Properties
location_id integer | null

Location ID (optional)

Default: null

location_request string | null

Location request (ex: Paris, FR), will translate to location ID

Default: null

country_code string | null

ISO3166 country code (ex: GB)

Default: null

lang_code string | null

BCP47 language code (ex: "en", "en-GB")

Default: null

device string

Device to use for search (optional - defaults to mobile)

Values: mobile desktop

Default: "mobile"

save_to_tmp_storage boolean

Save the bulky keyword suggestions to Botify temporary storage and return the temporary URL instead of the payload. Use this to save output tokens.

Default: false

Example
{
  "location_id": null,
  "location_request": null,
  "country_code": null,
  "lang_code": null,
  "device": "mobile",
  "save_to_tmp_storage": false
}

Response

object
Properties
location_code integer required

Location code used for the analysis

language_code string required

Language code used for the analysis

results array | null

List of keyword suggestions. Omitted when `save_to_tmp_storage` is True; see `results_tmp_storage_url` instead.

Default: null

results_tmp_storage_url string | null

Temporary storage URL of the keyword suggestions. Returned instead of `results` when `save_to_tmp_storage` is True.

Default: null

Example
{
  "location_code": 0,
  "language_code": "string",
  "results": null,
  "results_tmp_storage_url": null
}

Endpoints

POST http://agents.botify.com/{organization}/{project}/organic_keyword_suggestions/process
POST http://agents.botify.com/{organization}/{project}/organic_keyword_suggestions/batch_process
POST http://agents.botify.com/{organization}/{project}/organic_keyword_suggestions/async_process
POST http://agents.botify.com/{organization}/{project}/organic_keyword_suggestions/async_batch_process

See running a long job in the background for the polling flow.

cURL

curl -X POST "http://agents.botify.com/{organization}/{project}/organic_keyword_suggestions/process" \
  -H "Authorization: Bearer $BOTIFY_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "item": {
    "seed_keyword": "<seed_keyword>"
  }
}'

Over MCP

This tool is exposed as the MCP tool organic_keyword_suggestions. An MCP client passes organization, project and item as tool arguments. Set up MCP →

Raw metadata