An ATS you can build on
A REST API with workspace-scoped keys and an OpenAPI spec, plus an MCP server so AI tools like Cursor and Claude Desktop can work with your hiring data.
Free during early access · No credit card
curl https://app.otter.diy/api/v1/jobs?status=open \ -H "Authorization: Bearer $OTTER_API_KEY" # 200 OK{ "data": { "items": [{ "code": "eng-001", "title": "Senior Backend Engineer", "status": "open" }], "next_cursor": null} }REST API
Jobs, candidates, applications, interviews and notes under /api/v1. List and create.
Scoped keys
Each key belongs to one workspace, is read-only or read & write, and is stored hashed — shown once.
MCP server
List jobs, search candidates and read or add notes from Cursor or Claude Desktop.
Documented with OpenAPI
The full spec is at app.otter.diy/api/v1/openapi.json, and the API reference in our docs is generated from it. Authenticate with a Bearer key from Settings → API keys.
- Base URL: https://app.otter.diy/api/v1
- Bearer otter_sk_… keys
- No tenant header needed — keys are bound to a workspace
curl -X POST https://app.otter.diy/api/v1/notes \ -H "Authorization: Bearer $OTTER_API_KEY" \ -H "Content-Type: application/json" \ -d '{"candidate_id": "…", "body": "Strong system design round"}' # 201 Created{ "data": { "id": "…", "visibility": "team" } }Bring Otter into your AI tools
The Otter MCP server exposes list_jobs, search_candidates, list_notes and create_note. It uses the REST API, so it follows the same keys and permissions.
{ "mcpServers": { "otter": { "command": "node", "args": ["path/to/otter/packages/mcp/dist/index.js"], "env": { "OTTER_API_KEY": "otter_sk_…" } } }} # tools: list_jobs · search_candidates · list_notes · create_noteWhat's not here yet
Outbound webhooks aren't available yet. If you need them, tell us on the public roadmap — it directly shapes what we build next.
Which plans include the API?
API access is part of the Growth and Scale plans. During early access every new workspace gets Growth free, so the API is available.
How are API keys stored?
Keys are hashed at rest and shown only once when you create them. Each key is bound to a single workspace and is either read-only or read & write.
Do you offer webhooks?
Not yet. Let us know on the roadmap if you need them.
Keep exploring
More of what Otter does
Your next great hire is already in your inbox
Connect an address, forward a resume, and watch it land in your pipeline — parsed.
Free during early access · No credit card