Show HN: CommerceTXT – An open standard for AI shopping context (like llms.txt) (commercetxt.org)
I built CommerceTXT because I got tired of the fragility of extracting pricing and inventory data from HTML. AI agents currently waste ~8k tokens just to parse a product page, only to hallucinate the price or miss the fact that it's "Out of Stock".
CommerceTXT is a strict, read-only text protocol (CC0 Public Domain) designed to give agents deterministic ground truth. Think of it as `robots.txt` + `llms.txt` but structured specifically for transactions.
Key technical decisions v1.0:
1. *Fractal Architecture:* Root -> Category -> Product files. Agents only fetch what they need (saves bandwidth/tokens).
2. *Strictly Read-Only:* v1.0 intentionally excludes transactions/actions to avoid security nightmares. It's purely context.
3. *Token Efficiency:* A typical product definition is ~380 tokens vs ~8,500 for the HTML equivalent.
4. *Anti-Hallucination:* Includes directives like @INVENTORY with timestamps and @REVIEWS with verification sources.
The spec is live and open. I'd love your feedback on the directive structure and especially on the "Trust & Verification" concepts we're exploring.
Spec: https://github.com/commercetxt/commercetxt Website: https://commercetxt.org
11 comments
[ 4.6 ms ] story [ 31.7 ms ] threadAll these files should be registered with IANA and put under the .well-known namespace.
https://en.wikipedia.org/wiki/Well-known_URI
I commend you for trying to start a standard. Letting the established players establish standards and protocols just gives them a bigger moat and more influence.
Pay very close attention to e-commerce and conversational commerce, rent seekers are pushing protocols.
When you are being scraper there are two possible reactions: 1 - good, because someone scraping your data is going to help you make a sale (discoverability) 2 - bad, work to obfuscate/block/prevent access.
In the first case, introducing a complex new standard that few if any will adopt achieves nothing compared to "here's a link for all the data in one spot, now leave my site alone. cheers".
In the second case, you actively don't want your data scraped, so why would you ever adopt this?
If you are reading all the inventory data into context then you are doing it wrong. Use your LLM to analyze the website and build a mapping for the HTML data, then parse using traditional methods (bs4 works nicely). You'll save yourself a gajillion tokens and get more consistent and accurate results at 1000x the speed.