{"slug":"burrow-g545ag","companyName":"Burrow","domain":"burrow.com","url":"https://burrow.com","headline":"A furniture retailer with strong product data and agent checkout support, but no API documentation for programmatic catalog access.","compositeScore":71,"humanScore":76,"agentScore":65,"doorGap":11,"humanMeasured":4,"agentMeasured":6,"percentile":null,"humanPercentile":null,"agentPercentile":null,"isPartial":false,"depth":"free","siteClass":"ecommerce","scannerVersion":12,"scannedAt":"2026-09-08T14:21:10.584Z","unlocked":false,"mission":{"steps":[{"url":"https://burrow.com","outcome":"ok","purpose":"reach the site at all"},{"url":"https://burrow.com/robots.txt","outcome":"ok","purpose":"find out whether machines are welcome"},{"url":"https://burrow.com","outcome":"ok","purpose":"ask whether the door opens for requests carrying the AI crawlers' names"},{"url":"https://burrow.com/llms.txt","outcome":"ok","purpose":"read the site's own guide for language models"},{"url":"https://burrow.com/sitemap.xml","outcome":"ok","purpose":"find out what pages exist"},{"url":"https://burrow.com/.well-known/security.txt","outcome":"missing","purpose":"find a contact route for machines"},{"url":"https://burrow.com","outcome":"missing","purpose":"find a published agent interface"},{"url":"https://burrow.com/.well-known/ai-plugin.json","outcome":"missing","purpose":"find an agent plugin manifest"},{"url":"https://burrow.com","outcome":"missing","purpose":"find out whether verified agents are recognised"},{"url":"https://burrow.com","outcome":"ok","purpose":"read the homepage as data rather than as a page"},{"url":"https://burrow.com","outcome":"missing","purpose":"find a machine readable API spec"},{"url":"https://burrow.com","outcome":"missing","purpose":"read the developer documentation"},{"url":"https://burrow.com","outcome":"ok","purpose":"read the prices without running JavaScript"},{"url":"https://burrow.com","outcome":"ok","purpose":"read the product catalogue as data"},{"url":"https://burrow.com","outcome":"ok","purpose":"read a product page as data"},{"url":"https://burrow.com","outcome":"ok","purpose":"read the returns and shipping terms"},{"url":"https://burrow.com","outcome":"ok","purpose":"walk the way a visitor would, to a signup form or a product"}],"verdict":"The agent got through 11 of 17 requests, but could not find a contact route for machines. It came up empty on 5 other checks too."},"observations":null,"dimensions":[{"key":"machine_discoverability","audience":"agent","score":100,"summary":"No AI crawler is blocked by robots.txt; the site explicitly allows gptbot, claudebot, perplexitybot and others. A real browser is served normally. The sitemap lists 451 URLs including product pages.","evidence":{"locked":true,"count":4}},{"key":"programmatic_onboarding","audience":"agent","score":10,"summary":"No API documentation is linked from the homepage or discoverable in the site structure. No OpenAPI spec exists at any of the 6 standard paths checked.","evidence":{"locked":true,"count":3}},{"key":"pricing_legibility","audience":"agent","score":83,"summary":"33 prices appear in the homepage HTML without JavaScript. 26 prices are readable across the 3 product pages checked. Product structured data publishes price and currency on every variant. An agent can parse cost from the markup.","evidence":{"locked":true,"count":2}},{"key":"agent_aware_instrumentation","audience":"agent","score":51,"summary":"No MCP manifest exists at the 3 standard paths. A Universal Commerce Protocol manifest is published at version 2026-08-25, declaring 8 capabilities and 3 payment handlers, with a storefront MCP endpoint.","evidence":{"locked":true,"count":4}},{"key":"machine_fetchable_trust","audience":"agent","score":65,"summary":"No security.txt is published. The returns policy (/returns) reads as text with a 30-day window and free returns. The shipping policy (/delivery) reads as text. Both are linked from product pages. The homepage answers automated requests.","evidence":{"locked":true,"count":3}},{"key":"commercial_rails","audience":"agent","score":81,"summary":"Product markup carries price, currency, availability, identifier, brand, SKU and aggregate rating over 297 reviews. The sitemap lists products. Review text is in the server HTML. A UCP manifest publishes how to transact.","evidence":{"locked":true,"count":4}},{"key":"steps_to_first_value","audience":"human","score":95,"summary":"A product with its price ($2000) and an add-to-cart control is reached in 2 steps from the homepage. The product page renders the price and availability without JavaScript. An agent can identify a buyable item and its cost immediately.","evidence":{"locked":true,"count":1}},{"key":"required_fields","audience":"human","score":80,"summary":"The product page does not require an account before adding to cart. Shop Pay is offered as an express wallet, which skips the form entirely. 7 inputs are present on the page; 3 carry validation constraints.","evidence":{"locked":true,"count":1}},{"key":"verification_walls","audience":"human","score":75,"summary":"No sign-in requirement appears on the product page. The add-to-cart control is available to any visitor. A guest checkout path exists. The verification wall is absent from the shopping phase, though account creation may be required at.","evidence":{"locked":true,"count":1}},{"key":"error_recovery","audience":"human","score":54,"summary":"3 of 7 inputs on the product page carry validation rules. 6 live regions are present to announce changes. No inline error containers are visible in the markup.","evidence":{"locked":true,"count":1}}],"issues":[{"rank":1,"title":"Product structured data omits return and shipping details, forcing agents to scrape policy pages instead of reading markup.","dimensionKey":"commercial_rails","evidence":{"locked":true,"count":3},"fix":null},{"rank":2,"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":3,"title":"No API documentation prevents agents from discovering how to query the catalog programmatically.","dimensionKey":"programmatic_onboarding","evidence":{"locked":true,"count":3},"fix":null}],"fixArtifacts":{"locked":true,"count":7,"summaries":[{"id":"product_jsonld:products-opera-media-console","kind":"product_jsonld","title":"Product markup skeleton","path":"/products/opera-media-console","effort":{"minutes":30,"role":"developer"},"outcome":{"dimension":"pricing_legibility","external":["Assistants read price, availability and identifiers from every sampled product page."]}},{"id":"product_jsonld_liquid:snippets-seconddoor-product-jsonld-liquid","kind":"product_jsonld_liquid","title":"Product markup snippet for every product page","path":"snippets/seconddoor-product-jsonld.liquid","effort":{"minutes":30,"role":"developer"},"outcome":{"dimension":"pricing_legibility","external":["Every Shopify product page carries complete Product markup, not only the sampled ones."]}},{"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":"merchant_policy_jsonld:product-page","kind":"merchant_policy_jsonld","title":"Return policy and shipping structured data","path":"product page","effort":{"minutes":30,"role":"developer"},"outcome":{"dimension":"machine_fetchable_trust","external":["Assistants read the return window and shipping terms from structured data."]}},{"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":"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."]}},{"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."]}}]},"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":"commercial_rails","checkId":"product_pages","key":"issue:commercial_rails:product_pages"},{"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:-"}]}}