{
  "data": {
    "a": {
      "slug": "persona",
      "name": "Persona",
      "vendor": "Persona Identities, Inc.",
      "vendorUrl": "https://withpersona.com",
      "kind": "http-api",
      "category": "identity-verification",
      "summary": "Persona is an identity verification platform from Persona Identities, Inc. Its REST API and hosted MCP server create inquiries, run government ID, selfie, document and database verifications, screen people and businesses against watchlists, and manage review cases.",
      "url": "https://www.anchorterminal.com/tools/persona",
      "markdownUrl": "https://www.anchorterminal.com/tools/persona.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/persona.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/persona.json",
      "license": "Proprietary service under Persona's terms of service. The `persona` JavaScript client on npm is MIT",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://mcp.withpersona.com",
      "packages": [
        {
          "registry": "npm",
          "name": "persona"
        }
      ],
      "auth": "api-key",
      "authNotes": "Self-serve API key, sent as `Authorization: Bearer \u003ckey\u003e` to https://api.withpersona.com/api/v1. A browser sign-up with a business email gives a sandbox key (`persona_sandbox_...`) at once. A production key (`persona_production_...`) needs a plan and Persona's approval of the organisation. Each key can be limited to about 50 read and write permissions per resource, given its own rate limit and an IP allowlist, and expired through the dashboard or the API. A new key has every standard permission until someone limits it. The MCP server at https://mcp.withpersona.com takes the same key. Its help article says OAuth is coming and isn't available yet (checked 2026-10-08).",
      "pricing": "paid",
      "pricingNotes": "The Essential plan starts at $250 a month on a 12-month contract with 500 verifications or reports a month included, then $1.50 for each further one, per the help centre. Growth and Enterprise are priced through sales. A 60-day trial with no card gives sandbox access and up to 50 services, so an agent can build and test without a contract, but the sandbox performs no real verifications. A Startup Programme gives eligible small companies 500 free verifications a month for a year. The pricing page itself refused our reader (checked 2026-10-08).",
      "priceSummary": "$250 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the API docs, the OpenAPI file, the MCP tool list or the help centre's plan articles (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": 190,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 570188,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://docs.withpersona.com/getting-started",
      "llmsTxt": "https://docs.withpersona.com/llms.txt",
      "openapi": "https://docs.withpersona.com/openapi/api-reference.json",
      "capabilities": [
        "kyc.identity",
        "kyc.business",
        "kyc.documents",
        "kyc.screening",
        "kyc.cases"
      ],
      "tags": [
        "hosted",
        "paid",
        "sandbox",
        "api-key",
        "mcp",
        "openapi",
        "llms-txt",
        "webhooks",
        "json-api",
        "status-page",
        "soc2",
        "iso27001"
      ],
      "lastRelease": "2026-09-29",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 69.5,
        "grade": "B",
        "agentReady": false,
        "rank": 148,
        "ranked": true,
        "rankOf": 629,
        "categoryRank": 1,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 74,
          "maintenance": 75,
          "payments": 35,
          "reliability": 70,
          "schema": 85,
          "security": 73,
          "transparency": 68
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "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.",
        "bestFor": "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.",
        "strengths": [
          "Public OpenAPI 3.1 file with 231 operations and 141 webhook definitions, plus llms.txt and a Markdown copy of every docs page",
          "API keys take about 50 read and write permissions per resource, an IP allowlist, their own rate limit and an expiry endpoint",
          "`Idempotency-Key` on every POST, cursor pagination, and `fields` and `include` parameters that trim responses",
          "API logs kept for two weeks and user audit logs for six months, both readable through the API",
          "Dated API versions selected per key or per request with `Persona-Version`, and a changelog with an RSS feed"
        ],
        "weaknesses": [
          "Production access needs Persona's approval and a 12-month plan from $250 a month, and API-only integration is limited to Enterprise plans",
          "Eleven incidents on the status page since 10 July 2026, five marked partial outage, most on document and government ID verifications",
          "The MCP server lists all 190 tools whatever the key allows, with no annotations, toolsets or read-only subset, and OAuth isn't available yet",
          "No official server-side SDK was found. The npm, iOS, Android and React Native packages are clients for the end-user flow",
          "The marketing site, terms, privacy policy and pricing page answered our reader with a bot check, and no SLA was found in the docs or help centre"
        ],
        "agentNotes": [
          "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-Version` on every call and an `Idempotency-Key` on 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-Remaining` and `Quota-Remaining`, and back off on 429 because rejected requests still count",
          "Use `fields` and `include` to cut response size. Through MCP these parameters aren't exposed, and only 14 tools take `filter`"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 69.5
          }
        ],
        "editorialScores": {
          "ergonomics": 74,
          "maintenance": 75,
          "payments": 35,
          "reliability": 70,
          "schema": 85,
          "security": 73,
          "transparency": 46
        },
        "provenanceScore": 90
      },
      "connect": {
        "http": "curl --request POST \\\n     --url https://api.withpersona.com/api/v1/inquiries \\\n     --header 'Persona-Version: 2023-01-05' \\\n     --header 'accept: application/json' \\\n     --header 'authorization: Bearer persona_sandbox_YOURAPIKEY' \\\n     --header 'content-type: application/json' \\\n     --data '{\"data\":{\"attributes\":{\"inquiry-template-id\":\"itmpl_YOURTEMPLATEID\",\"fields\":{\"name-first\":\"Jane\",\"name-last\":\"Doe\",\"birthdate\":\"1994-04-12\"}}}}'"
      },
      "letme": {
        "capability": "https://letme.dev/kyc.identity",
        "tool": "https://letme.dev/persona"
      },
      "area": "domain-data",
      "unitPrices": [
        {
          "item": "Essential plan",
          "unit": "month",
          "usd": 250,
          "note": "12-month contract, 500 verifications or reports a month included, unused ones don't roll over"
        },
        {
          "item": "Additional verification or report on the Essential plan",
          "unit": "tx",
          "usd": 1.5,
          "note": "Each service beyond the 500 included a month"
        }
      ],
      "provenance": {
        "legalEntity": "Persona Identities, Inc.",
        "domain": "withpersona.com",
        "domainRegistered": "2018-09-24",
        "endpointOnVendorDomain": true,
        "terms": "https://withpersona.com/legal/terms-of-service",
        "privacy": "https://withpersona.com/legal/privacy-policy",
        "statusPage": "https://status.withpersona.com",
        "changelog": "https://docs.withpersona.com/api-reference/versioning/changelog",
        "securityTxt": "valid",
        "checked": "2026-10-08",
        "notes": [
          "The help centre footer reads \"2026 Persona Identities, Inc.\", and the `persona` npm package names Persona Identities, Inc. as author.",
          "The API answers at api.withpersona.com and the MCP server at mcp.withpersona.com, both withpersona.com subdomains.",
          "withpersona.com/.well-known/security.txt gives security@withpersona.com, an expiry of 17 February 2027 and a note that disclosure runs through Bugcrowd.",
          "The terms and privacy URLs are the ones the status page links to. Both pages, and the rest of withpersona.com, answered our reader with a bot check (HTTP 403), so their text wasn't read.",
          "RDAP for withpersona.com gives a registration date of 2018-09-24 and MarkMonitor Inc. as registrar."
        ],
        "score": 90
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/persona.json",
      "live": {
        "slug": "persona",
        "probe": {
          "target": "https://mcp.withpersona.com",
          "method": "get",
          "lastAt": "2026-10-08T18:20:37.279762245Z",
          "lastOk": true,
          "lastStatus": 405,
          "lastMs": 147,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 148,
          "p95ms24h": 430,
          "samples24h": 33,
          "samples30d": 33,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 33,
              "ok": 33
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.withpersona.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-08T17:51:06.208771544Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "persona",
            "version": "5.9.0",
            "seenAt": "2026-10-08T16:25:07.765894859Z"
          }
        ],
        "npmWeekly": 570188,
        "securityTxt": {
          "url": "https://withpersona.com/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-02-17T08:00:00.000Z",
          "checkedAt": "2026-10-08T15:39:00.840131962Z"
        },
        "pages": [
          {
            "url": "https://docs.withpersona.com/api-reference/versioning/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-08T18:19:46.701685957Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "6f0e8de3c16e"
          }
        ],
        "updatedAt": "2026-10-08T18:20:37.279762245Z"
      }
    },
    "answer": "Persona scores 69.5 (B) on agent readiness against Veriff's 61.1 (C), and leads in 6 of 7 scored categories. Veriff leads on payments \u0026 pricing.",
    "b": {
      "slug": "veriff",
      "name": "Veriff",
      "vendor": "Veriff OÜ",
      "vendorUrl": "https://www.veriff.com",
      "kind": "http-api",
      "category": "identity-verification",
      "summary": "Identity verification service from Veriff in Tallinn. It checks an identity document and a selfie, with liveness, database checks and PEP and sanctions screening. Sessions are created and read through the Public API v1, with results sent by webhook.",
      "url": "https://www.anchorterminal.com/tools/veriff",
      "markdownUrl": "https://www.anchorterminal.com/tools/veriff.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/veriff.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/veriff.json",
      "repo": "https://github.com/Veriff/veriff-js-sdk",
      "license": "Proprietary service. The npm capture SDKs are ISC (@veriff/js-sdk, @veriff/incontext-sdk) and MIT (@veriff/react-native-sdk)",
      "transports": [
        "http"
      ],
      "packages": [
        {
          "registry": "npm",
          "name": "@veriff/incontext-sdk"
        },
        {
          "registry": "npm",
          "name": "@veriff/js-sdk"
        },
        {
          "registry": "npm",
          "name": "@veriff/react-native-sdk"
        }
      ],
      "auth": "api-key",
      "authNotes": "Self-serve. Signing up for a Self-Serve plan creates a Customer Portal account with a test integration, and Enterprise accounts start from a sales form. Each integration has an API key, sent as `X-AUTH-CLIENT`, and up to five shared secret keys used to compute an HMAC-SHA256 `X-HMAC-SIGNATURE` (over the body on POST and PATCH, over the session ID on GET and DELETE). POST /v1/sessions needs only the API key. Secrets are shown once and can be rotated or deleted by an admin. There are no scopes. A live integration unlocks once the account holder passes Veriff's own identity verification.",
      "pricing": "usage",
      "pricingNotes": "Self-Serve is priced per verification with a monthly minimum. Essential is $0.80 ($49 a month minimum), Plus $1.39 ($99) and Premium $1.89 ($209). PEP and sanctions screening adds $0.64, ongoing monitoring $0.09 and two-year retention $0.30. A 15-day trial covers up to 50 sessions with no card, after the account holder completes identity verification. Test integrations are free and unbilled. Enterprise, suggested for 5,000 or more verifications a month, is priced by sales (https://www.veriff.com/plans/self-serve, checked 2026-10-08).",
      "priceSummary": "$0.80 / tx",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the developer docs index, the API guides or the pricing page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 32,
        "npmWeekly": 109625,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://devdocs.veriff.com",
      "llmsTxt": "https://devdocs.veriff.com/llms.txt",
      "openapi": "https://devdocs.veriff.com/apidocs/v1sessions.md",
      "capabilities": [
        "kyc.identity",
        "kyc.documents",
        "kyc.screening"
      ],
      "tags": [
        "hosted",
        "api-key",
        "hmac",
        "webhooks",
        "openapi",
        "llms-txt",
        "free-trial",
        "sandbox",
        "status-page",
        "bug-bounty",
        "soc2",
        "iso27001"
      ],
      "lastRelease": "2026-10-02",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 61.1,
        "grade": "C",
        "agentReady": false,
        "rank": 334,
        "ranked": true,
        "rankOf": 629,
        "categoryRank": 3,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 43,
          "maintenance": 74,
          "payments": 40,
          "reliability": 62,
          "schema": 82,
          "security": 63,
          "transparency": 67
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "Per-verification prices are public from $0.80, with a 15-day trial of 50 sessions and no card. Each endpoint page is Markdown with an OpenAPI 3.0 fragment. There is no server SDK, MCP server or idempotency key, most calls need an HMAC signature, and the status page shows nine incidents between 20 July and 7 October 2026.",
        "bestFor": "A team that needs document and selfie verification with public per-verification prices and a trial, and that can run a webhook receiver and HMAC signing.",
        "strengths": [
          "Public prices of $0.80, $1.39 and $1.89 a verification, with a 15-day trial of up to 50 sessions and no card",
          "llms.txt index and Markdown pages, each API endpoint with an OpenAPI 3.0.0 fragment, examples and error schemas",
          "Up to five shared secret keys per integration, shown once, with documented rotation and deletion",
          "Test integrations are created at signup, aren't billed, and let the developer force a decision",
          "ISO/IEC 27001:2022, SOC 2 Type II, Cyber Essentials and a bug bounty on Intigriti paying 50 to 6,000 euros"
        ],
        "weaknesses": [
          "No server-side SDK and no MCP server. Official packages cover only browser and mobile capture",
          "No idempotency key on POST /v1/sessions, and no Retry-After or backoff guidance for the documented 429",
          "Nine status-page incidents between 20 July and 7 October 2026, mostly delayed decisions in the US region",
          "No endpoint lists sessions and no pagination was found. Every read needs a stored session ID",
          "Session deletion by API is off by default and capped at 10 sessions in 24 hours",
          "No security.txt, and the sub-processor list sits on a help centre page that needs JavaScript"
        ],
        "agentNotes": [
          "Take the base URL from the integration's API keys page. Send X-AUTH-CLIENT on every call and store verification.id from POST /v1/sessions",
          "Sign POST and PATCH bodies, and the session ID on GET and DELETE, with HMAC-SHA256 in X-HMAC-SIGNATURE. POST /v1/sessions needs no signature",
          "Stay under 30 session creations a minute on Self-Serve, 600 on Enterprise. A 429 carries code 1004",
          "Don't blindly retry POST /v1/sessions. Each call makes a new session, which is billed on a live integration",
          "Poll GET /v1/sessions/{id}/decision until `verification` is not null, or accept webhooks within 5 seconds and treat duplicates as normal"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 61.1
          }
        ],
        "editorialScores": {
          "ergonomics": 43,
          "maintenance": 74,
          "payments": 40,
          "reliability": 62,
          "schema": 82,
          "security": 63,
          "transparency": 48
        },
        "provenanceScore": 85
      },
      "connect": {
        "http": "curl -X POST \"https://\u003cBaseURL\u003e/v1/sessions\" \\\n  -H 'Content-Type: application/json' \\\n  -H 'X-AUTH-CLIENT: API-KEY' \\\n  -d '{\"verification\": {}}'"
      },
      "letme": {
        "capability": "https://letme.dev/kyc.identity",
        "tool": "https://letme.dev/veriff"
      },
      "area": "domain-data",
      "unitPrices": [
        {
          "item": "Verification, Essential plan (automated decision)",
          "unit": "tx",
          "usd": 0.8,
          "note": "$49 a month minimum"
        },
        {
          "item": "Verification, Plus plan",
          "unit": "tx",
          "usd": 1.39,
          "note": "$99 a month minimum"
        },
        {
          "item": "Verification, Premium plan",
          "unit": "tx",
          "usd": 1.89,
          "note": "$209 a month minimum"
        },
        {
          "item": "PEP and sanctions screening add-on, per verification",
          "unit": "tx",
          "usd": 0.64,
          "note": "charged on top of the monthly minimum"
        },
        {
          "item": "Ongoing monitoring add-on, per verification",
          "unit": "tx",
          "usd": 0.09,
          "note": "charged on top of the monthly minimum"
        }
      ],
      "provenance": {
        "legalEntity": "Veriff OÜ",
        "domain": "veriff.com",
        "domainRegistered": "2006-04-12",
        "endpointOnVendorDomain": true,
        "terms": "https://www.veriff.com/terms-of-service",
        "privacy": "https://www.veriff.com/privacy-notice",
        "statusPage": "https://status.veriff.com",
        "changelog": "https://devdocs.veriff.com/docs/release-notes",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The privacy notice (valid from 30 July 2020, last updated 16 April 2026) names Veriff OÜ and Veriff Brazil Ltda. and gives the Estonian Data Protection Inspectorate as lead supervisory authority.",
          "www.veriff.com/terms-of-service answers 200 with the title Terms of Service but no terms text in the HTML we fetched, so the terms themselves weren't read.",
          "www.veriff.com/.well-known/security.txt and /security.txt return 404. Reports go to a bug bounty programme on Intigriti (https://www.veriff.com/bug-bounty).",
          "The API base URL is per integration and shown in the Customer Portal. Code samples in the docs use https://stationapi.veriff.com.",
          "RDAP for veriff.com gives a registration date of 2006-04-12, which predates the company.",
          "The sub-processor list is linked from the privacy notice to help.veriff.com, which returned only a JavaScript shell to our fetch."
        ],
        "score": 85
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/veriff.json",
      "live": {
        "slug": "veriff",
        "vendorStatus": {
          "page": "https://status.veriff.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-08T18:22:22.90272638Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "Veriff/veriff-js-sdk",
            "version": "v2.0.0",
            "released": "2025-09-09",
            "seenAt": "2026-10-08T16:34:12.058479178Z"
          },
          {
            "registry": "npm",
            "name": "@veriff/incontext-sdk",
            "version": "2.5.0",
            "seenAt": "2026-10-08T16:34:07.822049846Z"
          },
          {
            "registry": "npm",
            "name": "@veriff/js-sdk",
            "version": "2.0.0",
            "seenAt": "2026-10-08T16:34:08.944903091Z"
          },
          {
            "registry": "npm",
            "name": "@veriff/react-native-sdk",
            "version": "13.2.0",
            "seenAt": "2026-10-08T16:34:10.073325113Z"
          }
        ],
        "githubStars": 32,
        "npmWeekly": 109625,
        "securityTxt": {
          "url": "https://veriff.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-08T15:38:34.847122653Z"
        },
        "pages": [
          {
            "url": "https://devdocs.veriff.com/docs/release-notes",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-08T18:17:01.404186048Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "26520a9df2cc"
          }
        ],
        "updatedAt": "2026-10-08T18:22:22.90272638Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Persona Identities, Inc.",
        "b": "Veriff OÜ",
        "name": "Vendor"
      },
      {
        "a": "https://mcp.withpersona.com",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Paid",
        "b": "Pay per use",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under Persona's terms of service. The `persona` JavaScript client on npm is MIT",
        "b": "Proprietary service. The npm capture SDKs are ISC (@veriff/js-sdk, @veriff/incontext-sdk) and MIT (@veriff/react-native-sdk)",
        "name": "Licence"
      },
      {
        "a": "190",
        "b": "none",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-09-29",
        "b": "2026-10-02",
        "name": "Last release"
      },
      {
        "a": "couldn't be read",
        "b": "couldn't be read",
        "name": "Terms last updated"
      },
      {
        "a": "couldn't be read",
        "b": "2026-04-16",
        "name": "Privacy policy last updated"
      },
      {
        "a": "couldn't be read",
        "b": "yes",
        "name": "Customer content may train models"
      },
      {
        "a": "couldn't be read",
        "b": "couldn't be read",
        "name": "Terms restrict automated access"
      },
      {
        "a": "couldn't be read",
        "b": "couldn't be read",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "couldn't be read",
        "b": "couldn't be read",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "couldn't be read",
        "b": "couldn't be read",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "570k npm/wk",
        "b": "32 stars, 110k npm/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Persona scores 69.5 (B) on agent readiness against Veriff's 61.1 (C), and leads in 6 of 7 scored categories. Veriff leads on payments \u0026 pricing.",
        "question": "Which is better for AI agents, Persona or Veriff?"
      },
      {
        "answer": "Both need an API key.",
        "question": "Do Persona and Veriff need an API key?"
      },
      {
        "answer": "Persona has a hosted endpoint at https://mcp.withpersona.com. No hosted endpoint is listed for Veriff.",
        "question": "Can an agent call Persona and Veriff without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 70 against 62",
          "Agent ergonomics, 74 against 43",
          "Security \u0026 auth, 73 against 63"
        ],
        "also": [
          "A hosted endpoint, with nothing to install"
        ],
        "goodFor": "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.",
        "slug": "persona",
        "watchFor": "Production access needs Persona's approval and a 12-month plan from $250 a month, and API-only integration is limited to Enterprise plans"
      },
      {
        "aheadOn": [
          "Payments \u0026 pricing, 40 against 35"
        ],
        "also": null,
        "goodFor": "A team that needs document and selfie verification with public per-verification prices and a trial, and that can run a webhook receiver and HMAC signing.",
        "slug": "veriff",
        "watchFor": "No server-side SDK and no MCP server. Official packages cover only browser and mobile capture"
      }
    ],
    "job": {
      "capability": "kyc.identity",
      "name": "Kyc identity"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/jumio-vs-persona.json",
        "title": "Jumio vs Persona",
        "url": "https://www.anchorterminal.com/compare/jumio-vs-persona"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jumio-vs-veriff.json",
        "title": "Jumio vs Veriff",
        "url": "https://www.anchorterminal.com/compare/jumio-vs-veriff"
      },
      {
        "json": "https://www.anchorterminal.com/compare/middesk-vs-veriff.json",
        "title": "Middesk vs Veriff",
        "url": "https://www.anchorterminal.com/compare/middesk-vs-veriff"
      },
      {
        "json": "https://www.anchorterminal.com/compare/persona-vs-sumsub.json",
        "title": "Persona vs Sumsub",
        "url": "https://www.anchorterminal.com/compare/persona-vs-sumsub"
      },
      {
        "json": "https://www.anchorterminal.com/compare/persona-vs-trulioo.json",
        "title": "Persona vs Trulioo",
        "url": "https://www.anchorterminal.com/compare/persona-vs-trulioo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/sumsub-vs-veriff.json",
        "title": "Sumsub vs Veriff",
        "url": "https://www.anchorterminal.com/compare/sumsub-vs-veriff"
      },
      {
        "json": "https://www.anchorterminal.com/compare/trulioo-vs-veriff.json",
        "title": "Trulioo vs Veriff",
        "url": "https://www.anchorterminal.com/compare/trulioo-vs-veriff"
      },
      {
        "json": "https://www.anchorterminal.com/compare/middesk-vs-persona.json",
        "title": "Middesk vs Persona",
        "url": "https://www.anchorterminal.com/compare/middesk-vs-persona"
      }
    ],
    "scores": [
      {
        "by": 8,
        "edge": "persona",
        "key": "reliability",
        "name": "Reliability",
        "persona": 70,
        "veriff": 62,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 3,
        "edge": "persona",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "persona": 85,
        "veriff": 82,
        "weight": 13
      },
      {
        "by": 31,
        "edge": "persona",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "persona": 74,
        "veriff": 43,
        "weight": 13
      },
      {
        "by": 10,
        "edge": "persona",
        "key": "security",
        "name": "Security \u0026 auth",
        "persona": 73,
        "veriff": 63,
        "weight": 14
      },
      {
        "by": 5,
        "edge": "veriff",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "persona": 35,
        "veriff": 40,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 1,
        "edge": "persona",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "persona": 75,
        "veriff": 74,
        "weight": 7
      },
      {
        "by": 1,
        "edge": "persona",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "persona": 68,
        "veriff": 67,
        "weight": 7
      }
    ],
    "summary": "Persona scores 69.5 (B) on agent readiness against Veriff's 61.1 (C), and leads in 6 of 7 scored categories. Veriff leads on payments \u0026 pricing. Both do kyc identity.",
    "verdicts": {
      "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.",
      "veriff": "Per-verification prices are public from $0.80, with a 15-day trial of 50 sessions and no card. Each endpoint page is Markdown with an OpenAPI 3.0 fragment. There is no server SDK, MCP server or idempotency key, most calls need an HMAC signature, and the status page shows nine incidents between 20 July and 7 October 2026."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/persona-vs-veriff",
    "json": "https://www.anchorterminal.com/compare/persona-vs-veriff.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/persona-vs-veriff.md",
    "slim": "https://www.anchorterminal.com/compare/persona-vs-veriff.min.md"
  },
  "markdown": "Persona scores 69.5 (B) on agent readiness against Veriff's 61.1 (C), and leads in 6 of 7 scored categories. Veriff leads on payments \u0026 pricing. Both do kyc identity.\n\n- Persona: grade B, 69.5/100, rank #148 of 629. Markdown https://www.anchorterminal.com/tools/persona.md · JSON https://www.anchorterminal.com/api/v1/tools/persona.json\n- Veriff: grade C, 61.1/100, rank #334 of 629. Markdown https://www.anchorterminal.com/tools/veriff.md · JSON https://www.anchorterminal.com/api/v1/tools/veriff.json\n\n## Which one, for what\n\n### Persona (B)\n\nGood 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.\n\nAhead on:\n- Reliability, 70 against 62\n- Agent ergonomics, 74 against 43\n- Security \u0026 auth, 73 against 63\n\nAlso in its favour:\n- A hosted endpoint, with nothing to install\n\nWatch 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\n\n### Veriff (C)\n\nGood for: A team that needs document and selfie verification with public per-verification prices and a trial, and that can run a webhook receiver and HMAC signing.\n\nAhead on:\n- Payments \u0026 pricing, 40 against 35\n\nWatch for: No server-side SDK and no MCP server. Official packages cover only browser and mobile capture\n\n\n## Score by category\n\n| Category | Weight | Persona | Veriff | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 70 | 62 | Persona +8 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 85 | 82 | Persona +3 |\n| Agent ergonomics | 13% (16.2 this run) | 74 | 43 | Persona +31 |\n| Security \u0026 auth | 14% (17.5 this run) | 73 | 63 | Persona +10 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 35 | 40 | Veriff +5 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 75 | 74 | Persona +1 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 68 | 67 | Persona +1 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **69.5 · B** | **61.1 · C** | |\n\n## Facts side by side\n\n| Fact | Persona | Veriff |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Persona Identities, Inc. | Veriff OÜ |\n| Hosted endpoint | `https://mcp.withpersona.com` | no (local only) |\n| Transports | HTTP | HTTP |\n| Auth | API key | API key |\n| Pricing | Paid | Pay per use |\n| x402 | no | no |\n| Licence | Proprietary service under Persona's terms of service. The `persona` JavaScript client on npm is MIT | Proprietary service. The npm capture SDKs are ISC (@veriff/js-sdk, @veriff/incontext-sdk) and MIT (@veriff/react-native-sdk) |\n| Tools exposed | 190 | none |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-09-29 | 2026-10-02 |\n| Terms last updated | couldn't be read | couldn't be read |\n| Privacy policy last updated | couldn't be read | 2026-04-16 |\n| Customer content may train models | couldn't be read | yes |\n| Terms restrict automated access | couldn't be read | couldn't be read |\n| Terms restrict benchmarking | couldn't be read | couldn't be read |\n| Terms or service can change without notice | couldn't be read | couldn't be read |\n| Arbitration or class-action waiver | couldn't be read | couldn't be read |\n| Popularity | 570k npm/wk | 32 stars, 110k npm/wk |\n\n## Verdicts\n\n**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.\n\n**Veriff.** Per-verification prices are public from $0.80, with a 15-day trial of 50 sessions and no card. Each endpoint page is Markdown with an OpenAPI 3.0 fragment. There is no server SDK, MCP server or idempotency key, most calls need an HMAC signature, and the status page shows nine incidents between 20 July and 7 October 2026.\n\n## Before you call either\n\n### Persona\n\n1. Ask for a dedicated key limited to the permissions the task needs. A new key has every standard permission until it's limited\n2. Send `Persona-Version` on every call and an `Idempotency-Key` on every POST. A replayed key returns the first result, including a 500\n3. Treat redact calls as irreversible. They permanently delete personal data and cascade to downstream objects\n4. Stay under 300 requests a minute in production, read `RateLimit-Remaining` and `Quota-Remaining`, and back off on 429 because rejected requests still count\n5. Use `fields` and `include` to cut response size. Through MCP these parameters aren't exposed, and only 14 tools take `filter`\n\n### Veriff\n\n1. Take the base URL from the integration's API keys page. Send X-AUTH-CLIENT on every call and store verification.id from POST /v1/sessions\n2. Sign POST and PATCH bodies, and the session ID on GET and DELETE, with HMAC-SHA256 in X-HMAC-SIGNATURE. POST /v1/sessions needs no signature\n3. Stay under 30 session creations a minute on Self-Serve, 600 on Enterprise. A 429 carries code 1004\n4. Don't blindly retry POST /v1/sessions. Each call makes a new session, which is billed on a live integration\n5. Poll GET /v1/sessions/{id}/decision until `verification` is not null, or accept webhooks within 5 seconds and treat duplicates as normal\n\n## Questions\n\n### Which is better for AI agents, Persona or Veriff?\n\nPersona scores 69.5 (B) on agent readiness against Veriff's 61.1 (C), and leads in 6 of 7 scored categories. Veriff leads on payments \u0026 pricing.\n\n### Do Persona and Veriff need an API key?\n\nBoth need an API key.\n\n### Can an agent call Persona and Veriff without installing anything?\n\nPersona has a hosted endpoint at https://mcp.withpersona.com. No hosted endpoint is listed for Veriff.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/persona-vs-veriff.json, and with the fewest tokens: https://www.anchorterminal.com/compare/persona-vs-veriff.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"persona\", \"b\": \"veriff\"}`. From a terminal: `anchor compare persona veriff`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/persona.json and https://www.anchorterminal.com/api/v1/tools/veriff.json\n\n## Other comparisons with Persona or Veriff\n\n- [Jumio vs Persona](https://www.anchorterminal.com/compare/jumio-vs-persona.md)\n- [Jumio vs Veriff](https://www.anchorterminal.com/compare/jumio-vs-veriff.md)\n- [Middesk vs Veriff](https://www.anchorterminal.com/compare/middesk-vs-veriff.md)\n- [Persona vs Sumsub](https://www.anchorterminal.com/compare/persona-vs-sumsub.md)\n- [Persona vs Trulioo](https://www.anchorterminal.com/compare/persona-vs-trulioo.md)\n- [Sumsub vs Veriff](https://www.anchorterminal.com/compare/sumsub-vs-veriff.md)\n- [Trulioo vs Veriff](https://www.anchorterminal.com/compare/trulioo-vs-veriff.md)\n- [Middesk vs Persona](https://www.anchorterminal.com/compare/middesk-vs-persona.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-08",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Persona vs Veriff",
        "url": ""
      }
    ],
    "description": "Persona scores 69.5 (B) on agent readiness against Veriff's 61.1 (C), and leads in 6 of 7 scored categories. Veriff leads on payments \u0026 pricing. Both do kyc identity. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Persona B 69.5",
      "Veriff C 61.1",
      "scores"
    ],
    "h1": "Persona vs Veriff",
    "image": "https://www.anchorterminal.com/assets/og/compare-persona-vs-veriff.png",
    "path": "/compare/persona-vs-veriff",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Persona vs Veriff for AI agents, B 69.5 vs C 61.1 | Anchor Terminal",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/compare/persona-vs-veriff"
  },
  "tokens": {
    "markdown": 2000,
    "slim": 630
  },
  "version": 1
}
