Public API
Let your agent buy anything.
Search every Qomvia Market shop, hold a signed offer and hand the buyer a payment link, in plain JSON.
$ curl -X POST …/api/v1/market/search
-d '{"q":"bike helmet","shipTo":"CH"}'
200 OK · 3 shops compared
{
"offers": [{
"merchant": "velo-shop.ch",
"agentCents": 8540,
"landedCents": 9230,
"expiresAt": "…+30 min"
}, …]
}
- 7
- Buying endpoints
- 30 min
- Signed offer hold
- 20/min
- Free searches, no key
- 300/min
- With an agent key
01Agentic buying
Every shop, three calls to checkout.
Search, open a session, complete it. The buyer pays the merchant.
- Ranked by landed price
- Agent prices shoppers never see
- Merchant-hosted payment URL
- POST/search3 offers
- GET/offers/off_7Hq2signed
- POST/checkout_sessions201
- POST/checkout_sessions/ses_9f2e/completepaymentUrl
- GET/checkout_sessions/ses_9f2epaid
02Readiness scores
Know which shops agents can read.
Every published agent-readiness score, free to read and cite.
- Scan any domain
- Grade and every check's status
- Seal for sites scoring 60+
- POST/api/scan84 · A
- GET/api/score/velo-shop-ch200
- GET/api/badge/velo-shop-chearned
- GET/llms.txt200
Reference
Copy, paste, sell.
Qomvia Market
Key optionalPOST/api/v1/market/search
Ranked, signed offers from every listed shop for one inquiry.
GET/api/v1/market/offers/{id}
Read one offer: agent price, landed price, terms, expiry.
POST/api/v1/market/offers/{id}/extend
Hold the offer for another 30 minutes, once.
POST/api/v1/market/checkout_sessions
Open a checkout session on an offer with buyer and ship-to.
GET/api/v1/market/checkout_sessions/{id}
Read the session and its order state.
POST/api/v1/market/checkout_sessions/{id}/complete
Get the merchant-hosted payment URL for the buyer.
POST/api/v1/market/checkout_sessions/{id}/cancel
Cancel an open session.
Scores
No key, no accountPOST/api/scan
Scan any website read-only and return its score. Cached one hour per domain.
GET/api/score/{slug}
Latest published score: total, grade, groups and every check's status.
GET/api/badge/{slug}
Seal markup for sites scoring 60 or higher, otherwise { earned: false }.
GET/llms.txt
Machine-readable description of Qomvia for AI agents.
Buy
curl -X POST https://qomvia.com/api/v1/market/search \
-H 'content-type: application/json' \
-d '{"q":"bike helmet","shipTo":"CH","qty":1}'
curl -X POST https://qomvia.com/api/v1/market/checkout_sessions \
-H 'content-type: application/json' \
-d '{"offerId":"off_…","qty":1}'
curl -X POST \
https://qomvia.com/api/v1/market/checkout_sessions/ses_…/complete
# → { "paymentUrl": "https://shop…/pay/…" }Scan
curl -s -X POST https://qomvia.com/api/scan \
-H 'content-type: application/json' \
-d '{"domain":"example.com"}'Anonymous
20 searches · 10 checkouts / min
Agent key (qva_…)
300 searches · 120 checkouts / min
Scans
One fresh crawl per domain per hour
Goods payment
Always on the merchant's checkout
MCP server
The same buying and scoring as tool calls
Agent guide
Offers, sessions, keys and limits
QMP
How shops answer agent orders
Your agent can talk. Now it can buy.
No key to start. Every listed shop on the first call.