Developers
usedocs developer portal
API keys, the Answer API, OpenAPI, the usedocs MCP server, rate limits, webhooks, and a sandbox — so agents and integrators can call cited docs answers without scraping HTML.
Quickstart
- Sign in at the dashboard (Google, GitHub, or magic link). Free plan: 100 messages/month, no credit card.
- Create a bot, crawl a docs URL or upload files, and open Settings → Embed.
- Copy
botIdand the publicbotKey. Those are your API keys for the widget, Answer API, and MCP tools. - Call
POST /chator connect an agent to https://usedocs.app/mcp.
API keys
usedocs does not issue a separate bearer token for the public Answer API. The embed credentials are the API keys:
- botId — UUID of the bot (path and JSON body).
- botKey — public key from Settings → Embed. Send it in the JSON body as
botKey. - Browser calls also need an
Originheader on an allowed origin. Server-to-server MCP and Answer API calls authenticate with botKey; send Origin when the bot has allowed origins configured. - Dashboard management routes (
/api/bots/…) use the signed-in session cookie, not botKey.
usedocs OpenAPI specification
The machine-readable spec is published at https://usedocs.app/openapi.json. Every public operation has a unique operationId, typed parameters, and JSON error schemas so LLM function-calling can import the file directly. There is no GraphQL surface; use this OpenAPI document instead of introspection.
Answer API
Same retrieval pipeline as the widget. Guide: Answer API.
curl -sS -X POST 'https://usedocs.app/chat' \
-H 'content-type: application/json' \
-d '{
"botId": "YOUR_BOT_ID",
"botKey": "YOUR_PUBLIC_BOT_KEY",
"question": "How do I get started?",
"visitor": "ticket-system"
}'
Errors are JSON objects with error, code, message, and hint — never HTML error pages on API paths.
usedocs MCP server
The usedocs MCP server speaks Streamable HTTP JSON-RPC at https://usedocs.app/mcp. Discovery: /.well-known/mcp.json.
Tools: ask_docs, search_docs, get_bot_config. Pass botId and botKey in each tool's arguments. Example Cursor / Claude config:
{
"mcpServers": {
"usedocs": {
"url": "https://usedocs.app/mcp"
}
}
}
Rate limits
Public chat: 30 requests per 60 seconds per visitor (policy widget-chat). Free SEO tools have separate hourly limits. Responses include RFC 9237 RateLimit and RateLimit-Policy headers. HTTP 429 also sends Retry-After. Honor those headers instead of guessing backoff.
Webhooks
Escalations and leads can POST to your HTTPS endpoint. Setup: webhook integration. GitHub product webhooks use /api/integrations/github/webhook with signature verification.
Sandbox
Try the cited widget without an account: live demo. For API calls, create a Free bot and point it at a public docs URL. Markdown negotiation: curl -H 'Accept: text/markdown' https://usedocs.app/developers returns this page as Markdown with Vary: Accept.