Haunt for Haystack.

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. A small custom component turns any public page into a clean Document for your pipeline.

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.

Add the component.

The hauntapi SDK plus a few lines of component glue. The full snippet lives in the Haystack integrations catalog and in our docs.

pip install hauntapi haystack-ai
export HAUNT_API_KEY=your-key

result = Haunt().extract(url, "Return the readable page content", response_format="markdown")

An honest no beats a confident fake yes.

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