No KYC — no ID, no selfie, no documents. Pay in crypto: BTC, USDT, USDC, ETH, SOL, LTC
Language: English
Get an API key

Docs · n8n

Read web pages in n8n AI agents with the WebReaderAPI

n8n's HTTP Request node can act as a tool for its AI Agent node. Point it at /read, let the model fill in the URL, and the agent can read any public page as clean Markdown, with no community node to install.

Last updated: · 5 min read

Quick answer

How do I let an n8n AI agent read web pages?

Attach an HTTP Request node to n8n's AI Agent as a tool, set it to GET https://webreaderapi.com/api/v1/read with a Header Auth credential holding your WebReaderAPI key, and let the model define the url parameter. Turn on Optimize Response to keep only title, final_url and markdown. Each page costs 1 credit, from $0.07/1K pages as of October 2026. No KYC; pay in crypto.

Which HTTP Request settings do I use?

Option names follow n8n's HTTP Request node documentation, read on 2026-10-22.

SettingValue
PlacementAttached to the AI Agent node as a tool
MethodGET
URLhttps://webreaderapi.com/api/v1/read
AuthenticationGeneric credentials → Header Auth
Header Auth credentialName Authorization, Value Bearer followed by your API key
Send Query ParametersOn, Using Fields Below
Parameter urlDefined by the model (see below)
Parameter max_charsA fixed value such as 15000
Optimize ResponseOn · response type JSON · Include Fields Selected: title, final_url, markdown

Why use the HTTP Request node as the tool?

Because it already does everything this API needs: one GET request, one header and two query parameters. n8n documents that the HTTP Request node can run as a regular node or be attached to an AI agent as a tool, and that some options exist only in the tool form.

There is nothing of ours to install or update, and the key sits in n8n's credential store rather than in the workflow. Give n8n its own key, so its usage is visible apart from your other scripts and you can revoke it alone. Create several API keys, for example one per agent or project, and revoke any of them from your dashboard.

How does the model choose the URL to read?

Let the model define the url parameter. n8n shows a button next to eligible parameter fields that hands the value to the model, and you can also write the expression yourself with n8n's $fromAI() function. It takes a key, a description, a type and an optional default, for example the key url, the description "The http or https address of the page to read" and the type string.

n8n documents that $fromAI() works only in tools connected to the AI Agent node. Write the tool description in plain words too, such as "Reads a public web page and returns its main content as Markdown", so the agent knows when to call it.

Why turn on Optimize Response?

Because everything a tool returns goes into the model's context. Optimize Response is a tool-only option that reduces the data passed to the model. With the JSON response type you can include only selected fields; keep title, final_url and markdown and drop the rest.

Cap the length on our side with max_chars, which cuts the Markdown before it leaves the API. The HTML and Text response types of the node have their own Truncate Response option, but with our JSON answer max_chars is the simpler control.

How do I use the API in a scheduled workflow?

Use the HTTP Request node as a regular node, not a tool, behind a Schedule Trigger. Give it a fixed url, such as a changelog or a pricing page you follow, and send the markdown field to the next node: a file, a database, a chat message or a comparison with the previous run.

Each run reads one page per URL. Watching 20 pages once a day uses about 600 credits a month for pages without a browser, so 10,000 pages ($3.75) lasts more than a year. Prepaid credits never expire: unused pages stay on your account until you use them.

What happens when a site refuses the read?

The node receives an error response with a code such as blocked_by_robots or target_refused, and nothing is billed. We respect robots.txt: our crawler identifies itself as WebReaderAPI, follows the rules written for it or for all robots, and does not read a page that a site disallows. Refused pages are not charged. In an agent, let the tool return the error so the model can explain it or try another source; in a scheduled workflow, route errors to a branch that logs them. The errors page lists every code.

Can I try the call before building the workflow?

Run the same call in a terminal with curl, as shown in the curl recipes. If it works there and fails in n8n, the cause is in the node settings, most often the credential value missing the Bearer prefix or the url parameter left empty.

n8n: common questions

Do I need a community node for WebReaderAPI?

No. The built-in HTTP Request node is enough, as a tool for the AI Agent or as a regular node in any workflow.

Can the agent read JavaScript pages or PDFs?

Yes. The API decides when a browser is needed (render=auto) and reads PDFs as text. A rendered page uses 2 credits; PDF files up to 20 MB and 100 pages are converted to Markdown, at 1 credit per started block of 10 pages.

How do I stop the agent from reading too many pages?

Say how many pages it may read in the agent's system message, and keep max_chars modest. Each read is one tool call, so any limit you set on the agent's tool calls also caps the number of pages.

How do I pay for credits?

Top up from $25 in BTC, USDT, USDC, ETH, SOL, LTC, then buy a pack. WebReaderAPI asks for no ID, no selfie and no company documents.

Sources (4)
  1. HTTP Request node — n8n docs (read 2026-10-22)
  2. HTTP Request credentials — n8n docs (read 2026-10-22)
  3. AI Agent node — n8n docs (read 2026-10-22)
  4. Let AI specify tool parameters with $fromAI() — n8n docs (read 2026-10-22)

From $0.07/1K pages · no KYC

Get an API key