Skip to content
Eden Engine

Subdomain SEO Rank History (Historical Month, Regional Database)

omnial/subdomain-rank-history

Given a subdomain and a past calendar month, returns that month's estimated organic and paid (AdWords) search performance in one regional database: keyword counts, estimated traffic, and estimated cost for both organic rankings and paid ads. Use this to see how a subdomain's search visibility looked in a specific historical month rather than today.

activeper callv1
Provider
Web & Business Data Network
Category
seo
Provider price
$0.01365 per call
Latency p50 / p95
— / —
Success rate
—
Verified
—

Provider list price; Omnial MCP charges provider cost plus a platform markup on top.

Contract

input_schema.json
{
  "type": "object",
  "required": [
    "subdomain",
    "display_date"
  ],
  "properties": {
    "database": {
      "type": "string",
      "default": "us",
      "minLength": 2,
      "description": "Regional Semrush database (Google region), e.g. 'us', 'uk', 'de', 'fr'. Mobile ('mobile-us') and extended ('us-ext') variants are also accepted. Defaults to 'us'. Full list: https://developer.semrush.com/api/v3/seo/overview/ (Databases). Tip: run /domain_ranks first to see every database a domain has data in."
    },
    "subdomain": {
      "type": "string",
      "minLength": 1,
      "description": "Subdomain to analyze, e.g. 'shop.example.com' (no scheme)."
    },
    "display_date": {
      "type": "string",
      "pattern": "^\\d{6}15$",
      "description": "Historical month to report on, in Semrush's YYYYMM15 format (e.g. '20260415' for April 2026). REQUIRED — this endpoint bills the historical rate; use the non-history endpoint for live data."
    }
  },
  "additionalProperties": false
}
output_schema.json
{
  "type": "object",
  "properties": {
    "rows": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "adwordsCost": {
            "type": "string",
            "description": "Estimated paid-ad spend for that month, as a numeric string. Observed as '0' on both calls captured."
          },
          "organicCost": {
            "type": "string",
            "description": "Estimated equivalent paid-ad cost of that organic traffic for that month, as a numeric string (this data source's own valuation, not a real spend figure)."
          },
          "adwordsTraffic": {
            "type": "string",
            "description": "Estimated paid-ad traffic for that month, as a numeric string. Observed as '0' on both calls captured."
          },
          "organicTraffic": {
            "type": "string",
            "description": "Estimated organic search traffic for that month, as a numeric string."
          },
          "adwordsKeywords": {
            "type": "string",
            "description": "Count of paid-ad keywords the subdomain ran that month, as a numeric string. Observed as '0' on both calls captured (mail.google.com runs no paid ads)."
          },
          "organicKeywords": {
            "type": "string",
            "description": "Count of organic keywords the subdomain ranked for that month, as a numeric string."
          }
        },
        "additionalProperties": true
      },
      "description": "One row per requested month/database combination. Both fixtures captured a single-element array; whether this endpoint can ever return more than one row is unconfirmed."
    },
    "type": {
      "type": "string",
      "description": "The result kind, observed as the literal string 'subdomain_rank' on both calls captured."
    },
    "database": {
      "type": "string",
      "description": "The regional database the result was computed in, echoing the request's `database` input (or its 'us' default), e.g. 'us' or 'uk'."
    }
  },
  "description": "The historical subdomain rank summary, as returned at routing.responseResultPath ($.output). Both captured fixtures return a single populated row for the requested month and database; no not-found or empty case has been observed for this endpoint.",
  "additionalProperties": true
}

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.

ChargeRate
Per call
Flat, regardless of what comes back
$0.01365
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
Sep 23, 2026