{"slug":"ro-rx9vjt","companyName":"Ro","domain":"ro.co","url":"https://ro.co","headline":"A telehealth marketplace with published prices but no API surface for agents to obtain prescriptions or check insurance eligibility without a human signup.","compositeScore":67,"humanScore":80,"agentScore":53,"doorGap":27,"humanMeasured":1,"agentMeasured":6,"percentile":73,"humanPercentile":73,"agentPercentile":55,"isPartial":false,"depth":"free","siteClass":"b2b_saas","scannerVersion":12,"scannedAt":"2026-09-08T14:39:13.920Z","unlocked":false,"mission":{"steps":[{"url":"https://ro.co","outcome":"ok","purpose":"reach the site at all"},{"url":"https://ro.co/robots.txt","outcome":"ok","purpose":"find out whether machines are welcome"},{"url":"https://ro.co","outcome":"ok","purpose":"ask whether the door opens for requests carrying the AI crawlers' names"},{"url":"https://ro.co/llms.txt","outcome":"missing","purpose":"read the site's own guide for language models"},{"url":"https://ro.co/sitemap.xml","outcome":"ok","purpose":"find out what pages exist"},{"url":"https://ro.co/.well-known/security.txt","outcome":"ok","purpose":"find a contact route for machines"},{"url":"https://ro.co","outcome":"missing","purpose":"find a published agent interface"},{"url":"https://ro.co/.well-known/ai-plugin.json","outcome":"missing","purpose":"find an agent plugin manifest"},{"url":"https://ro.co","outcome":"missing","purpose":"find out whether verified agents are recognised"},{"url":"https://ro.co","outcome":"missing","purpose":"read the homepage as data rather than as a page"},{"url":"https://ro.co","outcome":"missing","purpose":"find a machine readable API spec"},{"url":"https://ro.co","outcome":"missing","purpose":"read the developer documentation"},{"url":"https://ro.co/weight-loss/pricing/","outcome":"ok","purpose":"read the prices without running JavaScript"},{"url":"https://ro.co","outcome":"ok","purpose":"find a comparison page worth citing"},{"url":"https://ro.co/weight-loss/glp1-insurance-checker/signup/insurance-type/","outcome":"missing","purpose":"walk the way a visitor would, to a signup form or a product"}],"verdict":"The agent got through 7 of 15 requests, but could not read the site's own guide for language models. It came up empty on 7 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; a real browser is served the page normally. The sitemap lists 1103 URLs and comparison pages are readable without JavaScript.","evidence":{"locked":true,"count":4}},{"key":"programmatic_onboarding","audience":"agent","score":10,"summary":"No API documentation is linked from the homepage or discoverable in raw HTML. No OpenAPI spec exists at any of the 6 standard paths checked. An agent cannot obtain an API key or read endpoint specifications without human intervention.","evidence":{"locked":true,"count":3}},{"key":"pricing_legibility","audience":"agent","score":85,"summary":"91 prices are readable without JavaScript on the pricing page, with no tier gated behind a sales contact form. Prices range from free tools to $900, published in USD.","evidence":{"locked":true,"count":1}},{"key":"agent_aware_instrumentation","audience":"agent","score":8,"summary":"No MCP manifest is published at any of the 3 standard paths checked. No ai-plugin.json or Web Bot Auth signals are present. An agent cannot discover what this service does or how to interact with it through machine-readable protocol.","evidence":{"locked":true,"count":4}},{"key":"machine_fetchable_trust","audience":"agent","score":85,"summary":"security.txt is published at /.well-known/security.txt with a contact route for machines. The homepage responds to automated requests with HTTP 200 and serves content normally to a real browser.","evidence":{"locked":true,"count":2}},{"key":"commercial_rails","audience":"agent","score":35,"summary":"Prices are published in raw HTML.","evidence":{"locked":true,"count":2}},{"key":"steps_to_first_value","audience":"human","score":80,"summary":"The primary call to action, 'Start your FREE insurance check', is 2 steps from the homepage. The signup page rendered no form fields without JavaScript to an automated visitor, so the actual field count and complexity cannot be confirmed.","evidence":{"locked":true,"count":1}},{"key":"required_fields","audience":"human","score":null,"summary":"Could not verify: this scan did not reach the pages that would show it.","evidence":{"locked":true,"count":1}},{"key":"verification_walls","audience":"human","score":null,"summary":"Could not verify: this scan did not reach the pages that would show it.","evidence":{"locked":true,"count":1}},{"key":"error_recovery","audience":"human","score":null,"summary":"Could not verify: this scan did not reach the pages that would show it.","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":"An agent cannot obtain an API key or read API documentation to integrate with Ro's services.","dimensionKey":"programmatic_onboarding","evidence":{"locked":true,"count":3},"fix":null},{"rank":3,"title":"An agent cannot discover what Ro does or how to interact with it through machine-readable protocol definitions.","dimensionKey":"agent_aware_instrumentation","evidence":{"locked":true,"count":3},"fix":null}],"fixArtifacts":{"locked":true,"count":7,"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":"pricing_faq_jsonld:pricing-page","kind":"pricing_faq_jsonld","title":"FAQ structured data for the pricing page","path":"pricing page","effort":{"minutes":10,"role":"developer"},"outcome":{"dimension":"pricing_legibility","external":["The pricing page carries the FAQ markup most cited pages have."]}},{"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:-"}]}}