# Cabrini US Stock Scanner

> Cabrini US Stock Scanner is a paid API for AI agents from cabrini.ai, paid per call via x402, $0.1/call, status unknown (last checked 2026-09-13).

Scans all US stocks on a given trading date for custom criteria (gap%, intraday change%, volume, transactions) and returns matching tickers with stats.

## Facts

- Endpoint: POST https://cabrini.ai/v1/scan
- Price: $0.1/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-13
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/cabrini-us-stock-scanner-cdfdd8b6
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_l-VLag2kXgC-MzG899_Sy

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 cabrini-us-stock-scanner-cdfdd8b6 -d '<json body>'
```

Example prompt: Scan all US stocks for January 10 2025 and give me any tickers that gapped up at least 5%, had a minimum volume of 500000 shares, and a volume ratio of at least 2x versus the prior day — return up to 50 results.

## When to prefer this

Use this endpoint when you need to screen the entire US stock universe on a specific historical or recent trading date using quantitative criteria like gap percent, volume, or intraday change. It is ideal for momentum research, backtesting, day-trading watchlist construction, and event-driven stock discovery. Prefer it over individual ticker lookups when you don't know in advance which stocks to look at and need a top-down scan across thousands of symbols.

## Known failure modes

- Invalid or non-trading date (weekend/holiday) — returns empty results or an error
- Overly restrictive criteria combination resulting in zero matches
- Date too far in the past or future beyond data availability — returns error or empty set
- Invalid parameter types (e.g. string where number expected) — returns validation error
- Payment failure or insufficient USDC balance — request rejected before execution

## How this service works

Scan all US stocks on a given date for custom criteria (gap%, change%, volume, etc). Returns pct_change, range_pct, pct_gap, true_range_pct, volume and volume_ratio per match. $0.10 USDC.

## Output

A list of up to `limit` US stock tickers matching the specified filter criteria on the given date, each accompanied by statistics such as gap percent, intraday change percent, total volume, volume ratio versus prior day, and transaction count.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "date": {
   "type": "string",
   "description": "Trading date to scan, YYYY-MM-DD"
  },
  "limit": {
   "type": "integer",
   "description": "Max results to return (default 50)"
  },
  "gap_up_pct": {
   "type": "number",
   "description": "Min gap up % from prior close (e.g. 5 = gapped up 5%+)"
  },
  "volume_min": {
   "type": "integer",
   "description": "Min total volume for the day"
  },
  "gap_down_pct": {
   "type": "number",
   "description": "Min gap down % from prior close (e.g. 5 = gapped down 5%+)"
  },
  "range_pct_min": {
   "type": "number",
   "description": "Min intraday range (high-low)/open as a percent, e.g. 5 for 5%"
  },
  "change_pct_max": {
   "type": "number",
   "description": "Max intraday change %"
  },
  "change_pct_min": {
   "type": "number",
   "description": "Min intraday change % (open to close)"
  },
  "transactions_min": {
   "type": "integer",
   "description": "Min number of transactions"
  },
  "volume_ratio_min": {
   "type": "number",
   "description": "Min volume ratio vs prior day (e.g. 2.0 = 2x avg)"
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/cabrini-us-stock-scanner-cdfdd8b6/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from cabrini.ai](https://www.zero.xyz/host/cabrini.ai/llms.txt)
