Skip to content
Back to Haunt

Card snapshot

hauntapi.com · 2026-07-25 06:47:37 UTC · 2b0b5057a39a9097fe4cc9a48316d2d5c053d0568f48120cb2f235eb781a3ad0

This is a frozen copy of the agent's agent-card.json as we observed it at the timestamp above. We capture a new snapshot every time the card's content hash changes. Useful for: forensic drift analysis, verifying downstream callers see the right version, reproducing routing decisions made historically.

{
  "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"
    ]
  }
}