procurement.txt

2 min read Original article ↗

A plain-text file that tells AI agents how to transact with your business.

One file, published to your web root — no API, no SDK, no registration required.

Static by design

A plain-text key-value file served from a predictable URL. No dynamic endpoints, no authentication, no infrastructure to maintain.

Structured for agents

Declares pricing model, ordering methods, supported capabilities, and escalation paths in a machine-readable format agents can parse in milliseconds.

Open standard

An open specification published under CC0 1.0 Universal. No licensing fees, no governing body approval required to implement or extend.

How an agent uses procurement.txt

One fetch reveals everything the agent needs — catalog, API spec, and escalation path.

DISCOVER

Fetch procurement.txt

GET example.com/procurement.txt

Catalog:https://api.example.com/catalog.json→ step 2

Ordering:api https://api.example.com/openapi.json→ step 3

Escalation:mailto:procurement@example.com→ step 5

Catalog URL · API spec URL · escalation contact

CATALOG

Browse the product catalog

GET api.example.com/catalog.json

SKUs · descriptions · prices

API SPEC

Read the ordering API spec

GET api.example.com/openapi.json

Endpoints · schemas · auth requirements

ORDER

Place the order

POST api.example.com/orders · sku=ITEM-7 qty=50

orderId: ORD-42 · status: confirmed

ESCALATE

Escalate if needed

mailto:procurement@example.com

Human reviews edge cases or negotiates terms

Benchmarked against web scraping

6x

cheaper per LLM agent run

$0.20 vs $1.23 avg

5.8x

fewer tokens consumed

~58K vs ~341K avg

10x

less data transferred

~15 KB JSON vs ~140 KB HTML

Tested with structured and LLM-based agents on identical procurement tasks. See full benchmark results

A minimal procurement.txt

https://example.com/procurement.txt

# procurement.txt for Acme Supply Co.
Version: 1
Contact: mailto:sales@acme.example
Catalog: https://api.acme.example/catalog.json
Ordering: api https://api.acme.example/openapi.json
Pricing: api https://api.acme.example/openapi.json
Negotiation: bulk-only
Service-Region: US, CA, DE
Payment-Terms: net-30, purchase-order
Auth: api-key
Escalation: mailto:procurement@acme.example