clerk.com
clerk.com · Developer / Data APIs modeIntegrated
Last probed 2026-10-07 04:29 UTC · Verified (Partial)
clerk.com — The easiest way to add authentication and user management to your application. Purpose-built for React, Next.js, Remix, and “The Modern Web”.
Verdict: An agent can discover on its own. Activate and operate are only partly probed. Manage isn't probed yet.
- DiscoverEasy
- ActivateIncomplete
- OperateIncomplete
- ManageNot yet probed
Capability parity
Each stage answers one question about what an agent can do unattended. Stages are ordered by the credential-gateway dependency: Activate issues the keys that unlock Operate and Manage. A row marked “Not yet probed” means no probe has tried that capability yet — a different ledger from the “unassessed” properties under Findings, where no probe tier capable of catching that interrupt has run.
Discover
Can an agent find and read it, no account?
- Be found by a retrieval agentEasy
Retrieval access present.
Evidence
- Path tried
- robots.txt / sitemap / discovery headers
- Where it stalled
- completed
- Evidence tier
- Tier 2 (live attempt)
- Verification
- Evidence-only — graded from passive signal, not live-verified.
- Backing checks
retrieval_bot_access, sitemap_xml
- Read what it does and how to use itEasy
Machine-readable docs present.
Evidence
- Path tried
- llms.txt / AGENTS.md / schema.org / docs
- Where it stalled
- completed
- Evidence tier
- Tier 1 (unauth probe)
- Verification
- Evidence-only — graded from passive signal, not live-verified.
- Backing checks
llms_txt, llms_full_txt, markdown_content, schema_org_jsonld, content_signals
- Read pricing & limits without loginEasy
Public pricing or limits are visible without login.
Evidence
- Path tried
- homepage links / pricing / plans
- Where it stalled
- completed
- Evidence tier
- Tier 0 (passive scan)
- Verification
- Evidence-only — graded from passive signal, not live-verified.
- Backing checks
pricing_public
Activate
Can an agent sign up and walk away with the keys it needs?
Assessment incomplete - not yet probed: Obtain a management / admin key.
- Create an account self-serveEasy
Signup inspected — no blocker found.
Evidence
- Path tried
- signup flow
- Where it stalled
- completed
- Evidence tier
- Tier 1 (unauth probe)
- Verification
- Evidence-only — graded from passive signal, not live-verified.
- Obtain an API / MCP access credentialEasy
Self-serve credential path detected.
Evidence
- Path tried
- docs → key issuance
- Where it stalled
- completed
- Evidence tier
- Tier 1 (unauth probe)
- Verification
- Evidence-only — graded from passive signal, not live-verified.
- Backing checks
api_key_self_serve
- Obtain a management / admin keyNot yet probed
No scoped or administrative key path was confirmed after activation.
- Accept the terms without a bot-banEasy
No bot-prohibition signal found.
Evidence
- Path tried
- ToS / policy scan
- Where it stalled
- completed
- Evidence tier
- Tier 0 (passive scan)
- Verification
- Evidence-only — graded from passive signal, not live-verified.
Operate
Can an agent do the service's actual jobs — call, transact, pay?
Assessment incomplete - not yet probed: Pay via an agent rail (x402 / ACP / AP2).
- Call the primary service over MCP / APIEasy
Verified by a live call.
Evidence
- Path tried
- API / MCP / browser
- Where it stalled
- completed
- Evidence tier
- Tier 2 (live attempt)
- Verification
- Verified — a live attempt completed.
- Backing checks
openapi_spec, api_catalog
- Complete a transaction / checkoutNot applicable
Integrated tool — the API call is the transaction, no separate checkout.
- Pay via an agent rail (x402 / ACP / AP2)Not yet probed
No agent-payment metadata detected - payment rails not yet probed.
Manage
Can an agent administer the account and provision resources?
No probe has attempted this stage yet: Provision / scale / tear down a service; Change account details / set budget / rotate keys; View usage & billing; Cancel / export / delete (offboard).
- Provision / scale / tear down a serviceNot yet probed
Not probed - provisioning is not part of the probe suite yet.
- Change account details / set budget / rotate keysNot yet probed
Not probed - account admin is not part of the probe suite yet.
- View usage & billingNot yet probed
Authenticated usage and billing access was not confirmed.
- Cancel / export / delete (offboard)Not yet probed
No self-serve cancellation, export, or deletion path was confirmed.
Findings
How scoring works →Interrupt tier: Low-Interrupt — no interrupts found; interrupt score 81 / 100 — the badge-driving metric. (range 50–100 · 10 unassessed)
Every tool starts at 100. Each interrupt found subtracts a penalty of base weight × timing × hardness × evidence — the multiplier values below come from the same rubric tables the score is computed with. New snapshots also provisionally subtract 50% of the full worst-case tax for each unassessed property and 25% for evidence-graded successes not live-verified by Tier 2.
Property coverage
A check only counts as clean when a probe tier capable of detecting that interrupt actually ran and found nothing. Not tested ≠ clean.
| Property | Stage | State | Evidence | Required |
|---|---|---|---|---|
| Email OTP verification | activate | unassessed | Tier 1 (unauth probe) + Tier 2 (live attempt) ran but did not gather enough evidence to claim clean. Tier 1 assesses this property. | no |
| SMS / phone OTP verification | activate | unassessed | Tier 1 (unauth probe) + Tier 2 (live attempt) ran but did not gather enough evidence to claim clean. Tier 1 assesses this property. | no |
| Mandatory phone verification call | activate | unassessed | Tier 2 (live attempt) ran but did not gather enough evidence to claim clean. Tier 2 assesses this property. | no |
| Mailed physical code (postal) | activate | unassessed | Tier 2 (live attempt) ran but did not gather enough evidence to claim clean. Tier 2 assesses this property. | no |
| “Contact sales” wall (no self-serve path) | activate | unassessed | Tier 2 (live attempt) ran but did not gather enough evidence to claim clean. Tier 2 assesses this property. | no |
| Manual approval queue | activate | unassessed | Tier 2 (live attempt) ran but did not gather enough evidence to claim clean. Tier 2 assesses this property. | no |
| Rate-limit-triggered manual review | manage | unassessed | Tier 2 (live attempt) ran but did not gather enough evidence to claim clean. Tier 2 assesses this property. | no |
| One-time account / payment-method provisioning | manage | unassessed | Tier 2 (live attempt) ran but did not gather enough evidence to claim clean. Tier 2 assesses this property. | no |
| Identity / KYC verification | activate | unassessed | Tier 2 (live attempt) ran but did not gather enough evidence to claim clean. Tier 2 assesses this property. | no |
| Crypto wallet / key-custody setup | operate | unassessed | Tier 2 (live attempt) ran but did not gather enough evidence to claim clean. Tier 2 assesses this property. | no |
| CAPTCHA / bot-challenge | activate | success | None found — checked at Tier 0 (passive scan) + Tier 1 (unauth probe) + Tier 2 (live attempt) (evidence-graded; not yet live-verified by a Tier 2 probe) Tier 0 assesses this property. | no |
| ToS clause banning automated/bot access | discover | success | None found — checked at Tier 0 (passive scan) (evidence-graded; not yet live-verified by a Tier 2 probe) Tier 0 assesses this property. | no |
| Mandatory redirect to vendor’s own site | operate | success | None found — checked at Tier 1 (unauth probe) + Tier 2 (live attempt) (evidence-graded; not yet live-verified by a Tier 2 probe) Tier 1 assesses this property. | no |
| SSO-only signup, no API-key issuance | activate | success | None found — checked at Tier 1 (unauth probe) (evidence-graded; not yet live-verified by a Tier 2 probe) Tier 1 assesses this property. | no |
| No Machine Interface | operate | success | None found — checked at Tier 1 (unauth probe) (evidence-graded; not yet live-verified by a Tier 2 probe) Tier 1 assesses this property. | yes |
No interrupts found — no evidence penalties. Unassessed properties still contribute a provisional tax.
How we scored this
- Confidence: Verified (Partial) (0.75) — A live Tier-2 session ran but stopped early at a detected hard blocker — verified up to that point, unknown beyond it.
- Machine-Readability sub-score: 59 / 100 (a separate integration-ease signal — it never enters the Interrupt Score or badge).
- Some capability stages are not yet probed — shown plainly in the spine above, never as a pass.
- Rubric, tiers, confidence model, and badge thresholds →
Machine-readability checks 59 / 100
Four check groups, equal weight: machine interfaces, browsing efficiency, element discoverability, and discovery/agent access. Each check carries an evidence grade (proven / plausible / emerging) — an honesty label that never weights the score. What these mean →
- Management or admin key pathNot checked — not found after activation
- Authenticated usage and billing readNot checked — not found after activation
- Account offboarding pathNot checked — not found after activation
- llms.txtemergingFound — clerk.com/llms.txt (5.6 KB, 53 links)
- llms-full.txtemergingFound — clerk.com/llms-full.txt (5.6 KB, 53 links)
- AGENTS.mdemergingNot provided
- A2A agent cardemergingNot provided
- MCP server (well-known or official registry)plausibleNot provided
- OpenAPI/Swagger specplausibleFound — clerk.com/openapi.json
- Rate-limit headersplausibleNot provided
- Structured JSON error responsesplausibleNot checked — no error response was sampled during this probe
- OAuth authorization-server metadata (RFC 8414)provenNot provided
- API catalog (RFC 9727) (emerging)emergingFound — clerk.com/.well-known/api-catalog
- Agent-payment discovery (x402 / UCP) (emerging)emergingNot provided
- Lean HTML transfer sizeplausibleNot provided
- Manageable DOM sizeplausibleNot provided
- High content-to-markup densityplausibleNot provided
- Content readable without JS executionprovenraw HTML holds 90% of rendered text (11680 vs 13022 chars; threshold 40%)
- Clean-content alternate (RSS/Atom/feed/markdown)plausibleapplication/atom+xml, application/atom+xml
- Serves markdown on Accept: text/markdownplausiblereturned text/markdown; charset=utf-8
- Interactive elements are semanticplausible91/91 semantic (100%); 0 div/span click targets
- Form fields have accessible namesplausibleNot checked — no form fields on the representative page
- Inputs carry autocomplete hintsplausibleNot checked — no autocomplete-eligible inputs
- WebMCP tools (modelContext API)emergingNot provided
- AI retrieval/search fetchers allowed (robots.txt)provenno retrieval-fetcher blocks in robots.txt
- Sitemap (indexability)plausibleFound — clerk.com/sitemap.xml
- schema.org JSON-LD in raw HTMLplausible2 valid JSON-LD block(s) in raw (pre-JS) HTML
- Content-Signal directives (robots.txt)emergingsearch=yes, ai-input=yes, ai-train=yes
- Web Bot Auth key directory (emerging)emergingNot provided
- Discovery Link headers on homepage (emerging)emergingNot provided
- Pricing visible without loginFound — clerk.com/pricing
- robots.txt AI-crawler accessplausibleno AI-crawler blocks in robots.txt
- Unauthenticated API error is structured JSONplausibleFound — clerk.com/openapi.json (HTTP 200)
- Unauthenticated API returns auth guidance (401/403 or documented)plausibleFound — clerk.com/openapi.json (HTTP 200)
- API exposes rate-limit headersplausibleNot provided
- API key obtainable without human interactionplausibleOpenAPI spec published and signup is not SSO-only
Evidence & history
Last probed 2026-10-07 04:29 UTC. The raw JSON is the archival record.
| Date | Score | Badge | Rubric version |
|---|---|---|---|
| 2026-10-07 04:29 UTC | 81 | Low-Interrupt (current) | rubric v2026.4 |
| 2026-10-07 04:29 UTC | 81 | Low-Interrupt | rubric v2026.4 |
| 2026-09-07 01:59 UTC | 81 | Low-Interrupt | rubric v2026.4 |
| 2026-09-07 01:51 UTC | 81 | Low-Interrupt | rubric v2026.4 |
| 2026-08-10 00:40 UTC | 81 | Low-Interrupt | rubric v2026.4 |
| 2026-08-10 00:24 UTC | 81 | Low-Interrupt | rubric v2026.4 |
| 2026-08-09 23:53 UTC | 66 | Moderate-Interrupt | rubric v2026.4 |
| 2026-08-09 23:53 UTC | 81 | Low-Interrupt | rubric v2026.4 |
| 2026-08-09 23:53 UTC | 63 | Moderate-Interrupt | rubric v2026.4 |
| 2026-08-09 17:13 UTC | 63 | Moderate-Interrupt | rubric v2026.4 |
| 2026-08-09 05:29 UTC | 70 | Moderate-Interrupt | rubric v2026.3 |
| 2026-08-09 05:29 UTC | 88 | Low-Interrupt | rubric v2026.3 |
| 2026-08-09 03:14 UTC | 88 | Low-Interrupt | rubric v2026.3 |
| 2026-08-09 01:51 UTC | 88 | Low-Interrupt | rubric v2026.2 |
| 2026-08-09 01:45 UTC | 88 | Low-Interrupt | rubric v2026.2 |
| 2026-08-08 22:13 UTC | 100 | Low-Interrupt | rubric v2026.1 |
| 2026-08-08 22:12 UTC | 100 | Low-Interrupt | rubric v2026.1 |
Alternatives in Developer / Data APIs
Other Developer / Data APIs tools in the same mode (integrated), ranked by Overall LLM-Friendliness (the mean of Interrupt Score and Machine-Readability) — comparable to this listing because they share its usage mode.
- 84triageOverallOpenWeatherMap
openweathermap.org · Developer / Data APIsMR88 - 74triageOverallupstash.com
upstash.com · Developer / Data APIsMR67 - 72triageOverallsupabase.com
supabase.com · Developer / Data APIsMR63 - 71triageOveralltavily.com
tavily.com · Developer / Data APIsMR62 - 70Overallsentry.io
sentry.io · Developer / Data APIsMR67