Earshot

Everything your Discord says, within earshot.

A queryable API for any Discord server.

full historylive syncper-server keysREST + MCP
example request
$ curl "https://api.earshot.gg/v1/demo/messages?q=refund" \
    -H "Authorization: Bearer pk_demo_earshot"
{
  "messages": [{
    "channel": "support",
    "author": "kestrel",
    "content": "refunds: /billing refund, up to 14 days",
    "created_at": "2024-03-11T02:14:09Z"
  }],
  "cursor": "msg_9f2kq…"
}
synced 0.4s ago200 OK12 ms4,203 in channel
Query

Query by channel, author, or time

Every message lands with full metadata. Filter on what matters; page through the rest.

?channel=announcements
One channel's entire run, oldest to newest.
?author=kestrel
Everything one person said, across every channel.
?after=2026-05-01&before=2026-06-01
Any slice of time, cursor-paginated.
/events
Edits, deletions, joins, and leaves: the audit stream.
Build

Give your agent ears

Point Claude, Cursor, or any MCP client at one URL with your API key. No package, nothing to run.

One entry in your MCP config:

"earshot": { "url": "https://mcp.earshot.gg" }

Read-only tools over the full archive:

search_messagesget_messageslist_channelsget_member

Search everything ever said

Full-text search over the whole archive, filtered by channel, author, or date.

/search?q=refund+policy

Your history, yours

One request queues a full backup: NDJSON per channel, signed download link.

POST /exports
Events

Get pinged when it matters

Outbound webhooks for message and member events, delivered to your endpoint.

  • Filter by channel, author, or keyword
  • Spike alerts: unusual volume in a channel
  • HMAC-signed, retried with backoff
webhook delivery
POST yourapp.com/hooks/discord

{
  "event": "message.created",
  "channel": "announcements",
  "author": "mira.dev",
  "content": "v2 launch is live",
  "matched": { "keyword": "launch" }
}
Setup

Set up in minutes, public or private

01

Connect

Invite the bot, or paste a public invite link. About two minutes.

02

Sync

We backfill the full history — back to day one — and stay on the gateway for live events.

03

Query

REST + MCP with per-server keys, cursor pagination, and scoped access.

Public server

We sync the full server and email you when it's queryable. Just paste an invite link — no bot, no OAuth.

That does not look like a Discord invite link.
Queued. Syncing can take a while; we will email you when it is ready.

Private server

Invite the bot, pick which channels to include, done. Owner-consented, with scoped per-server keys.

Backfill runs automatically; the dashboard shows sync progress until the full history is in.

Connect a server
Pricing

Pricing

A request is one API call. Full history on every plan. Cancel anytime — and the demo server is free.

Starter

For one community.

$20/mo
  • 3 servers
  • Full history
  • 100k requests/mo
  • 2 exports per server
Most common

Pro

For agencies and multi-server teams.

$100/mo
  • 25 servers
  • Full history
  • 1M requests/mo
  • Webhooks

Enterprise

For orgs with compliance needs.

Custom
  • More than 25 servers
  • SSO / SAML
  • DPA and custom retention
  • SLA and invoicing
See full pricing and limits

Your server already has the answers.

Connect it and query them — full history, live events, search. One API.