AI assistants like ChatGPT, Claude, and Perplexity are increasingly crawling the web for context. But most websites aren't optimised for AI readability — they're built for human browsers with complex HTML, JavaScript navigation, and boilerplate-heavy layouts.
The llms.txt standard is changing this. It's a simple convention: place a llms.txt file at your site root that gives AI systems clean, structured content they can actually understand.
I built a tool that generates these files automatically for any website.
What is llms.txt?
Think of it as robots.txt but for LLMs. Three files form the standard:
-
llms.txt— A curated summary of your site with key links -
llms-full.txt— Complete site content in clean markdown - Per-page data — Structured JSON with extracted content per URL
The Generator
The llms.txt Generator crawls any website using BFS (Breadth-First Search) and:
- Respects configurable crawl depth and URL filters
- Extracts clean content via trafilatura (not regex — actual text extraction)
- Outputs markdown or plaintext
- Handles JavaScript-rendered pages
- Produces both summary and full-content files
Why This Matters for SEO
Traditional SEO targets Google's crawler. But a new category is emerging: SEO for AI.
When a user asks ChatGPT "what is [your product]?, the AI searches its training data and web results. If your site has a clean llms.txt, the AI gets structured, accurate content instead of parsing your homepage HTML.
Input Parameters
| Parameter | Default | Description |
|---|---|---|
startUrls |
required | Website URLs to crawl |
maxPages |
50 | Maximum pages to process |
outputFormat |
markdown | Output format (markdown/plaintext) |
includePatterns |
[] | URL patterns to include |
excludePatterns |
[] | URL patterns to exclude |
Example: Documenting a Python Library
I tested it on Pydantic's documentation (docs.pydantic.dev). The crawler:
- Started at the root docs page
- Followed internal links via BFS
- Extracted clean content from each page
- Produced a structured dataset with per-page markdown
Result: 2 pages processed, full content extracted with zero boilerplate.
Try It
Live on the Apify Store: llms.txt Generator
Pricing is $0.01 per page processed. Free tier covers ~50 pages.
The llms.txt standard is still emerging, but early adopters will have an advantage as AI-driven search grows. Is your website AI-readable?
🔗 Links
- Apify Store: https://apify.com/darknezz/llms-txt-generator
- GitHub: https://github.com/darksider4all/multi-tool-content-api
More from me
- Romania's company registry, now callable from Claude and Cursor (MCP + REST)
- Romania's company registry has no free API — so I built one (4.2M firms, MCP + REST)
- Building a Romanian Business Registry API: 4.2M Companies as Queryable JSON
- Building a SEC EDGAR Filings Scraper: 10-K Risk Factors and 13F Holdings as Clean JSON
- Building a Price & Competitor Monitor That Diffs Shopify and AliExpress Prices
- Building a Vertical Corpus Builder: Clean JSONL Datasets for LLM Fine-Tuning
- Building a Change & Alert Engine That Webhooks Any Diff on Any URL
- Building a Romania Mall Store Directory: Every Store in 29 Malls, One Schema
- Scraping Romanian Public Contracts: A Native-Language Tender & Awarded Deals Scraper
- Building a 12-City US Building Permits Scraper With Python
- Building an EU Safety Gate (RAPEX) Product Recall Scraper With Python
- How I Built a Water Utility Risk Intelligence Tool With Python and MCP
- Building an Aviation Hub API: Airports, Airlines, Live Flights & Weather From Six Keyless Sources
- I Stopped Scraping Business Directories and Built an MCP Server on Official Registry Data
- I Built a Canada Product Recalls & Safety Alerts Scraper That Reads Open Government Data
- I Built a Telegram Members Scraper That Reads Public Chat Stats Without Login
- Building a WHOIS & DNS Lookup Tool: Domain Intelligence in One...
- Building an AI Web Crawler That Outputs LLM-Ready Content Chunks
- Building a Real-Time Press Release Monitor with Python and RSS...
- Building a Universal Property Listing Scraper with Python and ...
- Tracking Tech Sentiment in Real-Time with VADER and Python
- How I Built a Product Hunt Scraper That Tracks Launches in Rea...
- 5 APIs Every Developer Needs for Content Processing (RSS, Extraction, Sitemaps, AI)
- How to Extract Clean Content From Any Website Sitemap (For SEO...
- Scraping 187,000 Romanian Businesses: Building a B2B Lead Gene...
- I Built an RSS Aggregator That Extracts Full Article Content (...
Top comments (0)