API & MCP server
the whole archive, from your own code or agents — Pro plan
Everything below is authenticated with a personal API key, created on your profile page (Pro plan required). Send it on every request:
Authorization: Bearer cc_live_…
The full key is shown once, at creation. Rotating or revoking it on the profile page takes effect immediately.
GET /api/v1/search
curl "https://www.chatcorpus.com/api/v1/search?q=%22rate%20limit%22&dataset=wildchat&limit=5" \ -H "Authorization: Bearer cc_live_…"
Returns JSON: the matched messages (with full content, a snippet, and the reply that followed), plus nextOffset / isDone for paging.
qSearch terms — required. Same operators as the web UI: all words must match, “exact phrases” in quotes, -exclusions.datasetDataset slug, e.g. wildchat, lmsys, arena, oasst1, oasst2, hh-rlhf.model_familyNormalized model family, e.g. GPT-4 or Llama.roleuser or assistant — who wrote the matched message.languageConversation language, e.g. English.toxictrue to only show flagged content, false to hide it.limitMatches per page, 1–100. Default 20.offsetContinue a previous search from its reported nextOffset.GET /api/v1/conversation
Fetch a full transcript with ?key=<convKey> (as returned by search), or both sides of a preference pair with ?pairId=<id>.
curl "https://www.chatcorpus.com/api/v1/conversation?key=wildchat:abc123" \ -H "Authorization: Bearer cc_live_…"
The MCP server lets AI agents search the archive themselves. It speaks the streamable HTTP transport at /api/mcp and exposes two tools: search_chats and get_conversation.
Claude Code:
claude mcp add --transport http chatcorpus \ https://www.chatcorpus.com/api/mcp \ --header "Authorization: Bearer cc_live_…"
Any client that reads an mcpServers config:
{
"mcpServers": {
"chatcorpus": {
"type": "http",
"url": "https://www.chatcorpus.com/api/mcp",
"headers": { "Authorization": "Bearer cc_live_…" }
}
}
}