{"slug":"userinterviews-xzh2ak","companyName":"User Interviews","domain":"userinterviews.com","url":"https://userinterviews.com","headline":"Pricing and signup are transparent, but API documentation is not linked from the site, blocking programmatic access.","compositeScore":66,"humanScore":70,"agentScore":62,"doorGap":8,"humanMeasured":4,"agentMeasured":6,"percentile":null,"humanPercentile":null,"agentPercentile":null,"isPartial":false,"depth":"free","siteClass":"b2b_saas","scannerVersion":12,"scannedAt":"2026-09-08T13:57:36.532Z","unlocked":false,"mission":{"steps":[{"url":"https://www.userinterviews.com","outcome":"ok","purpose":"reach the site at all"},{"url":"https://www.userinterviews.com/robots.txt","outcome":"ok","purpose":"find out whether machines are welcome"},{"url":"https://www.userinterviews.com","outcome":"ok","purpose":"ask whether the door opens for requests carrying the AI crawlers' names"},{"url":"https://www.userinterviews.com/llms.txt","outcome":"missing","purpose":"read the site's own guide for language models"},{"url":"https://www.userinterviews.com/sitemap.xml","outcome":"ok","purpose":"find out what pages exist"},{"url":"https://www.userinterviews.com/.well-known/security.txt","outcome":"ok","purpose":"find a contact route for machines"},{"url":"https://www.userinterviews.com","outcome":"missing","purpose":"find a published agent interface"},{"url":"https://www.userinterviews.com","outcome":"ok","purpose":"find an agent plugin manifest"},{"url":"https://www.userinterviews.com","outcome":"missing","purpose":"find out whether verified agents are recognised"},{"url":"https://www.userinterviews.com","outcome":"missing","purpose":"read the homepage as data rather than as a page"},{"url":"https://www.userinterviews.com","outcome":"missing","purpose":"find a machine readable API spec"},{"url":"https://www.userinterviews.com","outcome":"missing","purpose":"read the developer documentation"},{"url":"https://www.userinterviews.com/pricing","outcome":"ok","purpose":"read the prices without running JavaScript"},{"url":"https://www.userinterviews.com","outcome":"ok","purpose":"find a comparison page worth citing"},{"url":"https://www.userinterviews.com/accounts/signup","outcome":"ok","purpose":"walk the way a visitor would, to a signup form or a product"}],"verdict":"The agent got through 9 of 15 requests, but could not read the site's own guide for language models. It came up empty on 5 other checks too."},"observations":null,"dimensions":[{"key":"machine_discoverability","audience":"agent","score":94,"summary":"No AI crawler is blocked by robots.txt or user agent rules. The homepage and pricing page are served to automated clients without JavaScript requirements. A sitemap lists 1278 URLs.","evidence":{"locked":true,"count":4}},{"key":"programmatic_onboarding","audience":"agent","score":22,"summary":"OAuth authorization metadata is published at the standard path, enabling remote MCP discovery. No API documentation is linked from the homepage or accessible in the rendered page. No OpenAPI spec exists at standard paths.","evidence":{"locked":true,"count":3}},{"key":"pricing_legibility","audience":"agent","score":85,"summary":"26 prices are readable without JavaScript on the pricing page. Prices range from $36 to $98 per unit. An enterprise tier routes to sales contact, which is standard practice. Currency is USD.","evidence":{"locked":true,"count":1}},{"key":"agent_aware_instrumentation","audience":"agent","score":20,"summary":"OAuth authorization metadata is published, which is how a remote MCP server locates credentials. No MCP manifest exists at the standard path. No llms.txt or ai-plugin.json is published.","evidence":{"locked":true,"count":4}},{"key":"machine_fetchable_trust","audience":"agent","score":85,"summary":"security.txt is published at the standard path with a contact route for machines. The homepage responds to automated requests with HTTP 200 and serves content normally.","evidence":{"locked":true,"count":2}},{"key":"commercial_rails","audience":"agent","score":65,"summary":"Prices are published in raw HTML on the pricing page. A self serve signup form is reachable from the homepage in 3 steps. No payment collection occurs on the signup form itself.","evidence":{"locked":true,"count":2}},{"key":"steps_to_first_value","audience":"human","score":65,"summary":"The signup form is 3 steps from the homepage via the Sign Up Free call to action. The form itself contains 5 fields, none required. A human can complete signup without providing payment details or undergoing verification, reaching a trial.","evidence":{"locked":true,"count":1}},{"key":"required_fields","audience":"human","score":98,"summary":"The signup form contains 5 fields, of which 0 are required. Google single sign on is offered as an alternative to email entry. No validation rules are enforced on any input field, allowing submission with minimal data.","evidence":{"locked":true,"count":1}},{"key":"verification_walls","audience":"human","score":80,"summary":"No verification requirement appears on the signup page. Email confirmation, phone verification or identity checks are not mentioned. Google single sign on bypasses email verification entirely.","evidence":{"locked":true,"count":1}},{"key":"error_recovery","audience":"human","score":35,"summary":"0 of 5 input fields carry validation rules or constraint attributes. No inline error containers are present on the form. 1 live region is present, which can announce errors to assistive technology.","evidence":{"locked":true,"count":1}}],"issues":[{"rank":1,"title":"No developer documentation is linked from the homepage, in raw HTML or the rendered page, so integration starts with a search engine.","dimensionKey":"programmatic_onboarding","evidence":{"locked":true,"count":1},"fix":null},{"rank":2,"title":"API documentation is not linked from the homepage or pricing page, blocking agents from discovering how to integrate.","dimensionKey":"programmatic_onboarding","evidence":{"locked":true,"count":3},"fix":null},{"rank":3,"title":"No MCP manifest is published, preventing agents from discovering the machine control protocol endpoint and capabilities.","dimensionKey":"agent_aware_instrumentation","evidence":{"locked":true,"count":3},"fix":null}],"fixArtifacts":{"locked":true,"count":6,"summaries":[{"id":"software_offer_jsonld:pricing-page","kind":"software_offer_jsonld","title":"Pricing as Offer structured data","path":"pricing page","effort":{"minutes":20,"role":"developer"},"outcome":{"dimension":"pricing_legibility","external":["Assistants comparing vendors read the plans and prices as Offer structured data."]}},{"id":"robots_search_bots:robots-txt","kind":"robots_search_bots","title":"robots.txt rules for AI crawlers","path":"/robots.txt","effort":{"minutes":10,"role":"owner"},"outcome":{"dimension":"machine_discoverability","external":["The assistants' search crawlers read and cite the site to buyers; training stays the owner's decision."]}},{"id":"interfaces_note:notes","kind":"interfaces_note","title":"Machine interfaces: where you stand","path":"notes","effort":{"minutes":10,"role":"owner"},"outcome":{"dimension":"agent_aware_instrumentation","external":["The developer surface is built in an order where every published pointer answers."]}},{"id":"pricing_md:pricing-md","kind":"pricing_md","title":"pricing.md","path":"/pricing.md","effort":{"minutes":20,"role":"owner"},"outcome":{"dimension":"agent_aware_instrumentation","external":["Agents read the price list directly instead of rendering the pricing page."]}},{"id":"organization_jsonld:homepage","kind":"organization_jsonld","title":"Organization structured data","path":"homepage","effort":{"minutes":15,"role":"developer"},"outcome":{"dimension":"machine_discoverability","external":["Search and assistant crawlers read the company entity from the homepage rather than inferring it."]}},{"id":"llms_txt:llms-txt","kind":"llms_txt","title":"llms.txt","path":"/llms.txt","effort":{"minutes":15,"role":"owner"},"outcome":{"dimension":"machine_discoverability","external":["Assistants that read llms.txt get a curated map of the site instead of guessing from the homepage."]}}]},"feedback":{"endpoint":"/api/feedback","mcpTool":"rate_fix","targets":[{"type":"report","key":"report"},{"type":"dimension","dimensionKey":"machine_discoverability","key":"dimension:machine_discoverability"},{"type":"dimension","dimensionKey":"programmatic_onboarding","key":"dimension:programmatic_onboarding"},{"type":"dimension","dimensionKey":"pricing_legibility","key":"dimension:pricing_legibility"},{"type":"dimension","dimensionKey":"agent_aware_instrumentation","key":"dimension:agent_aware_instrumentation"},{"type":"dimension","dimensionKey":"machine_fetchable_trust","key":"dimension:machine_fetchable_trust"},{"type":"dimension","dimensionKey":"commercial_rails","key":"dimension:commercial_rails"},{"type":"dimension","dimensionKey":"steps_to_first_value","key":"dimension:steps_to_first_value"},{"type":"dimension","dimensionKey":"required_fields","key":"dimension:required_fields"},{"type":"dimension","dimensionKey":"verification_walls","key":"dimension:verification_walls"},{"type":"dimension","dimensionKey":"error_recovery","key":"dimension:error_recovery"},{"type":"issue","dimensionKey":"programmatic_onboarding","checkId":"api_surface","key":"issue:programmatic_onboarding:api_surface"},{"type":"issue","dimensionKey":"programmatic_onboarding","checkId":null,"key":"issue:programmatic_onboarding:-"},{"type":"issue","dimensionKey":"agent_aware_instrumentation","checkId":null,"key":"issue:agent_aware_instrumentation:-"}]}}