{"slug":"savvycal-f8nvbf","companyName":"SavvyCal","domain":"savvycal.com","url":"https://savvycal.com","headline":"0 human and 5 agent dimensions measured from the pages checked; remaining dimensions are not scored.","compositeScore":64,"humanScore":0,"agentScore":64,"doorGap":null,"humanMeasured":0,"agentMeasured":5,"percentile":null,"humanPercentile":null,"agentPercentile":null,"isPartial":true,"depth":"free","siteClass":"b2b_saas","scannerVersion":25,"scannedAt":"2026-09-09T11:52:16.903Z","unlocked":false,"mission":{"steps":[{"url":"https://savvycal.com","outcome":"ok","purpose":"reach the site at all"},{"url":"https://savvycal.com/robots.txt","outcome":"ok","purpose":"find out whether machines are welcome"},{"url":"https://savvycal.com","outcome":"ok","purpose":"ask whether the door opens for requests carrying the AI crawlers' names"},{"url":"https://savvycal.com/llms.txt","outcome":"missing","purpose":"read the site's own guide for language models"},{"url":"https://savvycal.com/sitemap.xml","outcome":"ok","purpose":"find out what pages exist"},{"url":"https://savvycal.com/.well-known/security.txt","outcome":"ok","purpose":"find a contact route for machines"},{"url":"https://savvycal.com","outcome":"missing","purpose":"find a published agent interface"},{"url":"https://savvycal.com/.well-known/ai-plugin.json","outcome":"missing","purpose":"find an agent plugin manifest"},{"url":"https://savvycal.com","outcome":"missing","purpose":"find out whether verified agents are recognised"},{"url":"https://savvycal.com","outcome":"missing","purpose":"read the homepage as data rather than as a page"},{"url":"https://savvycal.com","outcome":"missing","purpose":"find a machine readable API spec"},{"url":"https://savvycal.com","outcome":"missing","purpose":"read the developer documentation"},{"url":"https://savvycal.com/pricing","outcome":"ok","purpose":"read the prices without running JavaScript"},{"url":"https://savvycal.com","outcome":"ok","purpose":"find a comparison page worth citing"}],"verdict":"The scanner recorded successful observations for 7 of 14 checks, but could not read the site's own guide for language models. It came up empty on 6 other checks too. 1 checks could not be measured; see the report limitations."},"observations":null,"dimensions":[{"key":"machine_discoverability","audience":"agent","score":94,"summary":"Robots.txt names 10 AI crawlers and allows them. on its first visit, our browser read the homepage. no user agent rule refused the tested retrieval crawler names. prices on the checked pages are readable without running JavaScript.","measurement":{"status":"observed"},"evidence":{"locked":true,"count":7}},{"key":"programmatic_onboarding","audience":"agent","score":22,"summary":"No API interface was identified through the discovery paths and homepage links checked. OAuth authorization metadata is published.","measurement":{"status":"observed"},"evidence":{"locked":true,"count":2}},{"key":"pricing_legibility","audience":"agent","score":85,"summary":"2 prices are readable without JavaScript, with no tier sent to sales.","measurement":{"status":"observed"},"evidence":{"locked":true,"count":1}},{"key":"agent_aware_instrumentation","audience":"agent","score":32,"summary":"No MCP manifest was identified at the discovery paths checked. robots.txt names 10 AI crawlers and allows them. OAuth authorization metadata is published, which is how a remote MCP server is found.","measurement":{"status":"observed"},"evidence":{"locked":true,"count":4}},{"key":"machine_fetchable_trust","audience":"agent","score":85,"summary":"Security.txt is published with a contact route. the homepage answers automated requests.","measurement":{"status":"observed"},"evidence":{"locked":true,"count":2}},{"key":"commercial_rails","audience":"agent","score":null,"summary":"Not measured: an access refusal or challenge prevented our scanner from reading the required page.","measurement":{"reason":"access_challenge","status":"unmeasured"},"evidence":{"locked":true,"count":0}},{"key":"steps_to_first_value","audience":"human","score":null,"summary":"Not measured: an access refusal or challenge prevented our scanner from reading the required page.","measurement":{"reason":"access_challenge","status":"unmeasured"},"evidence":{"locked":true,"count":0}},{"key":"required_fields","audience":"human","score":null,"summary":"Not measured: an access refusal or challenge prevented our scanner from reading the required page.","measurement":{"reason":"access_challenge","status":"unmeasured"},"evidence":{"locked":true,"count":0}},{"key":"verification_walls","audience":"human","score":null,"summary":"Not measured: an access refusal or challenge prevented our scanner from reading the required page.","measurement":{"reason":"access_challenge","status":"unmeasured"},"evidence":{"locked":true,"count":0}},{"key":"error_recovery","audience":"human","score":null,"summary":"Not measured: an access refusal or challenge prevented our scanner from reading the required page.","measurement":{"reason":"access_challenge","status":"unmeasured"},"evidence":{"locked":true,"count":0}}],"issues":[{"rank":1,"title":"No OpenAPI specification was identified at the 6 standard paths checked.","dimensionKey":"programmatic_onboarding","evidence":{"locked":true,"count":3},"fix":null},{"rank":2,"title":"No MCP manifest was identified at the 3 standard paths checked.","dimensionKey":"agent_aware_instrumentation","evidence":{"locked":true,"count":3},"fix":null},{"rank":3,"title":"No valid llms.txt was identified at the site root.","dimensionKey":"machine_discoverability","evidence":{"locked":true,"count":2},"fix":null}],"fixArtifacts":{"locked":true,"count":5,"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":"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":["A plain-text price list is available at the published URL."]}},{"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":"openapi","key":"issue:programmatic_onboarding:openapi"},{"type":"issue","dimensionKey":"agent_aware_instrumentation","checkId":"mcp_manifest","key":"issue:agent_aware_instrumentation:mcp_manifest"},{"type":"issue","dimensionKey":"machine_discoverability","checkId":"llms_txt","key":"issue:machine_discoverability:llms_txt"}]}}