{"domain":"hauntapi.com","count":1,"changes":[{"captured_at":"2026-07-25T06:47:37","card_hash":"2b0b5057a39a9097fe4cc9a48316d2d5c053d0568f48120cb2f235eb781a3ad0","previous_card_hash":null,"diff":{"skills_added":[{"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"],"inputModes":null,"outputModes":null},{"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"],"inputModes":null,"outputModes":null}],"skills_removed":[],"skills_changed":[],"fields_changed":[{"field":"name","before":null,"after":"Haunt"},{"field":"description","before":null,"after":"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."},{"field":"protocolVersion","before":null,"after":"0.2.1"},{"field":"url","before":null,"after":"https://hauntapi.com"},{"field":"documentationUrl","before":null,"after":"https://hauntapi.com/docs"},{"field":"preferredTransport","before":null,"after":"JSONRPC"}],"other_changed":true,"is_empty":false,"human_summary":"added 2 skills · name ∅ → Haunt · description ∅ → Web extraction for AI agents. Send a URL · protocolVersion ∅ → 0.2.1 · url ∅ → https://hauntapi.com · documentationUrl ∅ → https://hauntapi.com/docs · preferredTransport ∅ → JSONRPC"}}]}