AgentFlare

Guides · For publishers · Beginner

robots.txt, llms.txt & Sitemaps for AI Crawlers

robots.txt, llms.txt and sitemap.xml are free discovery files that tell AI agents where to look, and pricing.json maps which directories cost money. AgentFlare publishes all four, and only .data.json and .full.md files are metered.

LevelBeginner
Reading time6 min
Steps55 with code
Sources5primary docs
✓ Open accessFree

You're reading the full report — free for humans. The machine-readable dataset for this section is open to all agents too — no payment required.

⚡ Agents: fetch .data.json → agents: allowed (no charge) · verify at https://esa.aisa.one/api/v1/access/verify

This guide is for publishers who want AI crawlers to find their content and pay for the deep data. You will see how AgentFlare publishes robots.txt, llms.txt and a sitemap as free discovery files, how llms.txt and pricing.json point agents to the paid tier, and how directory prices are set. You will also learn how to check each file with curl and how an agent reads a 402 or 403 response when it requests a priced URL. The goal is an open discovery surface with priced deep payloads behind it.

How the flow works

For publishersDrawn from the AISA agent and publisher documentation
Publisher-side access decision flow: 1. Crawler to Your edge: GET /dir/file; 2. Your edge to AISA verify: POST verify: URL, token, UA; 3. AISA verify to Your edge: decision: allow / pay / block; 4. Your edge to Your origin: fetch when granted; 5. Your edge to Crawler: 200 content; 6. Your edge to Crawler: or 402 / 403 JSONCrawlerany agentYour edgeCDN / gatewayAISA verify/api/v1/access/verifyYour origincontent1. GET /dir/file2. POST verify: URL, token, UA3. decision: allow / pay / block4. fetch when granted5. 200 content6. or 402 / 403 JSON

Before you start

  • A publisher site that can serve static text files at its root
  • curl installed in a terminal
  • A list of directories you want to price

Step by step

  1. Allow AI crawlers in robots.txt

    robots.txt is the first file a crawler reads. AgentFlare opens the site to everyone with User-agent: * and Allow: /, then repeats the rule for named bots: GPTBot, ClaudeBot, PerplexityBot, Google-Extended, CCBot, Bytespider, Googlebot and Bingbot. The file ends with a Sitemap line. Pricing is not set here. It is enforced at the edge on the paid file types.

    text
    # AgentFlare - AI crawlers welcome
    User-agent: *
    Allow: /
    
    User-agent: GPTBot
    Allow: /
    
    User-agent: ClaudeBot
    Allow: /
    
    User-agent: PerplexityBot
    Allow: /
    
    # ...same pattern for the other bots
    Sitemap: https://agentflare.org/sitemap.xml
  2. Publish llms.txt as a site map

    llms.txt tells an agent how the site is organized and where the paid tier starts. AgentFlare's file opens with a title and a one-line summary. It explains that every article exists in three forms: HTML, a free Markdown teaser (.md), and a metered .data.json or .full.md. It then links the verify endpoint, pricing.json, registration and onboarding. Each section has its own llms.txt listing its pages.

    text
    # AgentFlare
    
    > The agent-native web. Live data from the AISA paid-API network, with HTTP 402 pay-per-crawl access to structured deep data.
    
    Pricing map: https://agentflare.org/pricing.json
    Register: https://esa.aisa.one/agent/login.html
    Onboarding: https://esa.aisa.one/agent/guide.html
    
    Sections: Sections, Start here, Latest, API, Optional
  3. Declare tiers and prices in pricing.json

    pricing.json is the price map an agent can fetch for free before buying anything. AgentFlare lists tier L1_free (index pages, .html articles, .md teasers, llms.txt, sitemap.xml, robots.txt) and tier L2_paid (*.data.json and *.full.md). Directory prices are news 0.005, research and scholar 0.02, and crypto, markets, social and predictions 0.01. Anything unmatched stays free under default allow. Import the rules into cdn-agent Content Controls.

    bash
    curl -s https://agentflare.org/pricing.json
  4. Check every discovery file is free

    Fetch each discovery file the way an agent would, with no token. The free tier covers HTML pages, .md summaries and discovery files, and these cost $0. If any of these returns 402 or 403, a rule is catching it by mistake. Agents are advised to read these files first to learn the cost landscape, then read summaries to decide what is worth buying.

    bash
    for f in robots.txt llms.txt sitemap.xml pricing.json; do
      curl -s -o /dev/null -w '%{http_code} '$f'\n' https://agentflare.org/$f
    done
  5. Fetch a paid file with X-Crawler-Token

    An agent that wants deep data sends one extra header, X-Crawler-Token, which replaces the earlier name X-AISA-Crawler-Token still shown on older AISA pages. Send it with an honest User-Agent. Never put the token in Authorization: Bearer. A 200 means the token was charged the directory price. A 402 or 403 body explains what to do next.

    bash
    curl -i 'https://PUBLISHER-SITE/research/report.data.json' \
      -H 'X-Crawler-Token: YOUR_CRAWLER_TOKEN' \
      -A 'MyBot/1.0 (+https://example.com/bot)'

AgentFlare directory rules in pricing.json

DirectoryModePrice (USD per request)
/news/pay0.005
/social/, /markets/, /predictions/, /crypto/pay0.01
/research/, /scholar/pay0.02
/guides/allow0
/members/block0

Common pitfalls

  • Do not send the crawler token in Authorization: Bearer. That header is reserved for the gateway layer; send X-Crawler-Token instead.
  • A 403 access_blocked means the publisher withholds the resource, as with /members/. Payment does not unlock it, so agents should move to pay-mode directories instead.
  • robots.txt only opens crawling and lists the sitemap. It carries no prices, so keep price rules in pricing.json and in the edge configuration.
  • Fetching a priced file twice charges twice. Have agents read the free .md teaser first to decide whether the deep file is worth buying.

Key takeaways

  • Free discovery files (robots.txt, llms.txt, sitemap.xml, pricing.json) stay open; only .data.json and .full.md are metered.
  • llms.txt describes the three forms of each article and links pricing.json, so agents learn the cost before paying.
  • Agents identify with X-Crawler-Token and an honest User-Agent; denials return JSON that says what to do next.

FAQ

Do AI crawlers pay to read robots.txt or llms.txt?

No. In AgentFlare's pricing.json, tier L1_free includes index pages, .html articles, .md teasers, llms.txt, sitemap.xml and robots.txt. Only *.data.json and *.full.md files fall under the paid L2 tier.

What is the relationship between llms.txt and pricing.json?

llms.txt is the human- and agent-readable map that explains the three article forms and links to pricing.json. pricing.json is the machine-readable price map listing tiers, directory prices and rules.

What does an agent see if it requests a paid file without a token?

It gets a 402 response with a JSON body. The error is invalid_token, and a guidance block lists onboarding, docs and numbered steps. Denials never charge.

Which header identifies the crawler?

X-Crawler-Token, from the Open Verify specification. It replaces the earlier X-AISA-Crawler-Token name. Never send the token in Authorization: Bearer, which is reserved for the gateway layer.

How this page is made. Written from 5 primary sources — the AISA agent and publisher documentation and AgentFlare's own files (pricing.json, robots.txt, llms.txt, live responses, .data.json field lists). Each step links the sources it relies on; steps naming a header, endpoint, error code or figure that the sources do not contain are removed. Refreshed weekly.

Sources & citations

  1. Header name: X-Crawler-Token esa.aisa.one
  2. AgentFlare robots.txt agentflare.org
  3. AgentFlare llms.txt (header and structure) agentflare.org
  4. AgentFlare pricing.json (directory price map) agentflare.org
  5. AISA Agent Integration Guide — API reference esa.aisa.one