Web

Read a web page

web_read · Reads only · Markdown

Reads one public page and returns its main content as clean Markdown with its title, description and links; a PDF comes back as its text.

$0.002 a call

From your agent’s balance. A call that fails costs nothing.

An example

Read Cascade Bike Supply's shipping terms page and tell me what they charge for orders under $500.

Your agent callsweb_read$0.002 a call

The example business is Halverson Cycle & Repair, a bike shop with a repair workshop in Portland, Oregon. The reply is the one the tool really gives.

With these arguments
{
  "url": "https://www.cascadebikesupply.example/shipping-terms",
  "links": false
}
What comes back
{
  "url": "https://www.cascadebikesupply.example/shipping-terms",
  "kind": "page",
  "title": "Shipping terms",
  "description": "How and when we ship parts to bike shops.",
  "site": "cascadebikesupply.example",
  "published": null,
  "language": "en",
  "characters": 259,
  "truncated": false,
  "content": "# Shipping terms\n\nWe ship parts from our warehouse in Tacoma within one working day of your order.\n\nOrders under $500 pay a flat $19 for shipping in Oregon and Washington. From $500, shipping is free.\n\n## Returns\n\nShops can return unused parts within 30 days."
}

Use it when

A page's words are needed: a supplier's terms, a competitor's prices, an article.

What it does

Fetch one public page and get its main content as clean Markdown (menus, ads and footers left out), with its title, description and the links on it. PDFs come back as their text. Pages that need JavaScript to show anything, need a login, or whose robots.txt closes them to bots can't be read, and cost nothing.

What comes back

url, kind (page, pdf or text), title, description, site, published, language, links, characters, truncated, and the content in Markdown. Every reply also carries cost_usd and balance_usd.

Inputs

NameTypeWhat it is
urlRequiredstring4 to 2,000 characters.
linksbooleanInclude the links on the page. Default: true.
max_charactersinteger1,000 to 100,000. Default: 20000.

The call

Over MCP, call web_read on https://api.conecto.chat/mcp/web. Over REST:

Terminal
curl -X POST https://api.conecto.chat/v1/tools/web_read \
  -H "Authorization: Bearer $CONECTO_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://www.cascadebikesupply.example/shipping-terms","links":false}'

When it refuses

A refused call costs nothing and says what to do next.

CodeWhenWhat to do
invalid_url400The address is not a public web address.Send one like https://example.com/page.
blocked_by_robots403The site's robots.txt asks bots not to read the page.Find the facts elsewhere with web_search.
not_found404The page does not exist.Check the address, or find the page with web_search.
too_large413The page is over 5 MB.Read a smaller page, or keep the file with files_upload.
fetch_failed422The site could not be reached, redirected too often, or answered with an error.Check the address, or try again later.
refused422The site refused to show the page to a bot.Find the facts elsewhere with web_search.
empty422The page has no readable text; it may need JavaScript to show anything.Find the facts elsewhere with web_search.
not_a_page422The address is a file, not a page.Keep it with files_upload and its url.
invalid_pdf422The PDF could not be read.Keep it with files_upload, then read it there.
pdf_locked422The PDF is password-protected.Ask for a copy without a password.
busy503PDFs are being read for other calls right now.Try again in a minute.
timeout504The site took too long to send the page.Try again later.

Give this to your agent.

Set up Conecto from https://conecto.chat/SKILL.md