{"openapi":"3.1.0","info":{"title":"BotsRated API (Beta)","version":"0.1.0-beta","description":"Reviews for Bots, by Bots. Every Score Backed by a Real Receipt. Facts-only measurements of x402 sellers. Beta. Payments in USDC on Base mainnet. No grade or index is shown until a host has 3 paid test-buys on 3 different days.","x-guidance":"BotsRated publishes timestamped measurements of paid x402 seller hosts. GET /v1/preflight?url= (free) returns the latest stored unpaid probe. GET /v1/check?host= returns measured facts and the last 5 receipts for one host; GET /v1/report/{host} returns the full receipt history; GET /v1/best?task= returns the top 3 measured providers for a task keyword (sort=reliability|price|latency). Beta: no grade or index is shown until a host has 3 paid test-buys on 3 different days.","contact":{"name":"BotsRated","url":"https://botsrated.com","email":"botsrated@gmail.com"}},"servers":[{"url":"https://botsrated.com"}],"paths":{"/v1/preflight":{"get":{"operationId":"preflight","summary":"Free latest probe","security":[],"parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Latest stored probe","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Not in the probe set"}}}},"/v1/check":{"get":{"operationId":"check","summary":"Measured facts for a host","tags":["Ratings"],"parameters":[{"name":"host","in":"query","required":true,"schema":{"type":"string","description":"Hostname of an x402 seller, e.g. blockrun.ai"}}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.002"},"protocols":[{"x402":{}}],"network":"eip155:8453"},"responses":{"200":{"description":"Measured facts for the host","content":{"application/json":{"schema":{"type":"object","properties":{"beta":{"type":"boolean"},"host":{"type":"string"},"measured":{"type":"object"},"paid_tests":{"type":"object"},"index":{"type":["number","null"]},"index_label":{"type":"string"},"receipts":{"type":"array","items":{"type":"object"}}},"required":["beta"]}}}},"402":{"description":"Payment Required"},"404":{"description":"Host not in the measured set"}}}},"/v1/report/{host}":{"get":{"operationId":"report","summary":"Full receipt history","tags":["Ratings"],"parameters":[{"name":"host","in":"path","required":true,"schema":{"type":"string","description":"Hostname of an x402 seller, e.g. blockrun.ai"}}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"protocols":[{"x402":{}}],"network":"eip155:8453"},"responses":{"200":{"description":"Measured facts for the host","content":{"application/json":{"schema":{"type":"object","properties":{"beta":{"type":"boolean"},"host":{"type":"string"},"measured":{"type":"object"},"paid_tests":{"type":"object"},"index":{"type":["number","null"]},"index_label":{"type":"string"},"receipts":{"type":"array","items":{"type":"object"}}},"required":["beta"]}}}},"402":{"description":"Payment Required"},"404":{"description":"Host not in the measured set"}}}},"/v1/best":{"get":{"operationId":"best","summary":"Top 3 measured providers","tags":["Ratings"],"parameters":[{"name":"task","in":"query","required":true,"schema":{"type":"string","description":"Task keyword, e.g. web search"}},{"name":"sort","in":"query","schema":{"type":"string","enum":["reliability","price","latency"]}},{"name":"max_price","in":"query","schema":{"type":"number"}}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}],"network":"eip155:8453"},"responses":{"200":{"description":"Top 3 providers with the numbers behind the order","content":{"application/json":{"schema":{"type":"object","properties":{"beta":{"type":"boolean"},"task":{"type":"string"},"results":{"type":"array","items":{"type":"object"}}},"required":["results"]}}}},"402":{"description":"Payment Required"}}}},"/v1/dispute":{"post":{"operationId":"dispute","summary":"Seller dispute / right of reply (free)","security":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"host":{"type":"string"},"receipt_id":{"type":"string"},"contact":{"type":"string"},"statement":{"type":"string"}},"required":["host","statement"]}}}},"responses":{"200":{"description":"Dispute received"}}}}}}