Social listening for AI agents

discatch watches public conversation and delivers the results to an agent. It is not an AI-visibility tool. It does not tell you whether ChatGPT mentioned your brand. It catches posts, comments, and threads from Hacker News, Discourse forums, GitHub, Stack Overflow, the web, and the news, scores them, and pushes them to your webhook, your Claude Code or Codex command, a Doozy todo (Doozy is dcouple’s agent-native todo app), or a GitHub dispatch. The agent decides what to do. The quote says the cost before anything runs.

One manifest
GET /v1/doctor returns everything you need to sign up and make a first call: the OpenAPI spec, the MCP server URL, the CLI, the llms.txt, the playbooks repo, a trial key endpoint, prices today, sources today, and two calls to try. An unknown route returns the same manifest instead of a 404, so a wrong URL still lands you here.
Keys without a human
POST /v1/keys/trial returns a key with a small allowance on free sources. No email, no card, rate-limited by IP and fingerprint. Enough to prove the product on your own brand. POST /v1/keys/claim attaches an email; the key keeps working and the allowance rises.
A quote you can reason about
Every endpoint that consumes units accepts dry_run: true and returns a ceiling with locked unit prices and a quote_id valid for 60 seconds. Lock the real call to the quote_id and the charge never exceeds the ceiling. Five units: search, capture, result, alert, classify. An agent can be told "you have $5 of discatch" and reason about it.
Errors you can act on
Every error is { code, message, next_action, docs_url, request_id }. next_action always includes the doctor link. 402 says the exact unit price that was refused and how to add funds. 429 says when to retry and what allowance would remove the limit. The agent acts on next_action without parsing the message.
Catches wake you
Register a catch: a query plus a destination plus an interval. When new matching discourse appears, discatch calls the destination with the results, the thread context, and a suggested action. Destinations: webhook (signed), Claude Code or Codex command, Doozy todo, GitHub dispatch, email, Slack. No polling. MCP is pull-only by spec; catches are why the agent does not have to poll.
llms.txt and MCP
llms.txt lists every page with a one-line summary. llms-full.txt concatenates them. .well-known/mcp.json and .well-known/openapi.json are at the standard paths. The remote MCP server with OAuth 2.1 and PKCE is planned for roadmap phase 3. Until it ships the REST API with a trial key is the surface. Both reach the same account once claimed.

Playbooks for you

Questions

Can I sign up without a human?

Yes. POST /v1/keys/trial returns a key with no email and no card, rate-limited by IP and fingerprint. The key has a small allowance on free sources, enough to prove the product on your own brand. POST /v1/keys/claim attaches an email and raises the allowance. The agent can hand the magic link to its human or, with mailbox access, follow the link itself.

Is there an MCP server?

Planned for roadmap phase 3, with OAuth 2.1 and PKCE at mcp.discatch.com. Until it ships the REST API with a trial key is the surface. Both reach the same account once claimed. Catches push independently of MCP because MCP is pull-only by spec.

How do I know what a call costs?

Send the same body with dry_run: true, or call POST /v1/quote. The response is a ceiling with locked unit prices, a breakdown by unit kind, and a quote_id valid for 60 seconds. Lock the real call to the quote_id and the charge never exceeds the ceiling. If the ceiling exceeds your remaining allowance or a budget_usd you set, the call is refused before anything runs.

What does one search cost?

A search unit is $0.002 base, plus $0.0005 per result returned. These are placeholder rates that will change when provider costs and terms are settled. The quote at call time is the real price and depends on sources requested, coverage depth, and which providers are available for the call. Free sources are cheaper than waterfall sources.

Can you delete my catches?

Yes. DELETE /v1/catches/{id} removes a catch immediately. You can also pause a catch with POST /v1/catches/{id}/pause and resume it later. Catches that fire nothing cost nothing, so a dormant catch is free to keep. But if you want it gone, delete it and nothing further is charged.

What is the difference between a search and a catch?

A search runs once and returns results now. A catch is a search that stands: it re-runs on an interval (5 minutes, 15 minutes, 1 hour, 6 hours, or 24 hours), compares to what it already delivered, and pushes only what is new. A search consumes search and result units. A catch consumes an alert unit per firing plus result units per item delivered.

Does discatch track mentions inside ChatGPT answers?

No. discatch delivers mentions from public online conversation: posts, comments, threads, and pages. It does not track whether ChatGPT, Gemini, or any other AI model mentions your brand in its answers. If you want that, you need an AI-visibility tool like Beamtrace or Cognizo. That is a neighboring category, not what discatch does.

What surfaces can I reach discatch from?

REST API with a Bearer key today: every endpoint documented in the API reference. The CLI is npx discatch doctor to orient and npx discatch search to try a query. The remote MCP server with OAuth is planned for roadmap phase 3. Every page on the site shows the exact curl and MCP tool call side by side.

What happens when my allowance runs out?

The next quote whose ceiling exceeds what remains is refused before anything runs. The 402 error carries the exact unit price that was refused, the remaining allowance, and a next_action that says how to add funds or narrow the query. discatch never truncates results and never overdraws. You set budget_usd on any call to cap it further.

What sources does discatch read?

Web, news, Hacker News, Discourse forums, Stack Overflow, and GitHub are the first set, roadmap phase 1b, which has not shipped yet; the doctor manifest’s sources_now list says what is live on any given day. Bluesky, Mastodon, YouTube, and Product Hunt are planned. Reddit, X, and LinkedIn are reserved until a cleared path exists. Indexed posts from those three networks arrive as web results with a domain field today.

Does discatch run my agent?

No. discatch does not run agents and does not ship a local runner. It calls out, and the thing it calls starts the agent. Destinations include a signed webhook, a Claude Code or Codex command, a Doozy todo, a GitHub dispatch, email, and Slack. The webhook payload carries the events, the cursor, and a suggested action.

Last reviewed by , founder, dcouple. Copy from docs/vision.md, docs/onboarding.md, docs/playbooks.md.