{
  "id": "mrscraper.scrape.html",
  "object": "tool",
  "name": "Scrape Raw HTML",
  "summary": "Fetch the raw HTML of any page through anti-bot bypass and rotating proxies.",
  "description": "Return the raw DOM markup of any URL with anti-bot bypass, rotating proxies, and geo-targeting handled server-side. Supports real-browser rendering with configurable navigation waits, CSS-selector waits, resource blocking, proxy country selection, and a real-device stealth mode for hard anti-bot walls. Suited for feeding custom parsers, HTML archiving, meta/SEO structure audits, and debugging extraction pipelines.\n\nRaw mrscraper#/scrape/html endpoint: input is { body, queryParams, pathParams } as the provider documents them (https://docs.mrscraper.com/docs/api/v3/scraper/unblocker-scraping).",
  "category": "lookup",
  "hosted_by": "MrScraper",
  "runtime": "partner",
  "side_effects": false,
  "status": "live",
  "credits": 0,
  "price": null,
  "providers": [
    {
      "id": "mrscraper",
      "name": "MrScraper",
      "price": null,
      "own_key_only": true
    }
  ],
  "mcp_name": "mrscraper_scrape_html",
  "input_schema": {
    "type": "object",
    "properties": {
      "body": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "pattern": "^https?:\\/\\/\\S+$",
            "description": "Full URL to scrape, including the http:// or https:// scheme."
          },
          "geoCode": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "Two-letter country code to load the page from (default 'us')."
          },
          "proxyCountry": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "Two-letter country code of the proxy exit (default 'us')."
          },
          "browserRendering": {
            "type": "boolean",
            "description": "Render the page in a real Chromium browser. Required for JavaScript-heavy sites and SPAs. Default false."
          },
          "waitUntil": {
            "type": "string",
            "enum": [
              "domcontentloaded",
              "load",
              "networkidle0",
              "networkidle2"
            ],
            "description": "When the browser considers navigation complete (browser rendering only). 'networkidle0' is the most thorough but slowest. Default 'domcontentloaded'."
          },
          "timeout": {
            "type": "integer",
            "minimum": 1,
            "maximum": 300,
            "description": "Maximum seconds to wait for the page to fully load (default 300)."
          },
          "blockResources": {
            "type": "boolean",
            "description": "Skip images, fonts, and stylesheets to speed up scraping and cut bandwidth-driven token usage. Default false."
          },
          "waitForSelector": {
            "type": "string",
            "minLength": 1,
            "description": "Wait until this CSS selector appears in the DOM before extracting — for content that loads after the initial page."
          },
          "super": {
            "type": "boolean",
            "description": "Route through real devices to bypass hard anti-bot protection. Uses more upstream resources, so runs consume more tokens. Default false."
          }
        },
        "required": [
          "url"
        ],
        "additionalProperties": false
      }
    },
    "required": [
      "body"
    ],
    "additionalProperties": false
  },
  "kind": "endpoint"
}