SEO data for AI agents: keyword volume, Google results, App Store keywords, domain and name checks.
Call this server's tools from your browser. Nothing to install.
Optional. "Bearer <key>" with a Searchwire key from https://searchwire.dev; without it, domain and name checks and cached answers work for 20 calls a day.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
The key's balance, daily budget and today's (UTC) spend, cache hits and misses. Needs a key.
This tool takes no arguments.
The key's balance, daily budget and today's (UTC) spend, cache hits and misses. Needs a key.
No arguments.
{
"type": "object",
"required": [],
"properties": {}
}The apps that rank for the same store keywords as an app, most shared keywords first, with shared keyword count, average rank and volume (United States, English). $0.02 a call plus $0.002 a competitor.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Default 20. |
| store | string | "apple" (App Store, default) or "google" (Google Play). |
| app_id* | string | The number in an App Store link (e.g. "964220645"), or with store "google" the package name (e.g. "org.telegram.messenger"). |
{
"type": "object",
"required": [
"app_id"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Default 20."
},
"store": {
"enum": [
"apple",
"google"
],
"type": "string",
"description": "\"apple\" (App Store, default) or \"google\" (Google Play)."
},
"app_id": {
"type": "string",
"description": "The number in an App Store link (e.g. \"964220645\"), or with store \"google\" the package name (e.g. \"org.telegram.messenger\")."
}
}
}Monthly App Store or Google Play search volume for up to 25 keywords of your choosing (United States, English). A first lookup takes up to a minute. $0.02 a keyword answered.
| Argument | Type | Description |
|---|---|---|
| store | string | "apple" (App Store, default) or "google" (Google Play). |
| keywords* | array |
{
"type": "object",
"required": [
"keywords"
],
"properties": {
"store": {
"enum": [
"apple",
"google"
],
"type": "string",
"description": "\"apple\" (App Store, default) or \"google\" (Google Play)."
},
"keywords": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 25,
"minItems": 1
}
}
}The keywords an app ranks for in App Store or Google Play search, each with monthly store search volume and the app's rank (United States, English). $0.02 a call plus $0.0002 a keyword.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Default 100. |
| order | string | "volume" highest first (default) or "rank" best first. |
| store | string | "apple" (App Store, default) or "google" (Google Play). |
| app_id* | string | The number in an App Store link (e.g. "964220645"), or with store "google" the package name (e.g. "org.telegram.messenger"). |
| offset | integer | |
| max_rank | integer | Only keywords where the app ranks this high or higher. |
| min_volume | integer |
{
"type": "object",
"required": [
"app_id"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 1000,
"minimum": 1,
"description": "Default 100."
},
"order": {
"enum": [
"volume",
"rank"
],
"type": "string",
"description": "\"volume\" highest first (default) or \"rank\" best first."
},
"store": {
"enum": [
"apple",
"google"
],
"type": "string",
"description": "\"apple\" (App Store, default) or \"google\" (Google Play)."
},
"app_id": {
"type": "string",
"description": "The number in an App Store link (e.g. \"964220645\"), or with store \"google\" the package name (e.g. \"org.telegram.messenger\")."
},
"offset": {
"type": "integer",
"minimum": 0
},
"max_rank": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Only keywords where the app ranks this high or higher."
},
"min_volume": {
"type": "integer",
"minimum": 1
}
}
}The apps a store's search returns for a keyword, in order, with rating and reviews. A first lookup takes 5 to 20 seconds; if it answers with an error saying it is not ready, nothing is charged and the same call a minute later returns it. $0.005 a keyword.
| Argument | Type | Description |
|---|---|---|
| depth | integer | Default 10; up to 100 on the App Store, 30 on Google Play. |
| store | string | "apple" (App Store, default) or "google" (Google Play). |
| country | string | Two-letter country code. Default "us". |
| keyword* | string | |
| language | string | Two-letter language code; Chinese is "zh-TW" or "zh-CN". Default "en". |
{
"type": "object",
"required": [
"keyword"
],
"properties": {
"depth": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Default 10; up to 100 on the App Store, 30 on Google Play."
},
"store": {
"enum": [
"apple",
"google"
],
"type": "string",
"description": "\"apple\" (App Store, default) or \"google\" (Google Play)."
},
"country": {
"type": "string",
"description": "Two-letter country code. Default \"us\"."
},
"keyword": {
"type": "string"
},
"language": {
"type": "string",
"description": "Two-letter language code; Chinese is \"zh-TW\" or \"zh-CN\". Default \"en\"."
}
}
}Starts a purchase of prepaid credit and returns checkout_url, where a person pays, and claim_url, which returns the key once paid. With a key, the credit is added to that key. Nothing is charged by this call.
| Argument | Type | Description |
|---|---|---|
| amount_usd* | integer |
{
"type": "object",
"required": [
"amount_usd"
],
"properties": {
"amount_usd": {
"enum": [
10,
25,
50,
100,
250
],
"type": "integer"
}
}
}Whether up to 50 domain names are registered, from the registries (RDAP and WHOIS); registered ones come with registrar, creation and expiry dates. Free. Not registered does not guarantee the standard price (reserved or premium names).
| Argument | Type | Description |
|---|---|---|
| domains* | array |
{
"type": "object",
"required": [
"domains"
],
"properties": {
"domains": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 50,
"minItems": 1
}
}
}One check of a product or brand name: its domain per TLD, the GitHub account, the npm package, and with a key the name's search volume. Free without the volume.
| Argument | Type | Description |
|---|---|---|
| name* | string | Letters, digits and inner hyphens. |
| tlds | array | Default com, dev, ai, io, app, co. |
| country | string | Two-letter country code. Default "us". |
{
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "Letters, digits and inner hyphens."
},
"tlds": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 10,
"description": "Default com, dev, ai, io, app, co."
},
"country": {
"type": "string",
"description": "Two-letter country code. Default \"us\"."
}
}
}The organic Google results for a keyword: rank, url, domain and title, with the time they were observed. $0.002 when collected earlier, $0.005 fetched live.
| Argument | Type | Description |
|---|---|---|
| depth | integer | How many results. Default 10. |
| source | string | "index" = results collected earlier, "live" = fetched now, "any" (default) = collected first, live if none. |
| country | string | Two-letter country code. Default "us". |
| keyword* | string | |
| language | string | Two-letter language code; Chinese is "zh-TW" or "zh-CN". Default "en". |
{
"type": "object",
"required": [
"keyword"
],
"properties": {
"depth": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "How many results. Default 10."
},
"source": {
"enum": [
"any",
"index",
"live"
],
"type": "string",
"description": "\"index\" = results collected earlier, \"live\" = fetched now, \"any\" (default) = collected first, live if none."
},
"country": {
"type": "string",
"description": "Two-letter country code. Default \"us\"."
},
"keyword": {
"type": "string"
},
"language": {
"type": "string",
"description": "Two-letter language code; Chinese is \"zh-TW\" or \"zh-CN\". Default \"en\"."
}
}
}Monthly Google search volume, CPC, ad competition (0-1, not ranking difficulty) and 12 months of history for up to 1,000 keywords in one country and language. $0.02 a call plus $0.0002 a keyword.
| Argument | Type | Description |
|---|---|---|
| country | string | Two-letter country code. Default "us". |
| keywords* | array | |
| language | string | Two-letter language code; Chinese is "zh-TW" or "zh-CN". Default "en". |
{
"type": "object",
"required": [
"keywords"
],
"properties": {
"country": {
"type": "string",
"description": "Two-letter country code. Default \"us\"."
},
"keywords": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 1000,
"minItems": 1
},
"language": {
"type": "string",
"description": "Two-letter language code; Chinese is \"zh-TW\" or \"zh-CN\". Default \"en\"."
}
}
}