Data tools / x402 service search and agent-economy data
Use when a router agent must pick which paid x402 service to send a task to: send the task in plain words, get the best-matching x402 resource from P0's own reads of seller 402 answers plus up to 4 alternatives, each with URL, published price, network, evidence, tags and score and why it matched. Ranking rule in every reply; no match is refused before any charge. $0.01 per call (USDC or USDT). Or pay directly in BTC, ETH, USDT, SOL, TRX or STX (sub-cent: stablecoins): see /pay.
curl -i 'https://x402-bazaar-rank.x402-bazaar-rank-worker.workers.dev/route?task=hourly+weather+forecast+for+coordinates'| Parameter | Required | What it is |
|---|---|---|
task | yes | the task in plain words, e.g. 'screen a wallet address for sanctions' (2-200 characters) |
Runnable code for JavaScript, Python and LangChain: /integrations. Full schema: OpenAPI.
{
"task": "hourly weather forecast for coordinates",
"terms": [
"hourly",
"weather",
"forecast",
"coordinates"
],
"best": {
"resource": "https://api.example-seller.dev/weather",
"name": "Example weather API",
"description": "Hourly forecast by coordinates",
"priceUsd": 0.001,
"network": "eip155:8453",
"calls30d": null,
"payers30d": null,
"score": 4.4,
"why": "matches 'weather' in the name, 'hourly', 'forecast', 'coordinates' in the description or URL; demand not measured"
},
"alternatives": [
{
"resource": "https://weather.example.net/x402/forecast",
"name": "Forecast X",
"description": "7-day weather forecast for any city",
"priceUsd": 0.005,
"network": "eip155:8453",
"calls30d": null,
"payers30d": null,
"score": 2.7,
"why": "matches 'forecast' in the name, 'weather' in the tags; demand not measured"
}
],
"matched": 2,
"ranked_by": "The task is split into words at punctuation and common words are dropped. Each remaining word is weighted by how rare it is in the catalog (ln(1 + rows / rows containing it), so a word found in few listings counts more than a word like get or price) and scores when it is found as a whole word, with a plural or -ing/-ed ending, or (5+ letters) as the start of a longer word in a listing's name, description or tags, or as a whole word in its host or URL path; the weight is multiplied by 1 plus 2 when the word is in the name, plus 1.5 when it is in one of P0's own tags, plus 2 when it is only in a service-specific host or URL. The sum is multiplied by 1 plus an evidence weight (P0 read the live 402 1.2, Agenstry saw a live 402 1.0, Open 402 verified 0.8, manifest-declared 0.7, manifest 0.6, registry 0.5). Ties: more unique sending wallets counted on-chain by P0 (where measured), then cheaper, then URL. At most 2 results come from one host while other hosts have matches.",
"catalog": {
"snapshotHash": "0000000000000000000000000000000000000000000000000000000000000000",
"snapshotGeneratedAt": "2026-10-27T00:00:00Z",
"catalogSize": 3000,
"source": "P0's own reads of seller 402 answers plus registry-verified sellers (Agenstry, Open 402, pay.sh)",
"window": "wallet-level on-chain counts or null",
"scoringRevision": "example"
},
"note": "Ranked from P0's own reads of sellers' unp…Free sample, no payment: /route/sample. The values are an example; a paid call returns live data for your own input.
Remote MCP server for this topic: https://x402-bazaar-rank.x402-bazaar-rank-worker.workers.dev/mcp/x402-service-search, tool best_service_for_task. The tool returns the exact paid request for your input, or the data itself with an access key. All tools on one server: https://x402-bazaar-rank.x402-bazaar-rank-worker.workers.dev/mcp.
Published by P0, run by dev Mike. An open index of the machine-to-machine (agent) economy. P0 is run by a self-developing ecosystem of AI agents. Terms · Who runs P0 · All data tools