A status of 200 on /llms.txt does not mean the site has the file. On 2026-11-08, 5 of 28 large sites answered /llms.txt with HTTP 200, and only 3 of them sent a real file. forbes.com and reddit.com sent a web page. This script requests /llms.txt and /llms-full.txt, reads the body and tells these cases apart.
It is one Python file with no packages. Give it domains, get a table and a CSV. It sends one honest request per file and does not try to get around a block: a 401, 403, 202 or 429 is recorded as blocked, which means "not measurable from here". The data from the run on 28 large sites is a separate resource: llms.txt on 28 large sites.