{"slug":"thefarmersdog-u7y9h9","companyName":"The Farmer's Dog","domain":"thefarmersdog.com","url":"https://thefarmersdog.com","headline":"Pricing is hidden behind a signup wall, blocking both humans and agents from understanding what the product costs.","compositeScore":50,"humanScore":64,"agentScore":35,"doorGap":29,"humanMeasured":4,"agentMeasured":6,"percentile":13,"humanPercentile":7,"agentPercentile":93,"isPartial":false,"depth":"free","siteClass":"unknown","scannerVersion":12,"scannedAt":"2026-09-08T14:29:30.825Z","unlocked":false,"mission":{"steps":[{"url":"https://www.thefarmersdog.com","outcome":"ok","purpose":"reach the site at all"},{"url":"https://www.thefarmersdog.com/robots.txt","outcome":"ok","purpose":"find out whether machines are welcome"},{"url":"https://www.thefarmersdog.com","outcome":"ok","purpose":"ask whether the door opens for requests carrying the AI crawlers' names"},{"url":"https://www.thefarmersdog.com/llms.txt","outcome":"ok","purpose":"read the site's own guide for language models"},{"url":"https://www.thefarmersdog.com/sitemap.xml","outcome":"ok","purpose":"find out what pages exist"},{"url":"https://www.thefarmersdog.com/.well-known/security.txt","outcome":"missing","purpose":"find a contact route for machines"},{"url":"https://www.thefarmersdog.com","outcome":"missing","purpose":"find a published agent interface"},{"url":"https://www.thefarmersdog.com/.well-known/ai-plugin.json","outcome":"missing","purpose":"find an agent plugin manifest"},{"url":"https://www.thefarmersdog.com","outcome":"missing","purpose":"find out whether verified agents are recognised"},{"url":"https://www.thefarmersdog.com","outcome":"ok","purpose":"read the homepage as data rather than as a page"},{"url":"https://www.thefarmersdog.com","outcome":"missing","purpose":"find a machine readable API spec"},{"url":"https://www.thefarmersdog.com","outcome":"missing","purpose":"read the developer documentation"},{"url":"https://www.thefarmersdog.com/pricing","outcome":"ok","purpose":"read the prices without running JavaScript"},{"url":"https://www.thefarmersdog.com/signup/me/Me1","outcome":"ok","purpose":"walk the way a visitor would, to a signup form or a product"}],"verdict":"The agent got through 8 of 14 requests, but could not find a contact route for machines. It came up empty on 5 other checks too. That is enough missing for a machine to give up before it reaches a purchase."},"observations":null,"dimensions":[{"key":"machine_discoverability","audience":"agent","score":90,"summary":"No AI crawler is blocked by robots.txt or user agent rules. The site publishes llms.txt, declares a sitemap with 12 URLs, and serves schema.org markup for Organization, Place and AggregateRating on the homepage.","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. The site offers no programmatic entry point for agents to complete transactions.","evidence":{"locked":true,"count":3}},{"key":"pricing_legibility","audience":"agent","score":20,"summary":"The pricing page says 'starting at' once but provides no figure after it. No prices appear in raw HTML or after rendering. The page is not gated behind a quote or demo request, but the actual cost remains completely hidden.","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. The site does not declare support for Claude's Model Context Protocol or any other agent-aware protocol.","evidence":{"locked":true,"count":4}},{"key":"machine_fetchable_trust","audience":"agent","score":40,"summary":"No security.txt file is published at /.well-known/security.txt; the server returns a web page instead. The homepage does respond to automated requests with structured data, but no security contact or vulnerability disclosure policy is.","evidence":{"locked":true,"count":2}},{"key":"commercial_rails","audience":"agent","score":40,"summary":"A self-serve signup form is reachable from the homepage in 3 steps, with 1 field and 0 required fields. The form does not ask for payment information, so the path to purchase cannot be verified from this scan.","evidence":{"locked":true,"count":2}},{"key":"steps_to_first_value","audience":"human","score":65,"summary":"The primary call to action, 'Sign Up', is 3 steps from the homepage. The signup form itself contains only 1 field with no required fields, so the immediate barrier is low, but what happens after submission could not be observed.","evidence":{"locked":true,"count":1}},{"key":"required_fields","audience":"human","score":90,"summary":"The signup form contains 1 field total, and 0 of those fields are marked as required. No validation rules are enforced on the input, so a visitor can proceed with minimal friction.","evidence":{"locked":true,"count":1}},{"key":"verification_walls","audience":"human","score":65,"summary":"No verification requirement appears on the signup page itself. The form does not ask for email confirmation, phone verification, or identity checks before submission, though what happens after submission could not be observed.","evidence":{"locked":true,"count":1}},{"key":"error_recovery","audience":"human","score":35,"summary":"The single input on the signup form carries 0 validation rules and 0 inline error containers. If a visitor enters invalid data, the form provides no guidance on what went wrong or how to correct 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":"No OpenAPI specification was found at the 6 standard paths checked, so a client must be written from prose instead of generated.","dimensionKey":"programmatic_onboarding","evidence":{"locked":true,"count":2},"fix":null},{"rank":3,"title":"No MCP manifest was found at the 3 standard paths checked, so an agent has no published machine door to this site.","dimensionKey":"agent_aware_instrumentation","evidence":{"locked":true,"count":2},"fix":null}],"fixArtifacts":{"locked":true,"count":4,"summaries":[{"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":"pricing_publish:pricing-md","kind":"pricing_publish","title":"A pricing page that states a price","path":"/pricing.md","effort":{"minutes":60,"role":"owner"},"outcome":{"dimension":"pricing_legibility","external":["Assistants can quote a starting price instead of routing the buyer to a call."]}},{"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":"security_txt:well-known-security-txt","kind":"security_txt","title":"security.txt","path":"/.well-known/security.txt","effort":{"minutes":10,"role":"owner"},"outcome":{"dimension":"machine_fetchable_trust","external":["Researchers and automated scanners find a disclosure address instead of guessing one."]}}]},"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":"openapi","key":"issue:programmatic_onboarding:openapi"},{"type":"issue","dimensionKey":"agent_aware_instrumentation","checkId":"mcp_manifest","key":"issue:agent_aware_instrumentation:mcp_manifest"}]}}