Skip to main content
Search Discord servers used by hacking communities, with rich per-message context. Each match returns the surrounding text, the author, the channel, and the server, so you can read a hit the way it appeared in the chat. This source is synchronous. One GET returns the matching messages in the same response.
Pin a search to one community by passing server_id or channel_id. List the servers and channels available to filter on with retrieve_discord_servers — set include_channels=true to expand each server’s channels:
Review prior searches with retrieve_discord_search_history:

Request parameters

create_discord_search takes these query parameters: retrieve_discord_servers takes skip (min 0, default 0), limit (1–1000, default 100), and include_channels (boolean, default false). retrieve_discord_search_history takes page (min 1, default 1) and page_size (min 1, default 20). Each search costs 0 credits. Rate limit: 1,000 requests/day, applied per endpoint.

What comes back

The search response is an object with results, total, and search_history_id. Each item in results carries the message and its context. Top-level fields:
  • results — array of matching messages.
  • total — total number of matches for the query.
  • search_history_id — id of this search in your history, or null if it was not saved.
Each result:
  • content — the full message text.
  • content_highlighted — the same text with the matched term marked up.
  • text_preview — a short preview of the message.
  • posted_at — when the message was posted.
  • edited_at — when it was last edited, or null.
  • is_pinned — whether the message is pinned in its channel.
  • author — the poster, as { name, id }.
  • channel — the channel it appeared in, as { name, id }.
  • server — the server it belongs to, as { name, id }.
  • context — the surrounding text, as { before, match, after, match_position }.
  • embeds — array of embed objects attached to the message.
retrieve_discord_servers returns total, skip, limit, and a servers array. Each server carries id, name, description, member_count, icon_url, discovered_at, and last_scraped_at; with include_channels=true it also carries a channels array, where each channel has id, name, type, and message_count. retrieve_discord_search_history returns total, page, page_size, and an items array, where each item has id, query, searched_at, and total_matches. When a hit lands, read the context to confirm the term is a real mention and not a coincidence, then pivot on author.id and server_id to map the actor and the community before tasking deeper collection.