# Nansen Perpetual Contract Screener

> Nansen Perpetual Contract Screener is a paid API for AI agents from api.nansen.ai, paid per call via x402, $0.01/call, status unknown (last checked 2026-09-14).

Screens and filters perpetual contracts on Hyperliquid using smart money analytics and advanced filtering criteria

## Facts

- Endpoint: GET https://api.nansen.ai/api/v1/perp-screener
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/api-nansen-ai-a6c48682
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_HEGGJUiUOOrmcxvDYHaUW

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 api-nansen-ai-a6c48682
```

Example prompt: Pull up the Nansen perp screener for today and show me the top perpetual contracts on Hyperliquid sorted by open interest, filtering for high-volume contracts.

## When to prefer this

Use this endpoint when you need to screen or rank perpetual contracts on Hyperliquid using Nansen's smart money analytics. Prefer this over generic market data endpoints when you want Nansen's wallet label intelligence and smart money flow signals applied to perp contract discovery and filtering.

## Known failure modes

- Invalid date range format returns 400 error
- Unsupported filter fields return validation error
- Pagination out of bounds returns empty results or 404
- Payment not provided or insufficient triggers 402 Payment Required
- Invalid sort field in order_by returns 400 error
- Rate limiting may return 429 if too many calls made in succession

## How this service works

Get Perpetual Contract Screening Data

## Output

Returns a list of perpetual contracts on Hyperliquid with associated screening metrics such as volume, open interest, funding rates, and smart money signals, filtered and sorted according to the specified parameters.

## Example request

```json
{
 "date": {
  "to": "2025-01-31",
  "from": "2025-01-01"
 },
 "filters": {
  "volume": {
   "min": 1000000
  }
 },
 "order_by": [
  {
   "field": "volume",
   "direction": "DESC"
  }
 ],
 "pagination": {
  "page": 1,
  "per_page": 20
 }
}
```

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "title": "PerpScreenerRequest",
 "required": [
  "date"
 ],
 "properties": {
  "date": {
   "type": "object",
   "title": "DateRange",
   "properties": {
    "to": {
     "anyOf": [
      {
       "type": "string"
      }
     ],
     "title": "To",
     "examples": [
      "2025-01-31T23:59:59Z"
     ],
     "description": "End date in ISO 8601 format (e.g., 2025-01-31T23:59:59Z or 2025-01-31)"
    },
    "from": {
     "anyOf": [
      {
       "type": "string"
      }
     ],
     "title": "From",
     "examples": [
      "2025-01-01T00:00:00Z"
     ],
     "description": "Start date in ISO 8601 format (e.g., 2025-01-01T00:00:00Z or 2025-01-01)"
    }
   },
   "description": "Date range model matching the API schema."
  },
  "filters": {
   "anyOf": [
    {
     "type": "object",
     "title": "PerpScreenerFilters",
     "properties": {
      "volume": {
       "anyOf": [
        {
         "type": "object",
         "title": "NumericRangeFilter",
         "properties": {
          "max": {
           "anyOf": [
            {
             "type": "number"
            }
           ],
           "title": "Max",
           "examples": [
            50000,
            10000000,
            100
           ],
           "description": "Maximum value (inclusive)"
          },
          "min": {
           "anyOf": [
            {
             "type": "number"
            }
           ],
           "title": "Min",
           "examples": [
            1000,
            1000000,
            -50,
            0
           ],
           "description": "Minimum value (inclusive)"
          }
         },
         "description": "Filter for numeric values (floats) with optional min/max bounds.\nUse for prices, volumes, ratios, and other decimal values. - Values between -10.5 and 100.75"
        }
       ],
       "examples": [
        {
         "min": 1000000
        }
       ],
       "description": "Total traded notional in USD range filter"
      },
      "funding": {
       "anyOf": [
        {
         "type": "object",
         "title": "NumericRangeFilter",
         "properties": {
          "max": {
           "anyOf": [
            {
             "type": "number"
            }
           ],
           "title": "Max",
           "examples": [
            50000,
            10000000,
            100
           ],
           "description": "Maximum value (inclusive)"
          },
          "min": {
           "anyOf": [
            {
      
… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "title": "PerpScreenerResponse",
 "required": [
  "data",
  "pagination"
 ],
 "properties": {
  "data": {
   "type": "array",
   "items": {
    "anyOf": [
     {
      "type": "object",
      "title": "PerpScreenerDataDefault",
      "required": [
       "token_symbol"
      ],
      "properties": {
       "volume": {
        "anyOf": [
         {
          "type": "number"
         }
        ],
        "title": "Volume",
        "examples": [
         427486.75766,
         1250000.45,
         2500000,
         500000,
         750000
        ],
        "description": "Total traded notional in USD over the recent window."
       },
       "funding": {
        "anyOf": [
         {
          "type": "number"
         }
        ],
        "title": "Funding",
        "examples": [
         0.0000125,
         0.0001,
         -0.0001,
         0.0005,
         -0.0005,
         0.001,
         -0.001,
         0.0002,
         -0.0002,
         0.0003
        ],
        "description": "Latest funding rate/value for the coin."
       },
       "buy_volume": {
        "anyOf": [
         {
          "type": "number"
         }
        ],
        "title": "Buy Volume",
        "examples": [
         216502.59923,
         625000.25,
         1250000,
         250000,
         375000
        ],
        "description": "Total USD value of market buy trades over the recent window."
       },
       "mark_price": {
        "anyOf": [
         {
          "type": "number"
         }
        ],
        "title": "Mark Price",
        "examples": [
         0.3301,
         45000,
         3000,
         100,
         25,
         0.5,
         0.01,
         15,
         8,
         150
        ],
        "description": "Latest mark price for the coin."
       },
       "sell_volume": {
        "anyOf": [
         {
          "type": "number"
         }
        ],
        "title": "Sell Volume",
        "examples": [
         210984.15843,
         625000.2,
         1250000,
         250000,
         375000
        ],
        "description": "Total USD value of market sell trades over the recent window."
       },
       "token_symbol": {
        "type": "string",
        "title": "Token Symbol",
        "examples": [
         "ARK",
         "BTC",
         "ETH",
         "SOL",
         "AVAX",
         "MATIC",
         "DOT",
         "LINK",
         "UNI",
         "AAVE"
        ],
        "description": "Asset symbol (e.g., BTC, ETH) on 
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/api-nansen-ai-a6c48682/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.nansen.ai](https://www.zero.xyz/host/api.nansen.ai/llms.txt)
