# Shoal API – Signal by Category

> Shoal API – Signal by Category is a paid API for AI agents from api.shoal.xyz, paid per call via x402, $0.025/call, status unknown (last checked 2026-10-10).

Retrieves signal data filtered by a specified category via pay-per-request access with no API key required.

## Facts

- Endpoint: GET https://api.shoal.xyz/v1/signal/byCategory?utm_source=zero.xyz
- Price: $0.025/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-10
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/shoal-api-signal-by-category-500b2503
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_uwhhkGWJXMvdQImk8XmUd

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 shoal-api-signal-by-category-500b2503
```

Example prompt: Can you pull the latest signals from Shoal for the 'crypto' category and show me what comes back?

## When to prefer this

Use this endpoint when you need on-demand, pay-per-request signal data filtered by category and do not want to manage API key subscriptions. Ideal for agents that need occasional or low-frequency signal lookups and prefer micropayment-based access via the x402 protocol.

## Known failure modes

- Payment not received — 402 response if USDC micropayment is not processed
- Invalid or missing category parameter — empty data array or error response
- Category not found — returns empty data array
- Network timeout — no response from api.shoal.xyz
- Malformed request parameters — server-side validation error

## How this service works

Pay-per-request API access with no API key required.

## Output

A JSON object containing a data array of signals belonging to the requested category. The array may be empty if no signals are found for that category.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "required": {
   "type": "string"
  },
  "properties": {
   "type": "string"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "data": []
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/shoal-api-signal-by-category-500b2503/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.shoal.xyz](https://www.zero.xyz/host/api.shoal.xyz/llms.txt)
