ConvertFleet

MCP docsTools › Web Page Scraper

Web Page Scraper

scrape_web_pages fast Web search & page reading

Fetch specific URLs you already know and extract their content — title, meta description, canonical, language, H1/H2 headings, readable body text, word count, emails, phones, social profiles, Open Graph and JSON-LD structured data. No search step. Blocked or non-HTML URLs come back with the reason in their status instead of failing the whole run.

When to use. You already have the URLs and want their content — reading a docs page, a pricing page, an article, or enriching links another tool returned.
Not for. Discovering URLs (search first with google_search) or JS-only app screens behind a login.

Parameters

NameTypeRequiredDefaultDescription
urls string[] yes The page URLs to scrape (http/https). Private and internal addresses are rejected.
text_chars integer no 5000 Characters of readable body text per page. Clamped by plan: Starter 5,000, Pro 50,000, Gold 200,000 (full page).
include_contacts boolean no true Extract emails, phone numbers and social profiles from each page.
include_structured boolean no true Extract JSON-LD, Open Graph and Twitter-card data from each page.
include_links boolean no false Return the internal/external links found on each page.
include_images boolean no false Return the images (src + alt) found on each page.

Returns

One row per URL with parsed content; blocked pages report the reason in-row instead of failing the run.

Each row typically carries: url final_url http_status title meta_description canonical language headings text word_count emails phones socials open_graph jsonld

The response body is { status, count, fields, results }. Runs that exceed the inline wait return { status: "running", job_id, tool_flow } instead — see Jobs & errors.

Call it over MCP

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "scrape_web_pages",
    "arguments": {
      "urls": [
        "https://example.com/pricing"
      ],
      "text_chars": 8000
    }
  }
}

Call it over the REST API

curl -X POST https://convertfleet.online/api/tool-run \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"tool":"websearch","params":{"urls":["https://example.com/pricing"],"text_chars":8000}}'

Both paths run the same job engine, enforce the same plan limits and count against the same monthly quota. See the REST API page.

Related tools

JSON Schema

{
  "type": "object",
  "properties": {
    "urls": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "The page URLs to scrape (http/https). Private and internal addresses are rejected."
    },
    "text_chars": {
      "type": "integer",
      "description": "Characters of readable body text per page. Clamped by plan: Starter 5,000, Pro 50,000, Gold 200,000 (full page).",
      "default": 5000
    },
    "include_contacts": {
      "type": "boolean",
      "description": "Extract emails, phone numbers and social profiles from each page.",
      "default": true
    },
    "include_structured": {
      "type": "boolean",
      "description": "Extract JSON-LD, Open Graph and Twitter-card data from each page.",
      "default": true
    },
    "include_links": {
      "type": "boolean",
      "description": "Return the internal/external links found on each page.",
      "default": false
    },
    "include_images": {
      "type": "boolean",
      "description": "Return the images (src + alt) found on each page.",
      "default": false
    }
  },
  "additionalProperties": false,
  "required": [
    "urls"
  ]
}