Haunt for MCP and Claude.

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. One hosted endpoint, one npm package, seven tools, no infrastructure of yours.

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.

Connect the server.

Hosted endpoint for remote MCP clients, or the npm package for local stdio use.

Hosted: https://hauntapi.com/mcp/server
Local:  npx @hauntapi/mcp-server  (HAUNT_API_KEY env)

An honest no beats a confident fake yes.

A blocked, missing, or login-walled page returns a structured error code your agent 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.