Skip to content
Eden Engine

Domains Competing in Google Results for a Set of Search Terms (US, English; 1 or 100 Domains)

omnial/keyword-set-serp-competitor-domains-us-english

Given a list of search terms, returns how many domains appear in Google's organic and paid results for them in the United States in English, and the first 1 or 100 of those domains in index order. Each domain has its average and median position, a rating score, estimated traffic from these terms, how many of the terms it ranks for, a visibility score, how many of its results appear, and its positions for each term.

activeper resultv1

Price

Up to $0.0164 base + $0.000164 per result; you pay what the call used

The price shown is the price you pay. No monthly minimum. Top-ups start at $5.

Data source

Google search ranking index

Data from an index of Google search rankings and keyword traffic estimates.

Use it

Five steps: search, inspect, learn, run, settle. No per-tool setup; your agent reaches this tool through the meta-tools it already has.

agent
// 1. search: find the tool
omnial_search({ query: "what you need" })

// 2. inspect: price and input schema
omnial_inspect({ tool: "omnial/keyword-set-serp-competitor-domains-us-english" })

// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "omnial/keyword-set-serp-competitor-domains-us-english" })

// 4. run: price the exact call first, then run it
omnial_execute({ tool: "omnial/keyword-set-serp-competitor-domains-us-english", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "omnial/keyword-set-serp-competitor-domains-us-english", input: { /* ... */ } })

// 5. settle: the call is charged when it finishes, nothing to do

Not connected yet? Point your MCP client at https://mcp.eden-engine.com/mcp, then copy a config for your client.

Pricing

Every charge this tool can incur.

ChargePrice
Base price
Charged once per request
$0.0164
Per result
Charged for every result returned
$0.000164
Updated
Oct 14, 2026

Input and output schemas

Input schema
input_schema.json
{
  "type": "object",
  "required": [
    "keywords",
    "location_code",
    "language_code",
    "limit"
  ],
  "properties": {
    "limit": {
      "enum": [
        1,
        100
      ],
      "type": "integer",
      "default": 100,
      "description": "The number of domains to return: 100 (the default) or 1."
    },
    "keywords": {
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 80,
        "minLength": 1
      },
      "maxItems": 200,
      "minItems": 1,
      "description": "The search terms to compare domains across, each up to 80 characters."
    },
    "item_types": {
      "enum": [
        [
          "organic",
          "paid"
        ]
      ],
      "type": "array",
      "items": {
        "type": "string"
      },
      "default": [
        "organic",
        "paid"
      ],
      "description": "The result types counted; only [\"organic\", \"paid\"], the default, is offered."
    },
    "language_code": {
      "enum": [
        "en"
      ],
      "type": "string",
      "default": "en",
      "description": "The search language; only en (English) is offered."
    },
    "location_code": {
      "enum": [
        2840
      ],
      "type": "integer",
      "default": 2840,
      "description": "The search market; only 2840 (the United States) is offered."
    },
    "include_subdomains": {
      "enum": [
        true
      ],
      "type": "boolean",
      "default": true,
      "description": "Whether subdomains are counted with their domain; only true, the default, is offered."
    }
  },
  "additionalProperties": false
}
Output schema
output_schema.json
{
  "type": "object",
  "properties": {
    "results": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "etv": {
                  "type": "number",
                  "description": "Estimated monthly traffic the domain gets from the terms."
                },
                "domain": {
                  "type": "string",
                  "description": "The domain."
                },
                "rating": {
                  "type": "number",
                  "description": "A score computed from the domain's positions across the terms."
                },
                "visibility": {
                  "type": "number",
                  "description": "A visibility score for the domain across the terms."
                },
                "avg_position": {
                  "type": "number",
                  "description": "The domain's average position across the terms."
                },
                "keywords_count": {
                  "type": "number",
                  "description": "How many of the terms the domain ranks for."
                },
                "median_position": {
                  "type": "number",
                  "description": "The domain's median position across the terms."
                },
                "keywords_positions": {
                  "type": "object",
                  "description": "For each term the domain ranks for, keyed by the term, its positions.",
                  "additionalProperties": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    }
                  }
                },
                "relevant_serp_items": {
                  "type": "number",
                  "description": "How many of the domain's results appear for the terms."
                }
              }
            },
            "description": "The domains, in index order."
          },
          "items_count": {
            "type": "number",
            "description": "The number of entries in items."
          },
          "total_count": {
            "type": "number",
            "description": "How many domains appear in the results for the terms."
          },
          "language_code": {
            "type": "string",
            "description": "The search language code, as sent."
          },
          "location_code": {
            "type": "number",
            "description": "The search market code, as sent."
          },
          "seed_keywords": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The search terms, as sent."
          }
        }
      },
      "description": "One result for the call."
    }
  },
  "description": "The call's result, wrapped as results."
}