# ForgeMesh x402 Service Registry Search

> ForgeMesh x402 Service Registry Search is a paid API for AI agents from router.forgemesh.io, paid per call via x402, $0.001/call, status unknown (last checked 2026-09-15).

Search the ForgeMesh x402 service registry by keyword, category, tag, health status, and reputation score to discover API services

## Facts

- Endpoint: GET https://router.forgemesh.io/api/services
- Price: $0.001/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/forgemesh-x402-service-registry-search-4a0a2752
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_GzIZE7SLI_pg5WNcI_HMC

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 forgemesh-x402-service-registry-search-4a0a2752
```

Example prompt: Search the ForgeMesh x402 service registry for crypto finance APIs that are healthy and have a reputation score above 50, and show me up to 20 results.

## When to prefer this

Use this endpoint when an AI agent needs to discover available x402-compatible API services in the ForgeMesh registry, especially when filtering by domain category, tag, health status, or reputation score. Prefer this over manual URL guessing or general web search when the goal is to find machine-payable APIs that support the x402 protocol.

## Known failure modes

- No results returned when query terms are too specific or no services match the filters
- Invalid enum value for health_status or sort fields returns a validation error
- min_score outside 0–100 range returns a validation error
- limit outside 1–500 range returns a validation error
- Registry may be incomplete if services haven't been crawled or indexed yet
- Payment of 0.001 USDC not completed results in 402 Payment Required response

## How this service works

Search x402 service registry — broad q search plus health, score, category, tag, and tags filters

## Output

Returns a JSON array of matching service records, each containing the service ID, URL, name, description, category, tags, health status (x402/reachable/unreachable/unknown), and numeric reputation score. Results can be sorted by reputation and are limited to a caller-specified count (default 100, max 500).

## 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",
     "properties": {
      "q": {
       "type": "string",
       "description": "Broad text search across service name, URL, description, category, tags, and x402 metadata."
      },
      "tag": {
       "type": "string",
       "description": "Exact normalized tag match."
      },
      "sort": {
       "enum": [
        "reputation"
       ],
       "type": "string"
      },
      "tags": {
       "type": "string",
       "description": "Comma-separated tags; all tags must match."
      },
      "limit": {
       "type": "integer",
       "default": 100,
       "maximum": 500,
       "minimum": 1
      },
      "category": {
       "type": "string",
       "description": "Broad category bucket such as travel, weather, crypto, finance, automation, data, search, security, geo, or news."
      },
      "min_score": {
       "type": "number",
       "maximum": 100,
       "minimum": 0
      },
      "health_status": {
       "enum": [
        "x402",
        "reachable",
        "unreachable",
        "unknown"
       ],
       "type": "string"
      }
     },
     "additionalProperties": false
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "array",
     "items": {
      "type": "object",
      "properties": {
       "id": {
        "type": "string"
       },
       "url": {
        "type": "string",
        "format": "uri"
       },
       "name": {
        "type": "string"
       },
       "tags": {
        "type": "array",
        "items": {
         "type": "string"
        }
       },
       "category": {
        "type": [
         "string",
         "null"
        ]
       },
       "description": {
        "type": [
         "string",
         "null"
        ]
       },
       "health_status": {
        "enum": [
         "x402",
         "reachable",
         "unreachable",
         "unknown"
        ],
        "type": "string"
       },
       "reputation_score": {
        "typ
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/forgemesh-x402-service-registry-search-4a0a2752/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from router.forgemesh.io](https://www.zero.xyz/host/router.forgemesh.io/llms.txt)
