{
  "version": "2",
  "id": "https://freelancenews.online/news/cloudflare-s-agents-sdk-0-28-0-adds-a-beta-web-fetch-tool-with-4b1682dd",
  "title": "Cloudflare's Agents SDK 0.28.0 adds a beta web_fetch tool with document conversion and paginated reads",
  "summary": "The beta tool reads HTML, PDF and supported Office documents through Workers AI Markdown Conversion, returns long pages in offset windows, and can be installed into a Pi Durable extension registry without a Durable Object or browser for direct fetching.",
  "body": "Cloudflare's Agents SDK has reached version 0.28.0, and the release adds a beta web_fetch tool for reading URLs inside an agent. The changelog entry describes the tool as handling HTML, PDF and supported Office documents through Workers AI Markdown Conversion, requesting Markdown directly when a site offers it, and formatting JSON for the model.\n\nThe scope of the release is narrow and concrete: it is a tool that an agent can call to retrieve and normalise web content, not a new hosted service or a change to how Workers themselves run. The changelog frames the addition as two capabilities — document conversion and pagination — layered onto the fetch step an agent already performs.\n\nDocument conversion is the first half. Rather than handing raw bytes back to the model, the tool routes HTML, PDF and supported Office formats through Workers AI Markdown Conversion, and where a source can serve Markdown directly it asks for that instead. JSON responses are formatted for the model rather than passed through untouched.\n\nPagination is the second half. According to the changelog, long pages are returned in smaller windows with offsets so the agent can continue reading, which means a single fetch does not have to carry an entire long document into the model's context at once.\n\nEach result is described as including the final URL, the HTTP status and the content type. That trio matters for agents that follow redirects or hit pages that change shape: the final URL records where the request actually landed, the status records whether it succeeded, and the content type records what kind of payload came back.\n\nThe changelog also lists request controls: allowed hosts, response size, timeouts and redirects. These are the knobs an operator sets to bound what an agent can reach and how much it can pull back, rather than leaving fetch behaviour entirely to the model's choice of URL.\n\nInstallation is shown for one specific harness. The changelog's example imports webFetchTool from \"agents/webfetch/pi\" and installs it into a Pi Durable extension registry under the name \"web-tools\", passing the AI binding from the environment. The registry is populated before the harness is opened.\n\nFor other harnesses, the changelog points to public functions — fetchWeb, windowWebFetchPage and renderWebFetchPage — that developers can use to build their own tool handler. That is the documented extension path when the Pi integration does not apply.\n\nOne operational detail is stated plainly: direct fetching does not require a Durable Object or a browser. That distinguishes the fetch path from approaches that spin up a headless browser or a stateful object to retrieve a page, and it is the kind of constraint that affects cost and deployment shape.\n\nThe changelog also notes that the SDK includes AI SDK and TanStack AI adapters, which places web_fetch alongside existing integration surfaces rather than as a standalone package. The entry does not describe what those adapters do with the tool beyond their inclusion.\n\nFor developers building agent features, the practical change is that retrieval and normalisation move into a supported SDK tool instead of being assembled from scratch. A freelancer wiring an agent to read documentation, a PDF spec or a JSON endpoint can call one tool and receive Markdown or formatted JSON plus status metadata, with host and size limits configured up front.\n\nThe pagination behaviour is the part most likely to change how an agent loop is written. Because long pages arrive as windows with offsets, the agent needs a continuation step to request the next window; the changelog documents that offsets exist but does not describe a default window size or a maximum number of windows.\n\nThe controls listed — allowed hosts, response size, timeouts, redirects — are also the boundary of what the changelog claims. It does not state default values for any of them, nor does it say what happens when a response exceeds the configured size or when a redirect target falls outside the allowed hosts.\n\nAvailability is explicitly beta. The changelog labels web_fetch a beta tool in Agents SDK 0.28.0, which signals that the interface and behaviour may change; nothing in the entry commits to a stability timeline or a promotion date.\n\nPricing is not addressed. The tool uses Workers AI Markdown Conversion and an AI binding, but the changelog does not state what the conversion step costs, whether it is billed separately, or how pagination windows affect usage. Anyone budgeting an agent feature will need to check that outside this entry.\n\nNor does the changelog describe accuracy or fidelity of the conversion. It says HTML, PDF and supported Office documents are handled through Workers AI Markdown Conversion, but it does not claim a success rate, list which Office formats are supported, or describe how complex layouts are treated.\n\nThe entry is also silent on failure modes beyond the metadata it returns. HTTP status and content type are reported per result, but the changelog does not describe retry behaviour, error shapes for blocked hosts, or how a timeout surfaces to the calling agent.\n\nRead as a whole, the release is a packaging move: fetch, convert and window content behind one tool with operator-set limits, installable through a registry in the Pi harness or through public functions elsewhere. The changelog's own pointer for setup, examples and request controls is the Web fetch documentation page.\n\nFor this audience, the honest summary is that the capability is documented and the integration points are named, while the operational specifics — defaults, costs, format coverage and failure handling — sit outside the supplied evidence. Treat 0.28.0 as a beta surface to evaluate against your own sources before depending on it.",
  "category": "dev",
  "language": "en",
  "datePublished": "2026-10-12T14:17:17.467Z",
  "dateModified": "2026-10-12T14:17:17.467Z",
  "eventDate": "2026-10-11",
  "sourcePublicationDate": "2026-10-11T00:00:00.000Z",
  "source": {
    "name": "developers.cloudflare.com",
    "url": "https://developers.cloudflare.com/changelog/post/2026-10-11-web-fetch/",
    "kind": "official-publisher"
  },
  "practicalImpact": "Editorial interpretation: if you are building an agent that reads documentation, PDFs or JSON endpoints, web_fetch can replace hand-rolled retrieval and conversion code, and the offset-based windows let you stream long pages into a loop instead of truncating them. Before adopting it, confirm the defaults for allowed hosts, response size and timeouts, and check how Workers AI Markdown Conversion is billed, since the changelog does not state either.",
  "limitations": "The changelog does not give default values for allowed hosts, response size, timeouts or redirects, nor does it describe error or retry behaviour. It does not state pricing for the Workers AI Markdown Conversion step, which Office formats are supported, conversion fidelity, or a default window size for pagination. The tool is labelled beta with no stability timeline. No independent testing is reported here, and this report is based solely on the supplied changelog excerpts.",
  "keyPoints": [
    "Agents SDK 0.28.0 adds a beta web_fetch tool that reads URLs and handles HTML, PDF and supported Office documents via Workers AI Markdown Conversion.",
    "Long pages are returned in smaller windows with offsets so an agent can continue reading, and each result carries the final URL, HTTP status and content type.",
    "Operators can control allowed hosts, response size, timeouts and redirects; direct fetching is stated not to require a Durable Object or a browser.",
    "The tool installs into a Pi Durable extension registry via agents/webfetch/pi, and public fetchWeb, windowWebFetchPage and renderWebFetchPage functions are offered for other harnesses."
  ],
  "review": {
    "status": "source-reviewed",
    "checkedAt": "2026-10-12T14:17:17.467Z",
    "method": "Automated comparison against retrieved source text; not independent fact-checking.",
    "correctionNote": null
  },
  "sources": [
    {
      "id": 1,
      "url": "https://developers.cloudflare.com/changelog/post/2026-10-11-web-fetch/",
      "publisher": "developers.cloudflare.com",
      "title": "Changelog",
      "publishedAt": 1791676800000,
      "fetchedAt": 1791814621880,
      "hash": "8c30d5d891b0fcbdc6991844ab10b7142f2a67ea8ff12dde7589bf979522d95f",
      "kind": "official-publisher"
    }
  ],
  "claims": [
    {
      "claim": "Agents SDK 0.28.0 introduces a beta web_fetch tool that reads URLs and handles HTML, PDF and supported Office documents through Workers AI Markdown Conversion.",
      "source": 1,
      "id": "claim-1",
      "url": "https://freelancenews.online/news/cloudflare-s-agents-sdk-0-28-0-adds-a-beta-web-fetch-tool-with-4b1682dd#claim-1"
    },
    {
      "claim": "Long pages are returned in smaller windows with offsets so reading can continue, and each result includes the final URL, HTTP status and content type.",
      "source": 1,
      "id": "claim-2",
      "url": "https://freelancenews.online/news/cloudflare-s-agents-sdk-0-28-0-adds-a-beta-web-fetch-tool-with-4b1682dd#claim-2"
    },
    {
      "claim": "The tool is installed into a Pi Durable extension registry by importing webFetchTool from agents/webfetch/pi and passing the AI binding.",
      "source": 1,
      "id": "claim-3",
      "url": "https://freelancenews.online/news/cloudflare-s-agents-sdk-0-28-0-adds-a-beta-web-fetch-tool-with-4b1682dd#claim-3"
    },
    {
      "claim": "Public fetchWeb, windowWebFetchPage and renderWebFetchPage functions are available for building a tool handler in another harness.",
      "source": 1,
      "id": "claim-4",
      "url": "https://freelancenews.online/news/cloudflare-s-agents-sdk-0-28-0-adds-a-beta-web-fetch-tool-with-4b1682dd#claim-4"
    },
    {
      "claim": "Direct fetching does not require a Durable Object or a browser.",
      "source": 1,
      "id": "claim-5",
      "url": "https://freelancenews.online/news/cloudflare-s-agents-sdk-0-28-0-adds-a-beta-web-fetch-tool-with-4b1682dd#claim-5"
    }
  ],
  "formats": {
    "html": "https://freelancenews.online/news/cloudflare-s-agents-sdk-0-28-0-adds-a-beta-web-fetch-tool-with-4b1682dd",
    "markdown": "https://freelancenews.online/news/cloudflare-s-agents-sdk-0-28-0-adds-a-beta-web-fetch-tool-with-4b1682dd.md",
    "json": "https://freelancenews.online/news/cloudflare-s-agents-sdk-0-28-0-adds-a-beta-web-fetch-tool-with-4b1682dd.json"
  }
}