Integrations
URLpipe in LangChain
Give an agent pages it can actually read, and load them into your RAG pipeline as clean Markdown.
By Roger Campos · Last updated: October 2026
TL;DR
langchain-urlpipe is the LangChain integration for URLpipe: pip install langchain-urlpipe. It adds six tools — urlpipe_read_page (the page as Markdown after its JavaScript ran), urlpipe_page_metadata, urlpipe_extract_data, urlpipe_technologies, urlpipe_console_errors and urlpipe_lighthouse — a UrlpipeToolkit with all six, and UrlpipeLoader, a document loader with sync and async loading.
Free plan, no credit card. 1,000 credits a month.
Setup
Install
pip install langchain-urlpipe
export URLPIPE_API_KEY=your_project_keyIt builds on the official Python client, installed with it, and needs Python 3.10 or later and langchain-core 1.x. The key is a project API key from your dashboard.
Agents
Tools for an agent
LangChain's own web tools fetch a page with a plain HTTP request, so a single-page app or a docs site built with JavaScript comes back as an empty shell. URLpipe renders the page in real Chrome first. Each tool has a description written for the model, so it knows when to call it:
| Tool | Returns | Credits |
|---|---|---|
| urlpipe_read_page | The page's main content as Markdown | 1 |
| urlpipe_page_metadata | Title, description, language, main image, author, publication date, feed | 1 |
| urlpipe_extract_data | The values the agent names, read off the page with AI: exactly its fields, null where the page gives none | 24 |
| urlpipe_technologies | What the site is built with: CMS, frameworks, analytics, CDN, with versions | 1 |
| urlpipe_console_errors | The errors, warnings and uncaught exceptions the page logs | 1 |
| urlpipe_lighthouse | Lighthouse scores (0–100) and key metrics, mobile or desktop | 2 |
from langchain.agents import create_agent
from langchain_urlpipe import UrlpipeToolkit
agent = create_agent("anthropic:claude-sonnet-5", tools=UrlpipeToolkit().get_tools())
result = agent.invoke(
{"messages": [{"role": "user", "content": "Why is https://example.com slow on mobile?"}]}
)
print(result["messages"][-1].content)When a page can't be loaded, or the credits run out, the tool returns the API's explanation to the model as the tool result, so the agent can try another page or tell you why.
Code
A loader for RAG
UrlpipeLoader turns URLs into Documents, one per page, with the Markdown as page_content and source, token and cache in the metadata. Markdown keeps the page's headings, so you can split on them:
from langchain_text_splitters import MarkdownHeaderTextSplitter
from langchain_urlpipe import UrlpipeLoader
docs = UrlpipeLoader(
["https://docs.example.com/getting-started", "https://docs.example.com/api/auth"],
page_options={"block_cookie_banners": True},
).load()
splitter = MarkdownHeaderTextSplitter(headers_to_split_on=[("#", "h1"), ("##", "h2")])
chunks = []
for doc in docs:
for chunk in splitter.split_text(doc.page_content):
chunk.metadata.update(doc.metadata) # keep the source URL on every chunk
chunks.append(chunk)operation="html"or"summarize"loads the rendered HTML or an AI summary instead.alazy_load()loads several pages at once,max_concurrencyat a time; set it to your plan's parallel limit.continue_on_failure=Trueskips a page that can't be read instead of raising.- Loading a page again within
max_age(7 days by default) is served from storage and costs nothing.
Endpoints
The endpoints on this page
- Turn any URL into clean Markdown
Paste a link and get the page's main content as tidy Markdown — headings, lists, links and code kept, navigation and cookie banners stripped. The format LLMs and RAG pipelines work best with.
Try it free - Check a page's Open Graph tags and metadata
Paste a link and see everything the page says about itself — title, description, share image, authors, dates, language, icons and feeds — as one structured object.
Try it free - Extract structured data from any web page
Paste a link and get the page's data as JSON — who it belongs to, what it offers, its prices, its contact email and social profiles — with null wherever the page does not say.
Try it free - Find out what any website is built with
Paste a link and see the technologies behind the site — its CMS or shop platform, JavaScript frameworks, analytics and tag managers, CDN, web server and more, with versions where the page shows them.
Try it free - Check any website for JavaScript errors
Paste a link and see the console errors, warnings and uncaught exceptions logged while the page loads in a real browser — no DevTools, no local setup.
Try it free - Run a Lighthouse audit on any URL
Paste a link and get a real Google Lighthouse audit — performance, accessibility, best practices and SEO scores, plus Core Web Vitals — measured against the live page.
Try it free
FAQ
Frequently asked questions
Is there an official URLpipe LangChain integration?
Do the tools read pages that need JavaScript?
What does a tool call cost?
Does the loader work with async LangChain code?
Connect it in five minutes.
Free plan, no card. Confirm your email and your API key is live — you'll be making real requests in minutes.