{"slug":"porkbun","name":"Porkbun","domain":"porkbun.com","category":{"slug":"saas-api","name":"General SaaS APIs"},"usageMode":"integrated","score":33,"scoreLow":2,"scoreHigh":52,"unassessed":["phone_verification_call","mailed_physical_code","contact_sales_wall","manual_approval_queue","rate_limit_manual_review","account_payment_provisioning","kyc_identity_verification","crypto_wallet_custody_setup"],"propertyStates":{"sms_otp":"failed","email_otp":"failed","tos_bot_ban":"success","captcha_challenge":"failed","contact_sales_wall":"unassessed","sso_only_no_api_key":"partial","mailed_physical_code":"unassessed","no_machine_interface":"failed","manual_approval_queue":"unassessed","phone_verification_call":"unassessed","redirect_to_vendor_site":"success","rate_limit_manual_review":"unassessed","kyc_identity_verification":"unassessed","crypto_wallet_custody_setup":"unassessed","account_payment_provisioning":"unassessed"},"badge":"HIGH_INTERRUPT","machineReadabilityScore":45.14,"compositeScore":39,"custodyRiskFlag":"unknown","confidenceLabel":"PROVISIONAL","lastProbedAt":"2026-08-09T23:49:54.543Z","status":"active","homepageUrl":"https://porkbun.com","description":"Domain registrar with self-serve API access","machineReadabilityBreakdown":[{"id":"llms_txt","label":"llms.txt","status":"pass","evidence":"https://porkbun.com/llms.txt (16.6 KB, 0 links; stub)"},{"id":"llms_full_txt","label":"llms-full.txt","status":"pass","evidence":"https://porkbun.com/llms-full.txt (126.0 KB, 6 links)"},{"id":"agents_md","label":"AGENTS.md","status":"fail"},{"id":"agent_card","label":"A2A agent card","status":"fail"},{"id":"mcp_server","label":"MCP server (well-known or official registry)","status":"fail","evidence":"no /.well-known/mcp.json and no match in the official MCP registry"},{"id":"openapi_spec","label":"OpenAPI/Swagger spec","status":"fail"},{"id":"rate_limit_headers","label":"Rate-limit headers","status":"fail"},{"id":"structured_errors","label":"Structured JSON error responses","status":"fail","evidence":"sampled 10 error response(s); none returned structured JSON"},{"id":"oauth_metadata","label":"OAuth authorization-server metadata (RFC 8414)","status":"fail"},{"id":"api_catalog","label":"API catalog (RFC 9727) (emerging)","status":"fail"},{"id":"payment_protocol","label":"Agent-payment discovery (x402 / UCP) (emerging)","status":"fail"},{"id":"page_byte_weight","label":"Lean HTML transfer size","status":"pass","evidence":"117 KB raw HTML (threshold 488 KB)"},{"id":"dom_node_count","label":"Manageable DOM size","status":"pass","evidence":"1484 DOM nodes (threshold 1500)"},{"id":"content_density","label":"High content-to-markup density","status":"pass","evidence":"9.0% text/HTML (10733 chars in 117 KB, threshold 2%)"},{"id":"js_dependence","label":"Content readable without JS execution","status":"pass","evidence":"raw HTML holds 217% of rendered text (10733 vs 4955 chars; threshold 40%)"},{"id":"clean_content_path","label":"Clean-content alternate (RSS/Atom/feed/markdown)","status":"pass","evidence":"text/markdown"},{"id":"markdown_content","label":"Serves markdown on Accept: text/markdown","status":"fail","evidence":"returned text/html; charset=UTF-8 (not markdown)"},{"id":"semantic_interactive","label":"Interactive elements are semantic","status":"fail","evidence":"160/163 semantic (98%); 3 div/span click targets"},{"id":"form_field_names","label":"Form fields have accessible names","status":"pass","evidence":"9/10 named (90%)"},{"id":"input_autocomplete","label":"Inputs carry autocomplete hints","status":"fail","evidence":"0/4 with autocomplete (0%)"},{"id":"webmcp","label":"WebMCP tools (modelContext API)","status":"fail","evidence":"no document/navigator.modelContext tool registration observed"},{"id":"retrieval_bot_access","label":"AI retrieval/search fetchers allowed (robots.txt)","status":"pass","evidence":"no retrieval-fetcher blocks in robots.txt"},{"id":"sitemap_xml","label":"Sitemap (indexability)","status":"fail","evidence":"no robots.txt Sitemap: directive and no /sitemap.xml"},{"id":"schema_org_jsonld","label":"schema.org JSON-LD in raw HTML","status":"pass","evidence":"1 valid JSON-LD block(s) in raw (pre-JS) HTML"},{"id":"content_signals","label":"Content-Signal directives (robots.txt)","status":"fail","evidence":"no Content-Signal lines in robots.txt"},{"id":"web_bot_auth","label":"Web Bot Auth key directory (emerging)","status":"fail"},{"id":"link_header_discovery","label":"Discovery Link headers on homepage (emerging)","status":"fail","evidence":"no Link header on the homepage response"},{"id":"robots_ai_crawlers","label":"robots.txt AI-crawler access","status":"pass","evidence":"no AI-crawler blocks in robots.txt"},{"id":"unauthed_api_error_shape","label":"Unauthenticated API error is structured JSON","status":"fail","evidence":"https://api.porkbun.com/ (HTTP 404)"},{"id":"unauthed_api_auth_guidance","label":"Unauthenticated API returns auth guidance (401/403 or documented)","status":"fail","evidence":"https://api.porkbun.com/ (HTTP 404)"},{"id":"unauthed_api_rate_limit","label":"API exposes rate-limit headers","status":"fail","evidence":"no RateLimit-* / X-RateLimit-* headers on the sampled response"},{"id":"api_key_self_serve","label":"API key obtainable without human interaction","status":"not_checked","evidence":"no OpenAPI spec found; self-serve API-key path indeterminate from Tier 1"}],"confidence":0.55,"rubricVersion":"rubric@2026.4","tiersTested":{"tier0":true,"tier1":true,"tier2":false,"tier2Complete":false},"flags":{"tosBan":false,"hardBlocker":true,"contactSalesOnly":false,"perTxnHardBlocker":false},"scoreHistory":[{"score":33,"badge":"HIGH_INTERRUPT","confidenceLabel":"PROVISIONAL","rubricVersion":"rubric@2026.4","isCurrent":true,"createdAt":"2026-08-09T23:49:54.560Z"},{"score":39,"badge":"HIGH_INTERRUPT","confidenceLabel":"PROVISIONAL","rubricVersion":"rubric@2026.4","isCurrent":false,"createdAt":"2026-08-09T23:49:51.268Z"},{"score":33,"badge":"HIGH_INTERRUPT","confidenceLabel":"PROVISIONAL","rubricVersion":"rubric@2026.4","isCurrent":false,"createdAt":"2026-08-09T17:13:21.525Z"},{"score":40,"badge":"HIGH_INTERRUPT","confidenceLabel":"PROVISIONAL","rubricVersion":"rubric@2026.3","isCurrent":false,"createdAt":"2026-08-09T05:26:53.828Z"},{"score":40,"badge":"HIGH_INTERRUPT","confidenceLabel":"PROVISIONAL","rubricVersion":"rubric@2026.3","isCurrent":false,"createdAt":"2026-08-09T05:26:50.570Z"},{"score":40,"badge":"HIGH_INTERRUPT","confidenceLabel":"PROVISIONAL","rubricVersion":"rubric@2026.3","isCurrent":false,"createdAt":"2026-08-09T05:18:54.097Z"},{"score":88,"badge":"LOW_INTERRUPT","confidenceLabel":"PROVISIONAL","rubricVersion":"rubric@2026.3","isCurrent":false,"createdAt":"2026-08-09T05:18:51.255Z"},{"score":88,"badge":"LOW_INTERRUPT","confidenceLabel":"PROVISIONAL","rubricVersion":"rubric@2026.3","isCurrent":false,"createdAt":"2026-08-09T03:14:06.242Z"},{"score":88,"badge":"LOW_INTERRUPT","confidenceLabel":"PROVISIONAL","rubricVersion":"rubric@2026.2","isCurrent":false,"createdAt":"2026-08-09T01:49:26.649Z"},{"score":88,"badge":"LOW_INTERRUPT","confidenceLabel":"PROVISIONAL","rubricVersion":"rubric@2026.2","isCurrent":false,"createdAt":"2026-08-09T01:45:29.778Z"},{"score":100,"badge":"LOW_INTERRUPT","confidenceLabel":"PROVISIONAL","rubricVersion":"rubric@2026.1","isCurrent":false,"createdAt":"2026-07-10T07:17:42.163Z"}],"findings":[{"interruptType":"captcha_challenge","tier":1,"timing":"setup","hardness":"hard","flowLocation":"signup","description":"Signup page embeds a turnstile CAPTCHA/bot-challenge (matched: .cf-turnstile).","provenance":null,"rawSignal":{"vendor":"turnstile","detected":true,"signupUrl":"https://porkbun.com/account","matchedSignal":".cf-turnstile"},"detectedAt":"2026-08-09T23:49:54.539Z"},{"interruptType":"sms_otp","tier":1,"timing":"setup","hardness":"hard","flowLocation":"account_verification","description":"Signup form collects a phone/SMS number — indicates SMS/phone verification during onboarding.","provenance":null,"rawSignal":{"detail":{"hasCodeField":true,"hasEmailField":true,"hasPhoneField":true,"hasOAuthButton":false,"captchaScriptSrc":"https://challenges.cloudflare.com/turnstile/v0/api.js","hasPasswordField":true,"oauthButtonLabels":[]},"signupUrl":"https://porkbun.com/account"},"detectedAt":"2026-08-09T23:49:54.539Z"},{"interruptType":"email_otp","tier":1,"timing":"setup","hardness":"hard","flowLocation":"account_verification","description":"Signup flow signals email verification / one-time-code entry.","provenance":null,"rawSignal":{"detail":{"hasCodeField":true,"hasEmailField":true,"hasPhoneField":true,"hasOAuthButton":false,"captchaScriptSrc":"https://challenges.cloudflare.com/turnstile/v0/api.js","hasPasswordField":true,"oauthButtonLabels":[]},"signupUrl":"https://porkbun.com/account"},"detectedAt":"2026-08-09T23:49:54.539Z"},{"interruptType":"no_machine_interface","tier":1,"timing":"setup","hardness":"hard","flowLocation":"operate","description":"Neither an MCP server nor a usable API machine interface was found after Tier 0 and Tier 1 candidate checks.","provenance":null,"rawSignal":{"mcpFound":false,"openApiFound":false,"apiKeySelfServe":"not_checked","documentationUrls":[],"unauthedApiUsable":false,"apiCandidatesTried":["https://api.porkbun.com/","https://docs.porkbun.com/","https://developer.porkbun.com/","https://porkbun.com/api"],"documentationFound":false,"unauthedApiReachable":true},"detectedAt":"2026-08-09T23:49:54.554Z"}]}