Head to head · Kyc identity · October 2026 research run
Didit vs Persona
Didit scores 75 (BB) on agent readiness against Persona's 69.5 (B), and leads in 5 of 7 scored categories. Persona leads on agent ergonomics and transparency & trust. Both do kyc identity.
Which one, for what
Didit BB
Good for A team that wants document, liveness, screening and business registry checks from one API with public prices and no sales step, and an agent that has to set itself up.
Ahead on
- Reliability, 80 against 70
- Payments & pricing, 60 against 35
- Maintenance & community, 82 against 75
Also in its favour
- Agent-ready, a grade of BB or better
- Runs on your own machine
- Free to start without a card
Watch for
Three incidents marked major on status.didit.me from 22 July to 4 September 2026, each a partial outage of the core APIs traced to the primary database
Persona B
Good for A company that already runs Persona and wants an agent to create inquiries from templates, read verification and report results, screen against watchlists and work review cases with a permission-limited key.
Ahead on
- Agent ergonomics, 74 against 69
- Transparency & trust, 68 against 63
Watch for
Production access needs Persona's approval and a 12-month plan from $250 a month, and API-only integration is limited to Enterprise plans
Score by category
| Category | Weight this run | Didit | Persona | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 80 | 70 | Didit +10 |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 88 | 85 | Didit +3 |
| Agent ergonomics | 13%16.2 | 69 | 74 | Persona +5 |
| Security & auth | 14%17.5 | 76 | 73 | Didit +3 |
| Payments & pricing | 10%12.5 | 60 | 35 | Didit +25 |
| Task success | 10%pending | pending | pending | not scored in this run |
| Maintenance & community | 7%8.8 | 82 | 75 | Didit +7 |
| Transparency & trust | 7%8.8 | 63 | 68 | Persona +5 |
| Negative events | ≤15 | 0 | 0 | |
| Total | 75 · BB | 69.5 · B |
Facts side by side
| Fact | Didit | Persona |
|---|---|---|
| Kind | HTTP API | HTTP API |
| Vendor | Didit Identity Spain, S.L. | Persona Identities, Inc. |
| Hosted endpoint | https://verification.didit.me | https://mcp.withpersona.com |
| Transports | HTTP, Streamable HTTP, stdio | HTTP |
| Auth | OAuth or key | API key |
| Pricing | Pay per use | Paid |
| x402 | no | no |
| Licence | Proprietary service under Didit's Business Terms and Conditions. The MCP server in didit-protocol/mcp is MIT | Proprietary service under Persona's terms of service. The persona JavaScript client on npm is MIT |
| Tools exposed | 156 | 190 |
| Read-only variant documented | no | no |
| llms.txt | yes | yes |
| MCP registry | me.didit/mcp | not listed |
| Last release | 2026-10-08 | 2026-09-29 |
| Terms last updated | 2026-09-23 | couldn't be read |
| Privacy policy last updated | 2026-10-07 | couldn't be read |
| Customer content may train models | yes, with an opt-out | couldn't be read |
| Terms restrict automated access | not found in the text | couldn't be read |
| Terms restrict benchmarking | yes | couldn't be read |
| Terms or service can change without notice | not found in the text | couldn't be read |
| Arbitration or class-action waiver | not found in the text | couldn't be read |
| Popularity | 0 stars, 27k npm/wk | 570k npm/wk |
Verdicts
Didit
A self-serve verification API with public per-check prices, key registration by API, scoped keys and a 365-day audit log. The status page shows three incidents marked major between 22 July and 4 September 2026, each a partial outage of the core APIs, and the sub-processor list isn't public.
Persona
The REST API has a public OpenAPI 3.1 file, llms.txt, API keys with per-resource permissions, idempotency keys on every POST and a 60-day sandbox trial with no card. Production needs a business review and a 12-month plan from $250 a month. The status page lists 11 incidents since 10 July 2026, including 70 minutes of timeouts across all products.
Before you call either
Didit
- Register with
POST https://apx.didit.me/auth/v2/programmatic/register/, thenverify-emailwith the emailed 6-character code. Use a real inbox, because reserved test domains return 500. - Send the key as
x-api-keytohttps://verification.didit.me/v3/. The JWT from registration works only onapx.didit.me. - Create a workflow before
POST /v3/session/.workflow_idis the only required field, and an unfinished session with the samevendor_datais returned again. - Read results from webhooks and use
GET /v3/session/{sessionId}/decision/for back-fill. Every per-feature result is a plural array. - The MCP server at
https://mcp.didit.me/mcptakes OAuth sign-in only, never an API key. Approvedidit:verificationalone when the task doesn't change workflows or keys.
Persona
- Ask for a dedicated key limited to the permissions the task needs. A new key has every standard permission until it's limited
- Send
Persona-Versionon every call and anIdempotency-Keyon every POST. A replayed key returns the first result, including a 500 - Treat redact calls as irreversible. They permanently delete personal data and cascade to downstream objects
- Stay under 300 requests a minute in production, read
RateLimit-RemainingandQuota-Remaining, and back off on 429 because rejected requests still count - Use
fieldsandincludeto cut response size. Through MCP these parameters aren't exposed, and only 14 tools takefilter
Questions
Which is better for AI agents, Didit or Persona?
Didit scores 75 (BB) on agent readiness against Persona's 69.5 (B), and leads in 5 of 7 scored categories. Persona leads on agent ergonomics and transparency & trust.
Do Didit and Persona need an API key?
Didit takes an API key or an OAuth sign-in. Persona needs an API key.
Can an agent call Didit and Persona without installing anything?
Yes. Didit has a hosted endpoint at https://verification.didit.me and Persona at https://mcp.withpersona.com.
Other comparisons with Didit or Persona
Machine-readable
- This page as Markdown
/compare/didit-vs-persona.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/didit.json·/api/v1/tools/persona.json - From a terminal
anchor compare didit persona(the CLI) - Over MCP
compare_tools {"a": "didit", "b": "persona"}at/mcp, no key