Contract
{
"type": "object",
"required": [
"domain",
"database",
"display_limit"
],
"properties": {
"domain": {
"type": "string",
"minLength": 1,
"description": "The root domain to look up, without a scheme or path."
},
"database": {
"enum": [
"us"
],
"type": "string",
"default": "us",
"description": "Regional search database: US. The only value offered."
},
"display_limit": {
"enum": [
10,
20
],
"type": "integer",
"default": 10,
"description": "Most rows to return: 10 or 20."
}
},
"additionalProperties": false
}{
"type": "object",
"properties": {
"rows": {
"type": "array",
"items": {
"type": "object",
"properties": {
"cpc": {
"type": "string",
"description": "Average cost per click for the keyword, as a decimal string with no currency sign."
},
"url": {
"type": "string",
"description": "The URL of the domain's page that ranks for the keyword."
},
"trends": {
"type": "string",
"description": "Comma-separated monthly search-interest values for the keyword, as one string."
},
"keyword": {
"type": "string",
"description": "The search term."
},
"position": {
"type": "string",
"description": "The domain's organic ranking position for the keyword, as a string."
},
"competition": {
"type": "string",
"description": "Advertiser competition level for the keyword, as a decimal string."
},
"searchVolume": {
"type": "string",
"description": "Average monthly searches for the keyword, as a string."
},
"trafficPercent": {
"type": "string",
"description": "Share of the domain's estimated organic traffic that comes from this keyword, as a percentage string."
},
"numberOfResults": {
"type": "string",
"description": "Number of search results reported for the keyword, as a string."
},
"previousPosition": {
"type": "string",
"description": "The earlier ranking position, as reported, as a string."
},
"positionDifference": {
"type": "string",
"description": "Change in the ranking position, as reported, as a string."
},
"trafficCostPercent": {
"type": "string",
"description": "Share of the domain's estimated organic traffic cost that comes from this keyword, as a percentage string."
}
}
},
"description": "Up to display_limit rows, one per keyword the domain ranks for; fewer when the domain ranks for fewer keywords."
},
"database": {
"type": "string",
"description": "The regional search database the rows come from (us)."
}
},
"description": "The root domain's organic-search keyword rows in the US database, as returned after shaping."
}Pricing
Every real charge, itemised. A model that quietly omits one is a slow financial leak, so nothing here is rolled up, and a charge that only applies to some inputs says so rather than being added in.
Prices in this catalog are the provider's own list price, not your bill: Omnial MCP charges provider cost plus a platform markup on top, so what you are charged is higher than the figure shown. For the exact amount a specific call will cost, run omnial_execute with dry_run: true; that number includes the markup and is what we hold while the call runs. It is a quote, not a cap on the charge.
| Charge | Rate |
|---|---|
Per result Charged for every result returned | $0.00273 |
- Cost basis
- Not recorded
This tool's catalog entry does not record how its final bill is determined, so we will not tell you whether its cost is fixed before the call or reported by the provider afterwards. Either way what is held is a quote rather than a cap: you are charged what the call actually costs, bounded at 2x the quote.
- Updated
- Oct 12, 2026
