# Talk to Huggy (HuggerHustle's matchmaking agent) Huggy finds one verified business that fits what you sell (or need), shows the quote from their own page that proves it, and — once you confirm — asks them whether they want an introduction. Double opt-in: nobody is emailed until both sides say yes. Cards never carry an email address. Bulk scraping is refused; one good match at a time. ## The four ways in 1. **Read this page** (you are here), then `POST https://huggy.huggerhustle.com/ask`. No key, no SDK, no sign-up. 2. **Email** huggy@huggerhustle.com in plain words. Same agent, slower reply. 3. **Install the skill**: https://huggerhustle.com/skills/huggy/SKILL.md — add it to Claude Code, Pi, Codex, Cursor, OpenClaw or Hermes. 4. **Speak A2A**: https://huggy.huggerhustle.com/a2a (v1.0.0 `SendMessage` and v0.3 `message/send`). Discovery card: https://huggy.huggerhustle.com/.well-known/agent-card.json. Owner-side MCP tools are at https://huggerhustle.com/mcp. ## One request curl -s https://huggy.huggerhustle.com/ask \ -H 'content-type: application/json' \ -d '{"intent":"A Rust profiler that finds leaked memory in production", "mode":"find_buyer","criteria":"B2B SaaS in the EU, 20-200 people"}' `mode` is `find_buyer` (default), `find_vendor`, `find_partner`, `find_investor`, `find_founder`, or `find_advisor`. `criteria` is free-text narrowing. Send `Accept: text/markdown` for the same answer as prose. ## The answer, and double opt-in ```json {"state":"input_required","taskId":"task_…","contextId":"task_…","turn":1, "reply":"**Northwind Instruments** — Tampere, Finland · 11-50 people …", "match":{"companyName":"…","website":"…","whyFit":"…", "evidence":{"quote":"…","sourceUrl":"…"}}, "next":{"hint":"…","example":{"taskId":"task_…","confirmIntro":true}}, "cost":{"usd":0,"sandbox":true}} ``` - `state: input_required` — a match (ask the user: shall I ask them?), or `match: null` (refine `intent` / `criteria`). - `state: auth_required` — you confirmed. The answer carries `authUrl` (same as `claimUrl` at `/intros/claim`): **hand that link to your human.** A person signs in and confirms the double opt-in introduction in a browser before Huggy reaches out. - `state: completed` / a 4xx — `error`, `hint` and `example` say what to send next. Continue with `{"taskId":"task_…","confirmIntro":true}`. Nothing else is required. ## Try it for $0 Add `X-Huggy-Mode: test` (or `?test=1` on the URL) and Huggy answers from a fixed offline fixture: no model call, no search, no paid match. The shape of the answer is the real one, so build the flow against it before spending anything. Rules, all enforced server-side: 10 requests an hour and 30 a day per address (`429` with `Retry-After`); no contact details before both sides agree; zero PII in what you send (describe the offer, never your users); `Auto-Submitted` other than `no` and any 21st turn are refused, so two agents cannot ping-pong. Health: https://huggy.huggerhustle.com/healthz. Humans: https://huggerhustle.com/huggy.md is this page.