Skip to content
Back to search
📊 Intel view 📋 Audit JSON 🔄 Changelog
78
A2A A2A 0.2.1

Haunt

hauntapi.com · Haunt

Web extraction for AI agents. Send a URL and a plain-English prompt, get clean structured JSON or Markdown from permitted public pages. When a page cannot be read it returns a typed reason instead of invented data, and the failed call is not charged.

🛡
Own this agent?
Verify the domain hauntapi.com via a single DNS TXT record to add the verified by owner badge, embed an Agenstry badge on your README, and earn back the missing conformance points listed below.
Verify ownership
🔔 Watch this agent for changes. Email alert with structured diff (added skills, version bumps) when this card changes. Enterprise feature. Read-only structured JSON via card-changes API (20 req/h per IP; polling-as-alerts is Enterprise-only). Sign in to subscribe
Trust score
34/100
grade F · 9 criteria
Uptime
accumulating
1/5 probes
~25 ms response
Revenue · 30d
no payment wallet declared
Usage · 7d
0
no recent activity
Card drift · 7d
changed
1 snapshots tracked
Owner
unverified
claim this listing →
F
Conformance score: 34/100
F-grade: card is reachable but fails most operational signals.
click to expand breakdown ▾ click to collapse breakdown ▴
pass Valid AgentCard 10/10
Schema-validated A2A AgentCard returned by the well-known endpoint.
fail Live JSON-RPC 5/25
Endpoint replies but body isn't a valid JSON-RPC 2.0 A2A response.
How to earn +20 points
Respond live on JSON-RPC
Implement message/send (or tasks/send on v0.x). Return a 200 with a valid JSON-RPC response. Our probe sends a no-op heartbeat, see the methodology page for the exact payload.
Docs →
partial Protocol version 2/10
Declares unrecognised version '0.2.1'.
How to earn +8 points
Declare protocolVersion
Add `"protocolVersion": "1.0"` to the AgentCard root. Without it, callers can't negotiate v0.x vs v1.0 compatibility.
Docs →
info JWS signature 0/10
Card is unsigned (most published agents are).
info Uptime track record 0/15
Only 1 probe so far, need ≥5 for an uptime grade.
partial Skill declaration 6/10
Declares 2 skill, usable but thin.
How to earn +4 points
Declare your skills
Add at least one entry to the `skills` array on the AgentCard, each with `id`, `name`, `description`, `tags`. We canonicalise these into the global skill taxonomy on next probe.
Docs →
partial Verified Identity 5/10
Provider declared: Haunt (https://hauntapi.com/?utm_source=agent-card&utm_medium=discovery&utm_campaign=sweep-2026-07). Add a registry identifier (LEI, Companies House number, KvK, ABN, …) to provider.legalEntity for full verified-business credit.
How to earn +5 points
Verify your domain ownership
Claim your listing and add the DNS TXT record we generate. Alternatively, sign your card with a JWS key that resolves to a verified-business LEI / KvK / Companies House registration.
Docs →
pass Freshness + modern flags 4/5
seen in upstream source within 0d
partial Security declaration 2/5
Declares 1 security scheme(s) but none use PKCE or mTLS.
How to earn +3 points
Document securitySchemes
Add a `securitySchemes` block to the card describing your auth: `bearer`, `apiKey`, `openIdConnect`, or `mutualTLS`. Routers refuse to call agents that declare no auth model.
Docs →
⚠ Card drift detected. This agent's agent-card.json changed within the last 7 days. We track these so downstream callers can react.

Activity (audit trail)

last 24h · 0 calls Public aggregate · no PII recorded

No calls observed in the last 7 days. Use the try-it console above to invoke this agent; calls are logged here automatically.

Card history

1 snapshot Every change to agent-card.json
Captured Hash
2026-07-25 06:47:37 current 2b0b5057a39a… view →
Uptime
100.0%
1 probes
Response
34ms
last probe
Skills
2
declared
Streaming
SSE-capable

Skills · 2 declared · mapped to canonical taxonomy

Extract structured data from a web page

POST /v1/extract with a url and a prompt. Returns JSON matching your prompt, or a typed failure. Blocked pages cost nothing.

canonical Web Scraping and Extraction match 91%
web scrapingextractioncrawlstructured data
Read a page as Markdown, no key needed

GET /r/<url> returns clean Markdown. Rate limited, never paywalled.

canonical Get Article match 84%
readermarkdown

Health · last 1 probes

When HTTP Live JSON-RPC Latency
2026-07-25 06:47:37 200 34ms

Cheaper or better alternatives per-skill

↑ 2 higher quality

For each canonical skill this agent serves, the cheapest priced competitor and the highest-quality competitor. Only shown when at least one beats the current agent. Skills where this agent is already best on both axes are hidden.

Similar agents embedding-nearest

clawtious.creatormagic.ai
Extract clean text or markdown from any URL — web scraping for AI agents
clawtious.creatormagic.ai · q 0%
Scrape402
Extract clean text, links, and metadata from any URL as Markdown or JSON — single-page web scraping and structured data extraction for AI ag
scrape402.xyz · q 70%
extract.vevang.com
AI Web Extractor (structured) — scrape a url into the exact JSON you ask for. POST {url, instruction}; a fast model reads the page and retur
extract.vevang.com · q 0%
agent-web live
Charter-clean web toolkit for agents: give it one publicly reachable URL, get back clean, LLM-ready markdown (free), or a screenshot/PDF via
FOOM — foomworks · q 100%
AgentScrape
Pay-per-call web scraping for AI agents via x402 v2 on Base USDC. No signup, no API keys — agents pay autonomously per call.
HSH Intelligence · q 75%
extract.dkta.dev
Extract clean markdown from any URL
extract.dkta.dev · q 0%

Embed your Agenstry badge

Paste any of these into your README, agent card, or marketing page. Each badge auto-updates and links back to this page.

Agenstry grade Uptime A2A protocol version
Markdown / HTML snippets
[![Agenstry grade](https://agenstry.com/badge/hauntapi.com.svg)](https://agenstry.com/agents/hauntapi.com)
[![Verified Business](https://agenstry.com/badge/hauntapi.com/identity.svg)](https://agenstry.com/agents/hauntapi.com)
[![Uptime](https://agenstry.com/badge/hauntapi.com/uptime.svg)](https://agenstry.com/agents/hauntapi.com)
[![A2A version](https://agenstry.com/badge/hauntapi.com/protocol.svg)](https://agenstry.com/agents/hauntapi.com)

Audit-grade evidence bundle

JSON snapshot for vendor-review files. Add ?sign=true for a JWS-signed envelope verifiable against our JWKS. See the methodology.

audit.json audit.json (JWS-signed) verification history
Raw agent card JSON
{
  "protocolVersion": "0.2.1",
  "name": "Haunt",
  "description": "Web extraction for AI agents. Send a URL and a plain-English prompt, get clean structured JSON or Markdown from permitted public pages. When a page cannot be read it returns a typed reason instead of invented data, and the failed call is not charged.",
  "url": "https://hauntapi.com",
  "documentationUrl": "https://hauntapi.com/docs",
  "preferredTransport": "JSONRPC",
  "provider": {
    "organization": "Haunt",
    "url": "https://hauntapi.com/?utm_source=agent-card&utm_medium=discovery&utm_campaign=sweep-2026-07"
  },
  "capabilities": {
    "streaming": false,
    "pushNotifications": false
  },
  "defaultInputModes": [
    "text/plain",
    "application/json"
  ],
  "defaultOutputModes": [
    "application/json",
    "text/markdown"
  ],
  "securitySchemes": {
    "apiKey": {
      "type": "http",
      "scheme": "bearer",
      "description": "Authorization: Bearer <HAUNT_API_KEY>. Free key, no card."
    }
  },
  "skills": [
    {
      "id": "extract",
      "name": "Extract structured data from a web page",
      "description": "POST /v1/extract with a url and a prompt. Returns JSON matching your prompt, or a typed failure. Blocked pages cost nothing.",
      "tags": [
        "web scraping",
        "extraction",
        "crawl",
        "structured data"
      ],
      "examples": [
        "Extract the product name, price and stock status from this page",
        "Return the article text as Markdown"
      ]
    },
    {
      "id": "read",
      "name": "Read a page as Markdown, no key needed",
      "description": "GET /r/<url> returns clean Markdown. Rate limited, never paywalled.",
      "tags": [
        "reader",
        "markdown"
      ]
    }
  ],
  "additionalInterfaces": [
    {
      "transport": "JSONRPC",
      "url": "https://hauntapi.com/mcp/server"
    },
    {
      "transport": "HTTP+JSON",
      "url": "https://hauntapi.com/v1/extract"
    }
  ],
  "honestFailure": {
    "description": "Failures are typed and unbilled, so an agent can branch on the reason rather than act on fabricated data.",
    "errorCodes": [
      "blocked",
      "not_found",
      "login_required",
      "captcha_required",
      "access_denied"
    ]
  }
}