{
  "id": "mrscraper.scrape.markdown",
  "object": "tool",
  "name": "Scrape Markdown",
  "summary": "Convert any page into clean, LLM-ready Markdown via anti-bot bypass and proxies.",
  "description": "Turn any URL into clean Markdown with HTML boilerplate stripped — navigation, scripts, and ads removed, headings, lists, code blocks, and links kept — ready for prompts, RAG, and analysis; typically 70-90% smaller than the HTML. Anti-bot bypass, rotating proxies, and geo-targeting are handled server-side. Supports real-browser rendering, navigation and CSS-selector waits, resource blocking, proxy country selection, and a real-device stealth mode.\n\nRaw mrscraper#/scrape/markdown endpoint: input is { body, queryParams, pathParams } as the provider documents them (https://docs.mrscraper.com/docs/api/playground/scrape-markdown).",
  "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_markdown",
  "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"
}