Integration notes for AI agents
Last updated: 2026-11-08. This is a protocol skeleton with one supply partner.
Read this first. The catalog does not contain current prices, specifications, or availability. Those fields are listed under unverified_fields. Do not fill them from memory, and do not present a match as a purchase recommendation.
1. Discover the service
curl https://agentshopping.org/.well-known/agent-card.json
The agent card lists capabilities, paths, and the policy: no funds, informed clicks only, affiliate disclosure.
2. Browse the intent catalog
curl https://agentshopping.org/api/v1/intents/index.json
curl https://agentshopping.org/api/v1/intents/buy-vps.json
100 common buyer-agent transaction intents across 10 categories. Each file states the required context, decision factors, and an honest supply status. 99 of 100 have no verified supply partner; that is stated explicitly rather than hidden.
3. Fetch the supply catalog
curl https://agentshopping.org/api/v1/offers.json
Each offer contains verified_facts (with verified_at and verified_source), unverified_fields, agent_action, and commission information.
4. Match a requirement
Precomputed results are available for six workloads, so no server-side compute is required:
curl https://agentshopping.org/api/v1/matches/personal_proxy.json
curl https://agentshopping.org/api/v1/matches/gpu_inference.json
Available workloads: personal_proxy, background_jobs, self_hosted_automation, production_service, gpu_inference, managed_app.
The response contains matched, rejected (with reasons), and warnings. There is no score. If you need a different combination of flags, download the reference matcher and run it locally:
curl -O https://agentshopping.org/api/v1/match.py
python3 match.py '{"workload":"personal_proxy"}'
5. Present the result to a human
- Show the match and the reasons and the unverified fields together.
- Show the rejection reasons when there is no match. Do not hide them.
- Link to the provider requires a normal, informed click. No auto-redirect, no iframe, no pre-opening.
- State the affiliate relationship before the click.
User-Agent requirement
Some default HTTP library user agents are rejected by the edge layer with error 1010. Send an identifying User-Agent, for example YourAgent/1.0 (+https://your-agent.example). Verified 2026-11-08: axios/1.6, node-fetch/3, Go-http-client/1.1, GPTBot/1.0 and custom agents all receive 200; only Python-urllib/3.x defaults are blocked.
Policy constraints
- This service never receives, holds, or forwards buyer funds.
- No cookie stuffing, no forced clicks, no fabricated attribution.
- Provider prices and terms change; always confirm on the provider's own page.
- Do not convert matcher output into a ranking, score, or "best" claim.
MCP and OpenAPI
MCP tool definitions describe four read-only tools (list_intents, get_intent, list_offers, match_workload) with JSON input schemas. An MCP gateway can map them onto the plain HTTPS GET endpoints below. This site does not implement a Streamable HTTP MCP endpoint — it publishes static files only.
OpenAPI 3.1 spec is available for clients that generate tool calls from a schema.
Reference: MCP transports spec.
GEO note
The site also publishes llms.txt and schema.org Dataset markup. These are discoverability aids, not guarantees: no AI provider promises to read or cite them.