Skip to content
Eden Engine

Sitemap URL Discovery (by Domain)

omnial/web-scrape-sitemap

Given a domain (or an explicit sitemap URL), returns the list of URLs found in that site's sitemap, along with how many sitemap files were discovered, fetched, and skipped, and whether any sitemap-level errors occurred. When sitemaps are discovered but none are fetched, `urls` comes back empty even though `success` is true.

activeper callv1
Provider
Web & Business Data Network
Category
web_scrape
Provider price
$0.0012285 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": [
    "domain"
  ],
  "properties": {
    "zdr": {
      "enum": [
        "enabled",
        "disabled"
      ],
      "type": "string",
      "description": "Set 'enabled' to bypass Context.dev's shared caches and omit request and response content from its retained usage logs. Requires zero data retention on the Context.dev organization, otherwise the call fails with ZDR_NOT_ENABLED."
    },
    "domain": {
      "type": "string",
      "minLength": 3,
      "description": "Domain to build a sitemap for, e.g. 'example.com'."
    },
    "maxLinks": {
      "type": "integer",
      "default": 10000,
      "maximum": 100000,
      "minimum": 1,
      "description": "Maximum number of links to return. Default 10000, max 100000."
    },
    "urlRegex": {
      "type": "string",
      "maxLength": 256,
      "description": "RE2-compatible pattern. Only matching URLs are returned and counted against maxLinks."
    },
    "timeoutMS": {
      "type": "integer",
      "maximum": 300000,
      "minimum": 1000,
      "description": "Upstream timeout in milliseconds (max 300000). Context.dev aborts the call with a 408 when exceeded. Keep it below the endpoint's requestTimeoutMs so the provider answers before the platform's own budget expires."
    },
    "sitemapUrl": {
      "type": "string",
      "format": "uri",
      "description": "Explicit sitemap URL. When provided, exactly this sitemap is crawled instead of discovering the domain's sitemaps."
    }
  },
  "additionalProperties": false
}
output_schema.json
{
  "type": "object",
  "required": [
    "domain",
    "success",
    "urls",
    "meta"
  ],
  "properties": {
    "meta": {
      "type": "object",
      "required": [
        "sitemapsDiscovered",
        "sitemapsFetched",
        "sitemapsSkipped",
        "errors"
      ],
      "properties": {
        "errors": {
          "type": "integer",
          "description": "Count of sitemap-level fetch/parse errors. 0 on both fixtures observed; a non-zero value's effect on `success` is unconfirmed."
        },
        "sitemapsFetched": {
          "type": "integer",
          "description": "How many of the discovered sitemaps were actually downloaded and parsed."
        },
        "sitemapsSkipped": {
          "type": "integer",
          "description": "How many discovered sitemaps were not fetched. Observed non-zero (2 of 2) on a real domain whose sitemaps were located but not retrieved within the call -- a caller cannot assume every discovered sitemap gets fetched."
        },
        "sitemapsDiscovered": {
          "type": "integer",
          "description": "How many sitemap files were located for the domain."
        }
      },
      "additionalProperties": true
    },
    "urls": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "The URLs found in the domain's sitemap. Observed populated (10 entries, capped by maxLinks) when a sitemap was discovered and fetched, and observed empty when sitemaps were discovered but none were fetched (see meta.sitemapsFetched) -- an empty array does not necessarily mean the domain has no sitemap."
    },
    "domain": {
      "type": "string",
      "description": "The domain the request targeted, echoed back."
    },
    "success": {
      "type": "boolean",
      "description": "Whether the run completed without a fatal error. Observed true on both fixtures, including the zero-discovered-URLs case -- a caller cannot infer from `success` alone whether any sitemap content was actually retrieved (see meta.sitemapsSkipped)."
    }
  },
  "description": "Sitemap discovery result for the requested domain, narrowed from the provider's whole result object: the URLs found in the site's sitemap, plus counts of how many sitemaps were found, fetched, and skipped, and whether any sitemap-level errors occurred.",
  "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.0012285
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 8, 2026