Insurance · October 2026

llms.txt for Insurance Sites

Insurance is the most regulated consumer vertical that publishes this file, so it should have the most careful one. We fetched /llms.txt from 40 insurance, insurtech, brokerage and reinsurance domains: nine answered with real text, and not one of those nine tells an AI assistant what it may not say. Here is the full sample, the defects inside the live files, and the buckets an insurer actually needs.

What 40 Insurance Domains Serve Today

On October 16, 2026 we requested /llms.txt from 40 domains with a research user agent, redirect following and a 15-second timeout. Thirteen produced something usable and nine of those were a genuine plain-text or Markdown file. Twenty returned a 404, and six refused the request at the edge before the origin ever saw it.

Response Count Examples
200 with a real text file 9 geico.com, lemonade.com, libertymutual.com, metlife.com, zurich.com, nextinsurance.com, policybazaar.com, beazley.com, qbe.com
404 20 allstate.com, statefarm.com, travelers.com, axa.com, aig.com, chubb.com, swissre.com, admiral.com, saga.co.uk and 11 more
403 from the edge 6 progressive.com (383 bytes), farmers.com (369), esurance.com (380), amfam.com (145), allianz.com, lv.com
200, but HTML behind the path 3 root.com (redirects twice to the joinroot.com homepage), usaa.com, aaa.com
No response at all 2 prudential.com, auto-owners.com (connection never completed)

Two details in that table matter more than the headline count. First, the 403s are cheap blocks: four of the six refusal bodies are under 400 bytes, which is a WAF answering, not an editorial decision — the same pattern we found across marketplaces and directories. Second, a 404 is not always a miss: nationwide.com returned 404 with a 9-byte body, and markel.com with 103 bytes, while allstate.com and chubb.com returned 404s with 551,710 and 288,164 bytes of HTML behind them. A crawler that only reads status codes is fine either way; a human running curl to check their own CDN is not.

Inside the Nine Live Files

The nine real files total 114,768 bytes across 66 H2 sections and roughly 8,812 words. Every one opens with an H1 and a blockquote summary, which means the spec's basic shape has reached this vertical. What has not reached it is link discipline.

Domain Bytes H2 Links Optional
policybazaar.com46,08718247no
beazley.com23,9785169yes
lemonade.com16,2828140no
zurich.com11,5321259 unparseable + 1no
libertymutual.com6,3421059no
nextinsurance.com4,875643yes
geico.com2,706320no
metlife.com2,19728 unparseableno
qbe.com76925yes

Across the nine files there are 751 link-shaped references and 67 of them — 9% — are written as [title] (url) with a space before the parenthesis. Markdown does not parse that as a link; it renders as literal brackets followed by bare text, which means MetLife's entire file and 59 of Zurich's 60 references reach a model as flat prose with the URLs loose in it. It is a generator or template defect, not a typo a human made eight times, and it is the single most common defect we found in this vertical. For the record, it is also invisible to the checker if you only validate the front matter and headings — link syntax has to be parsed.

The other number worth noting is a zero: not one of the 751 references points at a .md twin of the page it names. In the developer documentation files we audited a few days earlier, half of all links pointed at Markdown renditions, which is why those files work with agents. Insurance sites list HTML marketing pages — correct for a crawler, thin for a model that has to strip navigation to read them. GEICO is the exception that proves the rule, and it says so in the file.

The YMYL Gap: No File Restricts What an Assistant May Say

Insurance sits in the category search teams call YMYL — your money or your life — where an inaccurate answer is a real loss, so the useful part of an llms.txt here is not the product list. It is the block that tells an assistant what it may not state. We searched all nine files for restriction language: must not, do not state, not assert. The result was zero files.

That is a striking contrast with the two-sided platforms we probed the day before, where the best files open with sections such as "What you can state confidently" and "What you must not assert" — see the marketplace audit for that pattern. The closest thing in the insurance sample is Lemonade's ## Footer & Compliance section, which links the terms of service, the electronic transmissions consent notice, the legal page, the privacy pledge and an accessibility statement, and QBE's ## Optional block pointing at its robots.txt and an ai.txt. Both are routing, not limits. The only file in the sample that even uses the phrase should not is Zurich's, once, about the summary block itself.

The rule for a regulated vertical is simple: for every claim an assistant could make on your behalf that you would have to correct in writing, write the sentence that forbids it. Premiums require a completed quote. Eligibility is a per-state underwriting decision. A claim is paid after adjudication, never before. Coverage for a named loss cannot be confirmed from a page. Those four lines cost 40 words and they are the reason the file exists.

GEICO's Agent Stack and NEXT's Working MCP Server

Two files in the sample point past plain links, and both check out. GEICO's file ends with a section called ## For agents & crawlers that links a sitemap, an agent-skills index, an API catalog and a capability manifest; all three resolve from this server — /.well-known/agent-skills/index.json returns 200 with 1,548 bytes of JSON, /.well-known/api-catalog returns 200 with 505 bytes as application/linkset+json, and /.well-known/ai-catalog.json returns 200 with 1,625 bytes. The file also promises a Markdown rendition of any content page via an Accept: text/markdown header, and that works: a request to the auto-insurance page came back 200 as text/markdown; charset=utf-8 in 1,255 bytes — though the rendition itself carried a Source: line for the homepage and a Section: Home label, so verify the mapping before you rely on it.

NEXT Insurance is the only insurer here that documents a live machine interface. Its file names a quote MCP server, and an MCP initialize call to quote-mcp.nextinsurance.com/mcp returns 200 over Server-Sent Events with serverInfo of com.nextinsurance/quote, version 1.0.60, protocol version 2025-06-18. A plain GET to the same endpoint returns 403 with a 919-byte HTML body, so if you are auditing a competitor's declared MCP endpoint with curl and only trying GET, you will record a false negative. The setup page it links, app.nextinsurance.com/llms.txt, is a separate 4,193-byte file explaining how to connect — an approach worth copying if your product has an API: document the interface in its own file and keep the marketing index short.

The Seven Buckets an Insurance File Needs

  1. Identity and licence. Who the legal entity is, which states or countries it is licensed in, and the regulator that supervises it — the line that stops an assistant describing a regional carrier as national.
  2. Products. One link per coverage line with a one-line note: auto, home, renters, life, commercial, specialty. Not per-state variants; those belong in the sitemap.
  3. Quotes and eligibility. The quote page as the only source of a price, plus whatever page explains underwriting and state availability.
  4. Claims. First notice of loss, documents required, typical timeframes and the status-lookup page — the block that decides whether an assistant routes a stressed user to a form or to a phone tree.
  5. Licensing, complaints and disputes. Licence numbers by state, the complaints route and the regulator's contact page. This is what makes the file credible to a compliance reviewer.
  6. Representation limits. The four to six sentences forbidding price, eligibility, coverage and settlement claims. Add tax and investment advice while you are there.
  7. Optional. Investor relations, newsroom, careers, sustainability. Everything a reader can safely skip.
# Example Mutual: reference for AI assistants

> Example Mutual sells auto, home and term life coverage in 12 U.S. states
> through its own agents. Prices depend on the applicant, the state and the
> coverage chosen; only a completed quote is a price. This page defines what
> AI systems may state about the company and its products.

## Products
- [Auto insurance](https://example.com/auto): Coverage, discounts, state availability.
- [Home insurance](https://example.com/home): Includes renters and condo policies.
- [Term life](https://example.com/life): Terms, riders, underwriting basics.

## Quotes and eligibility
- [Get a quote](https://example.com/quote): The only source of a price.
- [Where we operate](https://example.com/states): Products sold in each state.

## Claims
- [File a claim](https://example.com/claims): Steps, documents, timeframes.
- [Claim status](https://example.com/claims/status): Requires a policy login.

## Licensing and complaints
- [Licences](https://example.com/licenses): Entity names and licence numbers by state.
- [Complaints](https://example.com/complaints): Internal review and regulator contacts.

## Must not assert
- That a premium, discount or approval applies without a completed quote.
- That coverage applies to a specific loss, person or property.
- That a claim will be paid, or for how much, before adjudication.
- Investment, tax or legal advice, on any page.
- Anything from a page behind a policy login.

## Optional
- [Investor relations](https://ir.example.com): Filings and results.
- [Newsroom](https://example.com/newsroom): Announcements and media contact.
- [Sitemap](https://example.com/sitemap.xml): Every indexable page.

Draft the structure with the llms.txt generator, validate it, then read what not to include before you publish — the exclusion list matters more in a regulated vertical than the link list does.

robots.txt, llms-full.txt and Verifying Delivery

Two companion files are worth checking at the same time, because their state explains the 403s. We fetched /robots.txt from all 40 domains: 32 answered 200, six returned the same 403 as /llms.txt (progressive.com, allianz.com, farmers.com, esurance.com, amfam.com, lv.com) and two never connected. Of the 32 readable files, exactly two name an AI crawler token — geico.com lists all eleven we tested (GPTBot, ClaudeBot, PerplexityBot, Google-Extended, CCBot, Bytespider, Amazonbot, Applebot-Extended, meta-externalagent, anthropic-ai, cohere-ai) and libertymutual.com names ten of the eleven. The rest of the vertical leaves AI crawling entirely unaddressed, which is the honest state of most regulated industries today. See the crawler-token reference for the names to use.

As for llms-full.txt: none of the three insurers we probed serves it — geico.com, lemonade.com and zurich.com all return 404 with HTML bodies between 22,708 and 114,327 bytes. That is defensible for a site whose long-form content is marketing copy, and the reason to have it, or not, is set out in the full-file comparison.

Whatever you build, verify it from outside with the three commands that produce the numbers in this article:

# 1. Status, content type and redirect chain — a 403 here is your WAF, not your copy
curl -sI -L -A "Mozilla/5.0 (compatible; GPTBot/1.2; +https://openai.com/gptbot)" \
  https://example.com/llms.txt | grep -iE "^(HTTP|content-type|location)"

# 2. Parse the links the way a model would: strict Markdown only
curl -sL https://example.com/llms.txt | grep -oE "\[[^]]+\]\(https?://[^)]+\)" | wc -l
curl -sL https://example.com/llms.txt | grep -oE "\][[:space:]]+\(" | wc -l

# 3. Confirm every listed target still answers 200
curl -sL https://example.com/llms.txt | grep -oE "https?://[^)]+" | while read u; do
  printf "%s %s\n" "$(curl -s -o /dev/null -w '%{http_code}' -L "$u")" "$u"
done | grep -v "^200"

Command two is the one this vertical needs most: a non-zero result from the second grep means you are publishing links that no model will follow, which is precisely the state of two of the nine live insurance files we measured today.

Status codes, content types, redirect counts, byte sizes, section counts, link counts and on-page strings referenced were captured from this server on October 16, 2026 using a research user agent with redirect following and a 15-second timeout, plus one MCP initialize call to a declared quote endpoint. Edge bot rules, generated files and platform policies change without notice, so re-check your own paths rather than treating this table as current configuration for any company named.