{"version":"2026-09-09.1","api":{"base":"https://crawlcheck.io","auth":{"header":"x-crawlcheck-key","alt":"Authorization: Bearer","keyPattern":"^cc_[0-9a-f]{32}$"},"signin":"POST /api/app/signin","account":"GET /api/app/account","portfolio":"GET|POST /api/app/portfolio","record":"GET /api/app/record?domain=","push":"GET|POST|DELETE /api/app/push","field":"GET|POST /api/app/field","scan":"POST /api/scan/licensed","scanFree":"POST /api/scan","cors":true},"sections":[{"key":"agentview","name":"What each crawler gets","stage":"Reach","weight":1.5,"desc":"Fifteen client identities fetched the page; this is whether they all got the same thing."},{"key":"agents","name":"Crawler permissions","stage":"Reach","weight":1.2,"desc":"What robots.txt actually tells each named AI and search crawler it may do."},{"key":"trust","name":"Machine-file chain","stage":"Reach","weight":1.5,"desc":"robots.txt names the sitemap, llms.txt points onward, the entity graph points home: the chain a crawler follows."},{"key":"vitals","name":"Speed","stage":"Reach","weight":1,"desc":"How fast the page answered our fetch, plus real-visitor field data where it exists."},{"key":"payload","name":"Page weight & text","stage":"Read","weight":1,"desc":"How many of the delivered bytes are readable words, and how much is markup, scripts and styling."},{"key":"machine","name":"Machine files","stage":"Read","weight":1.5,"desc":"robots.txt, llms.txt, sitemap and the entity graph: present, readable and served as the right type."},{"key":"sitemap","name":"Sitemap","stage":"Read","weight":1.2,"desc":"A sitemap exists, resolves, and declares the pages the homepage links to."},{"key":"schema","name":"Structured data","stage":"Quote","weight":1.2,"desc":"The JSON-LD entity graph: stable @ids, connected nodes, credentials and locations declared."},{"key":"local","name":"Local presence & NAP","stage":"Quote","weight":1.3,"desc":"Street address, coordinates, hours, phone, and the directory listings the site itself declares."},{"key":"claims","name":"Claim consistency","stage":"Quote","weight":1.3,"desc":"Name, phone, city and years-in-business match between the structured data and the visible page."},{"key":"eeat","name":"Authors & trust signals","stage":"Quote","weight":1,"desc":"Named people, dated articles, an organisation with contact details: the proxies an engine uses for trust."},{"key":"rdf","name":"Linked data","stage":"Quote","weight":0.8,"desc":"Whether the structured data parses as proper RDF and nothing dangles."},{"key":"quotable","name":"Quotable content","stage":"Quote","weight":0.8,"desc":"Whether the sentences an answer engine would lift are on the page in a form it can take."},{"key":"hosting","name":"Server & hosting","stage":"Foundations","weight":0.6,"desc":"What the edge and origin told us: cache state, compression, the software behind the page."},{"key":"a11y","name":"Accessibility structure","stage":"Foundations","weight":0.8,"desc":"Language, alt text, labelled controls and one main landmark, read from the delivered HTML."},{"key":"entparity","name":"Entity map parity","stage":"Not scored","weight":0,"desc":"The JSON entity map and the HTML version agree with each other."},{"key":"instr","name":"Instructions for agents","stage":"Foundations","weight":1,"desc":"Text aimed at AI agents rather than people: present, visible, and not hidden."},{"key":"mobile","name":"Mobile","stage":"Foundations","weight":0.8,"desc":"Viewport, zoom, icons and manifest: whether a phone gets a page it can use."},{"key":"commerce","name":"Commerce surface","stage":"Foundations","weight":1.2,"desc":"Product, offer and checkout signals an agent could act on."},{"key":"links","name":"Internal links","stage":"Foundations","weight":1,"desc":"Anchors carry words, targets resolve, and the link graph is not mostly repeats."},{"key":"naming","name":"URL naming","stage":"Foundations","weight":0.4,"desc":"Lowercase hosts and paths, no case-only duplicates, machine files spelt correctly."},{"key":"surfaces","name":"Agent surfaces","stage":"Not scored","weight":0,"desc":"Emerging standards (agents.md, API catalog, MCP card). Measured for information only."},{"key":"entcorr","name":"Entity corroboration","stage":"Quote","weight":0.6,"desc":"Whether the entities the site declares can be confirmed elsewhere."},{"key":"contentent","name":"Content entities","stage":"Not scored","weight":0,"desc":"Named things in the page text that a knowledge graph recognises."},{"key":"cftraffic","name":"Verified crawler traffic","stage":"Not scored","weight":0,"desc":"What verified AI and search crawlers fetched from this zone in the last seven days, counted at the edge."},{"key":"origin","name":"Crawlers on your server","stage":"Not scored","weight":0,"desc":"Which AI and search crawlers reached the origin, from the site’s own access log, each address verified."},{"key":"servicearea","name":"Service area map","stage":"Not scored","weight":0,"desc":"Every place the schema declares, placed around the declared centre and radius."},{"key":"site","name":"Whole site","stage":"Not scored","weight":0,"desc":"Up to 60 declared pages read once a day: not-200s, thin pages, missing JSON-LD, orphans. Counts free, page lists with Watch."},{"key":"freshness","name":"Freshness","stage":"Not scored","weight":0,"desc":"Every date the site publishes about itself - sitemap lastmod, Last-Modified, dateModified, dated elements - and where they disagree."},{"key":"crawlwaste","name":"Crawl waste","stage":"Not scored","weight":0,"desc":"Fetches that produce no new page: parameter and case variants, http links, redirecting or gone declared URLs, canonical-elsewhere and noindex pages."},{"key":"conversion","name":"Conversion path","stage":"Not scored","weight":0,"desc":"Phone link, form and call-to-action on the page, and whether they sit before the fold."},{"key":"engagement","name":"Engagement","stage":"Not scored","weight":0,"desc":"First-party views, active time, scroll depth and taps from the site’s own beacon."},{"key":"images","name":"Image signals","stage":"Foundations","weight":0.6,"desc":"Alt text, declared dimensions, lazy-loading, modern formats, hero priority and the entity image in JSON-LD."}],"stageQuestions":{"Reach":"Can a named answer-engine crawler get your pages at all?","Read":"Once it has the bytes, can it find the words?","Quote":"Is there a specific fact it can state and attribute?"},"tiers":[{"name":"Watch","price":"$29/mo","scope":"3 domains · 1 channel","who":"A business owner or a solo consultant with a few sites.","detail":"The lists behind every count — which pages are thin, orphaned or missing schema, which directories list you, who links to you — the record that says when each defect began, and one YouTube channel checked whole."},{"name":"Studio","price":"$89/mo","scope":"10 domains · 3 channels","who":"A boutique running client sites.","detail":"Everything Watch shows, on ten domains, in a client-ready report with your name on it — plus Identity Guard and the YouTube transcript layer through the browser extension."},{"name":"Agency","price":"$249/mo","scope":"40 domains · 10 channels","who":"An agency answering for a portfolio.","detail":"Forty domains, the portfolio view, regression alerts across all of them, the licensed API lane, and ten channels with a dated change record per video."},{"name":"Network","price":"from $690/mo","scope":"150+ domains","who":"An estate, on a cadence you set.","detail":"Cohort reporting across your own estate and bulk receipts. Quoted per estate, not priced. Your numbers are never published, named or pooled."}],"limits":{"Trial":1,"Watch":3,"Studio":10,"Agency":40,"Network":150},"checkout":{"Watch":"https://buy.stripe.com/fZu14nd8D0VH8rk66p2VG00","Studio":"https://buy.stripe.com/6oU14n6KfcEpazsgL32VG01","Agency":"https://buy.stripe.com/dRm8wPd8DgUF4b4dyR2VG02","Network":"https://crawlcheck.io/pricing"}}