{
  "info": {
    "name": "WebCrawlerAPI — mcp.ai",
    "description": "REST API for the WebCrawlerAPI MCP. Set {{apiKey}} to a workspace key (sk_live_…) created at https://mcp.ai/settings/api-keys.",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "auth": {
    "type": "bearer",
    "bearer": [
      {
        "key": "token",
        "value": "{{apiKey}}",
        "type": "string"
      }
    ]
  },
  "variable": [
    {
      "key": "baseUrl",
      "value": "https://api.mcp.ai/api/webcrawlerapi",
      "type": "string"
    },
    {
      "key": "apiKey",
      "value": "sk_live_...",
      "type": "string"
    }
  ],
  "item": [
    {
      "name": "webcrawlerapi_create_crawl",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/create/crawl",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "create",
            "crawl"
          ]
        },
        "description": "Start a metered asynchronous crawl over a site and return its job ID. The crawl may visit and charge for up to items_limit pages; use GET_CRAWL_JOB to monitor it.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"url\": \"\",\n  \"max_age\": 0,\n  \"max_depth\": 0,\n  \"items_limit\": 0,\n  \"webhook_url\": \"\",\n  \"output_formats\": \"\",\n  \"blacklist_regexp\": \"\",\n  \"whitelist_regexp\": \"\",\n  \"keep_query_params\": false,\n  \"main_content_only\": false,\n  \"respect_robots_txt\": false\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "webcrawlerapi_create_feed",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/create/feed",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "create",
            "feed"
          ]
        },
        "description": "Create a recurring website-change feed. Creation immediately schedules an initial crawl that may consume metered credits, and future scheduled runs may also consume credits; delete the feed when it is",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"url\": \"\",\n  \"name\": \"\",\n  \"max_depth\": 0,\n  \"items_limit\": 0,\n  \"webhook_url\": \"\",\n  \"output_format\": \"\",\n  \"include_errors\": false,\n  \"blacklist_regexp\": \"\",\n  \"whitelist_regexp\": \"\",\n  \"main_content_only\": false,\n  \"respect_robots_txt\": false\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "webcrawlerapi_delete_feed",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/delete/feed",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "delete",
            "feed"
          ]
        },
        "description": "Permanently cancel a feed so it cannot be resumed. The feed is removed from feed listings, but retained history may remain directly readable for 30 days.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"feed_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "webcrawlerapi_get_crawl_job",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/crawl/job",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "crawl",
            "job"
          ]
        },
        "description": "Get a crawl job's status, configuration, per-page results, content URLs, errors, and observed costs. Respect recommended_pull_delay_ms when polling.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"crawl_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "webcrawlerapi_get_feed",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/feed",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "feed"
          ]
        },
        "description": "Get one feed's configuration, lifecycle status, and recent run history, including per-run crawl counts and cost. Canceled feeds remain directly readable while retained by the provider.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"feed_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "webcrawlerapi_get_organization_costs",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/organization/costs",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "organization",
            "costs"
          ]
        },
        "description": "Return current spendable balance plus request count and USD usage for a date range. The connected API key is used for both organization routes.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"to_date\": \"\",\n  \"from_date\": \"\",\n  \"include_daily\": false\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "webcrawlerapi_list_feed_changes",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/feed/changes",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "feed",
            "changes"
          ]
        },
        "description": "Return one page of detected feed changes as structured JSON, with an opaque continuation cursor for older pages.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"feed_id\": \"\",\n  \"page_size\": 0,\n  \"next_cursor\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "webcrawlerapi_list_feeds",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/feeds",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "feeds"
          ]
        },
        "description": "List active and paused feeds for the connected organization, newest first. Logically canceled feeds are omitted.",
        "body": {
          "mode": "raw",
          "raw": "{}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "webcrawlerapi_scrape_page",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/scrape/page",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "scrape",
            "page"
          ]
        },
        "description": "Scrape one web page synchronously and return requested content or structured extraction. This consumes metered credits; supplying a prompt adds $0.002 per request.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"url\": \"\",\n  \"prompt\": \"\",\n  \"max_age\": 0,\n  \"output_formats\": \"\",\n  \"clean_selectors\": \"\",\n  \"response_schema\": {},\n  \"keep_query_params\": false,\n  \"main_content_only\": false,\n  \"respect_robots_txt\": false\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "webcrawlerapi_set_feed_state",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/set/feed/state",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "set",
            "feed",
            "state"
          ]
        },
        "description": "Pause an active feed's future scheduled runs or resume a paused feed. Pausing does not stop a run that has already started, and resuming schedules future crawls that may consume metered credits.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"feed_id\": \"\",\n  \"desired_state\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    }
  ]
}