{
  "id": "contextdev.web.scrape.sitemap",
  "object": "tool",
  "name": "Crawl Sitemap",
  "summary": "Discover every URL in a website's sitemap.",
  "description": "Enumerate a site's URLs from its sitemaps so a crawler, index, or enrichment job starts with complete coverage. Sitemaps are discovered from the domain automatically (subdomains optional), or a single sitemap URL can be crawled explicitly. An RE2 pattern filters which URLs are returned (and counted against maxLinks), and a search phrase narrows the list to the pages about a topic, most relevant first — so a section of a large site can be listed cheaply before any page is scraped.\n\nRaw contextdev#web/scrape/sitemap endpoint: input is { body, queryParams, pathParams } as the provider documents them (https://docs.context.dev/api-reference/web-scraping/sitemap).",
  "category": "lookup",
  "hosted_by": "Context.dev",
  "runtime": "partner",
  "side_effects": false,
  "status": "live",
  "credits": 0,
  "price": null,
  "providers": [
    {
      "id": "contextdev",
      "name": "Context.dev",
      "price": null,
      "own_key_only": true
    }
  ],
  "mcp_name": "contextdev_web_scrape_sitemap",
  "input_schema": {
    "type": "object",
    "properties": {
      "queryParams": {
        "type": "object",
        "properties": {
          "domain": {
            "type": "string",
            "minLength": 3,
            "description": "Domain name, e.g. 'example.com' (no scheme required)."
          },
          "includeSubdomains": {
            "type": "boolean",
            "description": "Also discover public pages and sitemaps on subdomains of the domain. Default false."
          },
          "maxLinks": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100000,
            "description": "Maximum number of links to return. Default 10000, max 100000."
          },
          "sitemapUrl": {
            "type": "string",
            "pattern": "^https?:\\/\\/\\S+$",
            "description": "Explicit sitemap URL. When provided, exactly this sitemap is crawled instead of discovering the domain's sitemaps."
          },
          "urlRegex": {
            "type": "string",
            "maxLength": 256,
            "description": "RE2-compatible pattern. Only matching URLs are returned and counted against maxLinks."
          },
          "search": {
            "type": "string",
            "minLength": 2,
            "maxLength": 200,
            "description": "Search phrase: the discovered URLs are filtered to the pages about it, most relevant first. A searched crawl costs 2 credits instead of 1."
          },
          "zdr": {
            "type": "string",
            "enum": [
              "enabled",
              "disabled"
            ],
            "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."
          }
        },
        "required": [
          "domain"
        ],
        "additionalProperties": false
      }
    },
    "required": [
      "queryParams"
    ],
    "additionalProperties": false
  },
  "kind": "endpoint"
}