Haunt for CrewAI.
Haunt reads public web pages for AI agents and returns structured JSON or clean markdown. When a page cannot be read, it says so with a plain error code instead of inventing content, and failed reads are not charged. Works today through the hauntapi SDK helper. A native HauntExtractTool is in review for the crewai-tools library.
Try it before you sign up
The free reader needs no key and no account. Prepend the reader path to any URL:
curl https://hauntapi.com/r/example.com
Clean markdown back, or an honest reason when the page cannot be read.
Give a crew the tool.
The SDK helper returns a ready CrewAI tool.
pip install hauntapi crewai export HAUNT_API_KEY=your-key from hauntapi import crewai_tool agent = Agent(role="researcher", tools=[crewai_tool()], ...)
An honest no beats a confident fake yes.
A blocked, missing, or login-walled page returns a structured error code your crew can branch on, never invented content. That is the failure mode that quietly poisons agent pipelines, and it is the one Haunt refuses to have.
What a failed read looks like
{"error_code": "login_required",
"message": "This page needs a login.",
"charged": false}Free to start, priced for working calls.
A free key comes with 1,000 credits and no card. You only pay for calls that return working data. Get a key or see all integrations.