{"slug":"linear-94hkp2","companyName":"Linear","domain":"linear.app","url":"https://linear.app","headline":"API credentials are documented but not self-serve, forcing agents to contact sales before they can integrate.","compositeScore":70,"humanScore":77,"agentScore":63,"doorGap":14,"humanMeasured":4,"agentMeasured":6,"percentile":89,"humanPercentile":54,"agentPercentile":91,"isPartial":false,"depth":"free","siteClass":"b2b_saas","scannerVersion":12,"scannedAt":"2026-09-08T14:48:45.434Z","unlocked":false,"mission":{"steps":[{"url":"https://linear.app","outcome":"ok","purpose":"reach the site at all"},{"url":"https://linear.app/robots.txt","outcome":"ok","purpose":"find out whether machines are welcome"},{"url":"https://linear.app","outcome":"ok","purpose":"ask whether the door opens for requests carrying the AI crawlers' names"},{"url":"https://linear.app/llms.txt","outcome":"ok","purpose":"read the site's own guide for language models"},{"url":"https://linear.app/sitemap.xml","outcome":"ok","purpose":"find out what pages exist"},{"url":"https://linear.app/.well-known/security.txt","outcome":"ok","purpose":"find a contact route for machines"},{"url":"https://linear.app","outcome":"missing","purpose":"find a published agent interface"},{"url":"https://linear.app/.well-known/ai-plugin.json","outcome":"missing","purpose":"find an agent plugin manifest"},{"url":"https://linear.app","outcome":"missing","purpose":"find out whether verified agents are recognised"},{"url":"https://linear.app","outcome":"missing","purpose":"read the homepage as data rather than as a page"},{"url":"https://linear.app","outcome":"missing","purpose":"find a machine readable API spec"},{"url":"https://linear.app","outcome":"ok","purpose":"read the developer documentation"},{"url":"https://linear.app/pricing","outcome":"ok","purpose":"read the prices without running JavaScript"},{"url":"https://linear.app","outcome":"missing","purpose":"find a comparison page worth citing"},{"url":"https://linear.app/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 find a published agent interface. It came up empty on 5 other checks too."},"observations":null,"dimensions":[{"key":"machine_discoverability","audience":"agent","score":92,"summary":"No AI crawler is blocked by robots.txt or user agent rules. A real browser is served the page normally. The sitemap lists 1021 URLs, llms.txt is published, and key pages render without JavaScript.","evidence":{"locked":true,"count":4}},{"key":"programmatic_onboarding","audience":"agent","score":34,"summary":"API credentials are documented, authentication is documented, code samples are provided.","evidence":{"locked":true,"count":3}},{"key":"pricing_legibility","audience":"agent","score":85,"summary":"Seven prices are readable without JavaScript on the pricing page: Free at $0, Basic at $10, Business at $16, and an Enterprise tier that routes to sales. This is standard practice and does not lower the score.","evidence":{"locked":true,"count":1}},{"key":"agent_aware_instrumentation","audience":"agent","score":18,"summary":"No MCP manifest, developer documentation describes an API, but only in prose.","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.","evidence":{"locked":true,"count":2}},{"key":"commercial_rails","audience":"agent","score":65,"summary":"Prices are published in raw HTML on the pricing page without JavaScript gates. A self serve signup form is reachable from the homepage in 2 steps. Sign in is provider-only (Google or SSO), with no payment card required at signup.","evidence":{"locked":true,"count":2}},{"key":"steps_to_first_value","audience":"human","score":80,"summary":"The signup form is 2 steps from the homepage via the Sign up CTA. No typed fields are present on the form itself, so a visitor completes signup by selecting a provider.","evidence":{"locked":true,"count":1}},{"key":"required_fields","audience":"human","score":98,"summary":"Zero of zero fields are required on the signup form. Two sign in providers are offered: Google and SSO. A visitor can complete signup without typing anything, which is the strongest possible affordance for reducing friction.","evidence":{"locked":true,"count":1}},{"key":"verification_walls","audience":"human","score":80,"summary":"No verification requirement appears on the signup page. Single sign on via Google or SSO avoids email verification entirely. The walk could not observe post-submission steps, so whether verification is required after signup remains.","evidence":{"locked":true,"count":1}},{"key":"error_recovery","audience":"human","score":50,"summary":"No typed inputs were found on the signup form, so there was nothing to validate or recover from. The form offers only provider selection. Without text input fields, error handling and recovery cannot be observed.","evidence":{"locked":true,"count":1}}],"issues":[{"rank":1,"title":"No comparison or alternatives page exists, which is the page an assistant cites when a buyer asks it to shortlist vendors.","dimensionKey":"machine_discoverability","evidence":{"locked":true,"count":1},"fix":null},{"rank":2,"title":"API key issuance requires human contact, blocking agents from obtaining credentials without a sales call or email.","dimensionKey":"programmatic_onboarding","evidence":{"locked":true,"count":3},"fix":null},{"rank":3,"title":"No MCP manifest is published, so agents cannot discover Linear's capabilities or invoke them through a standard protocol.","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":"comparison_page_brief:compare-linear-vs-competitor","kind":"comparison_page_brief","title":"A comparison page brief","path":"/compare/linear-vs-competitor","effort":{"minutes":180,"role":"owner"},"outcome":{"dimension":"machine_discoverability","external":["A server-rendered comparison page exists for an assistant to cite."]}},{"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."]}}]},"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":"machine_discoverability","checkId":"comparison_pages","key":"issue:machine_discoverability:comparison_pages"},{"type":"issue","dimensionKey":"programmatic_onboarding","checkId":"openapi","key":"issue:programmatic_onboarding:openapi"},{"type":"issue","dimensionKey":"agent_aware_instrumentation","checkId":null,"key":"issue:agent_aware_instrumentation:-"}]}}