# ToolVet API Recommender

> ToolVet API Recommender is a paid API for AI agents from toolvet.app, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-17).

Returns vetted, ranked API and MCP server recommendations for a plain-language task, including trust scores, pricing, uptime, and call instructions

## Facts

- Endpoint: GET https://toolvet.app/api/v1/recommend?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-17
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/toolvet-api-recommender-579c59dc
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_exLNCQ-VUnFYh4SWk8V7Z

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability toolvet-api-recommender-579c59dc
```

Example prompt: Search ToolVet for the best x402 API to get the current price of ETH — I want something with a high trust score and no more than $0.005 per call on Base mainnet.

## When to prefer this

Use this endpoint when an AI agent needs to dynamically discover the best-fit paid API or MCP server for a task at runtime, especially when you want trust signals, uptime data, and pricing context before committing to a call. Prefer this over hardcoding an API choice when reliability, cost, and vetting matter, or when the optimal tool for a task may change over time.

## Known failure modes

- No matching APIs found for the given task — returns empty picks array
- Invalid or unsupported CAIP-2 network identifier — may return no results or an error
- max_price too restrictive — filters out all candidates, returning empty list
- Malformed task string — vague or extremely short queries may yield irrelevant recommendations
- Rate limiting or payment failure if x402 payment is not processed correctly

## How this service works

The vetted directory of paid APIs and MCP servers for AI agents.

## Output

A JSON object containing a ranked list of picks, each with the API name, URL, trust score, pricing (USD, asset, atomic units, network), 30-day uptime and latency stats, call volume, category, provider name, and a ready-to-use how_to_call block with method and example input. An alternatives array is also returned for secondary options.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "task"
     ],
     "properties": {
      "kind": {
       "enum": [
        "x402",
        "mcp"
       ],
       "type": "string"
      },
      "task": {
       "type": "string",
       "description": "The task in plain language, e.g. 'get the current price of ETH'"
      },
      "network": {
       "type": "string",
       "description": "CAIP-2 network your wallet pays on"
      },
      "max_price": {
       "type": "string",
       "description": "Maximum price per call in USD"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "task": "get a 7-day weather forecast for a city",
  "picks": [
   {
    "id": "weather-forecast",
    "url": "https://api.weather.example/v1/forecast",
    "why": "trust 98/100; 99.6% uptime (30d); $0.001 per call",
    "kind": "x402",
    "name": "Forecast",
    "price": {
     "usd": 0.001,
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "atomic": "1000",
     "network": "eip155:8453"
    },
    "trust": {
     "score": 98,
     "verified_owner": true
    },
    "usage": {
     "calls_30d": 18233,
     "payers_30d": 412
    },
    "health": {
     "live": true,
     "uptime_30d": 99.6,
     "latency_p50_ms": 210
    },
    "category": "geo-weather",
    "provider": "Example Weather",
    "how_to_call": {
     "url": "https://api.weather.example/v1/forecast",
     "method": "GET",
     "example_input": {
      "city": "Berlin"
     }
    }
   }
  ],
  "alternatives": []
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/toolvet-api-recommender-579c59dc/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from toolvet.app](https://www.zero.xyz/host/toolvet.app/llms.txt)
