# Nansen Token Screener

> Nansen Token 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-10-12).

Screen and filter tokens across multiple blockchains using smart money signals, volume, liquidity, market cap, and holder behavior metrics

## Facts

- Endpoint: GET https://api.nansen.ai/api/v1/token-screener?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-12
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/api-nansen-ai-9319fa8b
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_dhONGH6QGSYO2kKwB4D0T

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-9319fa8b
```

Example prompt: Screen tokens on Ethereum for me using Nansen — show ones with significant smart money activity, at least $1M liquidity, and strong holder distribution that have launched in the last 7 days.

## When to prefer this

Use this endpoint when you need to discover and rank tokens by combining on-chain fundamentals (liquidity, volume, market cap) with smart money behavioral signals (wallet labels, holder distribution, inflow patterns). Prefer this over generic DEX screeners when smart money intelligence and Nansen wallet labels are important to the decision. Best for finding emerging opportunities or validating token quality before investment research.

## Known failure modes

- Invalid or unsupported blockchain identifier returns 400 error
- Filter parameters outside valid ranges return validation error
- Missing required filter fields returns 422 unprocessable entity
- Rate limit exceeded returns 429 with retry-after header
- Authentication failure or insufficient USDC balance returns 402 payment required
- No tokens match the specified filter criteria returns empty result set

## How this service works

Retrieve token screener data

## Output

A filtered list of tokens matching the specified criteria, including price, volume, liquidity, market cap, smart money flow metrics, holder distribution data, and trading activity patterns across the queried blockchain(s).

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "title": "TokenScreenerRequest",
 "required": [
  "chains"
 ],
 "properties": {
  "date": {
   "anyOf": [
    {
     "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."
    }
   ],
   "examples": [
    {
     "to": "2025-01-31T23:59:59Z",
     "from": "2025-01-01T00:00:00Z"
    }
   ],
   "deprecated": true,
   "description": "**DEPRECATED**: Use 'timeframe' instead for better reliability and performance.\n\nRequired only if 'timeframe' is not provided.\n\nCustom date range for the token screener. The granularity is automatically determined from the date range:\n- ≤ 1 hour: minute-level data (limited to last 2 hours)\n- > 1 hour to 1 day: hourly data (limited to last 2 days)\n- > 1 day: daily data (limited to last 2 months)\n\nCannot be used together with 'timeframe'."
  },
  "chains": {
   "type": "array",
   "items": {
    "enum": [
     "arbitrum",
     "avalanche",
     "base",
     "bitcoin",
     "bnb",
     "ethereum",
     "hyperevm",
     "injective",
     "iotaevm",
     "linea",
     "mantle",
     "mantra",
     "monad",
     "near",
     "optimism",
     "plasma",
     "polygon",
     "ronin",
     "scroll",
     "sei",
     "solana",
     "sonic",
     "starknet",
     "sui",
     "ton",
     "tron"
    ],
    "type": "string",
    "title": "TokenScreenerChain",
    "description": "Chains supported for Token Screener endpoint."
   },
   "title": "Chains",
   "examples": [
    [
     "ethereum",
     "solana",
     "base"
    ]
   ],
   "maxItems": 5,
   "minItems": 1,
   "description": "List of blockchain chains to filter by"
  },
  "filters": {
   "anyOf": [
    {
     "type": "object",
     "title": "TokenScreenerFilters",
     "properties": {
      "fdv": {
       "anyOf": [
        {
         "type": "object",
         "title": "NumericRangeFilter",
         "properties": {
          "m
… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "title": "TokenScreenerResponse",
 "required": [
  "data",
  "pagination"
 ],
 "properties": {
  "data": {
   "type": "array",
   "items": {
    "anyOf": [
     {
      "type": "object",
      "title": "TokenScreenerDataDefault",
      "required": [
       "chain",
       "token_address",
       "token_symbol"
      ],
      "properties": {
       "fdv": {
        "anyOf": [
         {
          "type": "number"
         }
        ],
        "title": "Fdv",
        "description": "Fully Diluted Valuation in USD."
       },
       "chain": {
        "type": "string",
        "title": "Chain",
        "description": "The blockchain network on which the token is deployed."
       },
       "volume": {
        "anyOf": [
         {
          "type": "number"
         }
        ],
        "title": "Volume",
        "description": "Total trading volume in USD."
       },
       "netflow": {
        "anyOf": [
         {
          "type": "number"
         }
        ],
        "title": "Netflow",
        "description": "Net flow (buy_volume - sell_volume) in USD."
       },
       "liquidity": {
        "anyOf": [
         {
          "type": "number"
         }
        ],
        "title": "Liquidity",
        "description": "Total on-chain liquidity in USD."
       },
       "price_usd": {
        "anyOf": [
         {
          "type": "number"
         }
        ],
        "title": "Price Usd",
        "description": "Price of the token"
       },
       "buy_volume": {
        "anyOf": [
         {
          "type": "number"
         }
        ],
        "title": "Buy Volume",
        "description": "Total buy volume in USD."
       },
       "sell_volume": {
        "anyOf": [
         {
          "type": "number"
         }
        ],
        "title": "Sell Volume",
        "description": "Total sell volume in USD."
       },
       "fdv_mc_ratio": {
        "anyOf": [
         {
          "type": "number"
         }
        ],
        "title": "Fdv Mc Ratio",
        "description": "Ratio of Fully Diluted Valuation to Market Cap."
       },
       "price_change": {
        "anyOf": [
         {
          "type": "number"
         }
        ],
        "title": "Price Change",
        "description": "Price change percentage from the previous period."
       },
       "token_symbol": {
        "type": "string",
        "title": "Token Symbol",
        "description": "The symbol of the token."
       },
       "token_address": {
        "
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/api-nansen-ai-9319fa8b/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)
