> ## Documentation Index
> Fetch the complete documentation index at: https://docs.raze.bot/llms.txt
> Use this file to discover all available pages before exploring further.

# Screener

> Filter and rank tokens across chains. Wrapped natives, stablecoins and likely scams are
left out, and so are broken pools (no market cap, or a move above 1,000,000%). Liquidity
defaults to at least $1,000; pass `minLiquidity=0` to lift it. Page with `offset`.


Every chain unless `chain` is set. Filters combine (AND). Rows are like [trending](/api-reference/discovery/trending): a summary, the `window` stats of `interval`, and `safety`.

What is left out by default, so a screen is not a list of junk:

* wrapped natives and stablecoins;
* likely scams (`includeScams=true` brings them back);
* broken pools: no market cap, or a move above 1,000,000%;
* pools under \$1,000 of liquidity (`minLiquidity=0` lifts it).

`creator` lists the tokens one wallet launched. `graduated=true` keeps tokens that left their launchpad, `false` those still on the curve. Page with `offset`.


## OpenAPI

````yaml GET /v1/screener
openapi: 3.1.0
info:
  title: Raze Market Data API
  version: 1.0.0
  description: >
    Multichain market data for tokens, trades, charts, holders, launchpads and
    wallets on

    Solana, Ethereum, BNB Chain, Base and Robinhood Chain, as REST snapshots and
    live streams.


    **Conventions, everywhere:**

    - Chains: `sol`, `eth`, `bsc`, `base`, `robinhood` (aliases `solana`,
    `ethereum`, `bnb`, `hood` and network ids work too).

    - EVM addresses are answered lowercase; Solana addresses are case-sensitive.

    - Amounts in USD end in `Usd`; percents are 0–100 and end in `Percent`;
    times are Unix **milliseconds**.

    - A value nobody knows is `null`, never `0`.

    - Success: `{"data": …}`, plus `"next"` on paged lists (pass it back as
    `cursor`, as given). A
      page can hold fewer rows than `limit`, even none, and still carry `next`: a list ends only
      where `next` is `null`.
    - Failure: `{"error": {"code", "message"}}` with status 400 (`bad_request`),
    401 (`unauthorized`),
      404 (`not_found`), 429 (`rate_limited`), 502 (`upstream_unavailable`), or 503 with a
      `Retry-After` header (`upstream_unavailable` on a page to ask for again, `server_busy` on a
      new live connection).
    - A Solana address that does not decode to a 32-byte key is a 400 wherever
    one token or wallet
      is named. Lists (`/v1/tokens?ids=`, `/v1/prices?tokens=`) leave out an id that looks like a
      Solana address (32 to 44 base58 characters) but is not a 32-byte key; an id that does not look
      like an address still fails the whole list with 400.

    **Auth:** send your key as `x-api-key`, `Authorization: Bearer <key>`, or
    `?apiKey=` (for

    WebSocket and EventSource, which cannot set headers). `/health` and
    `/v1/openapi.yaml` need no

    key.


    **Live:** one WebSocket at `/v1/ws` carries any number of channels (also at

    `wss://ws.raze.bot`); the same channels are available one per connection as
    Server-Sent Events

    at `/v1/stream/{channel}`. Every channel sends a `snapshot` frame first,
    then changes.
servers:
  - url: https://api.raze.bot
    description: Production
security:
  - ApiKeyHeader: []
  - Bearer: []
  - ApiKeyQuery: []
tags:
  - name: catalog
    description: Health, chains and token search
  - name: tokens
    description: Token snapshot, trades, candles, holders, top traders, image
  - name: discovery
    description: Trending, screener and launchpad boards
  - name: wallets
    description: Wallet leaderboard, stats, holdings, PnL and swaps
  - name: prices
    description: Native coin prices and token prices
  - name: live
    description: WebSocket and Server-Sent Events
paths:
  /v1/screener:
    get:
      tags:
        - discovery
      summary: Screener
      description: >
        Filter and rank tokens across chains. Wrapped natives, stablecoins and
        likely scams are

        left out, and so are broken pools (no market cap, or a move above
        1,000,000%). Liquidity

        defaults to at least $1,000; pass `minLiquidity=0` to lift it. Page with
        `offset`.
      operationId: screenTokens
      parameters:
        - name: chain
          in: query
          description: Omit for every chain
          schema:
            type: string
        - name: sort
          in: query
          schema:
            type: string
            enum:
              - trending
              - volume
              - priceChange
              - trades
              - marketCap
              - liquidity
              - holders
              - age
            default: trending
        - name: interval
          in: query
          description: Window of the stats and of `minVolume`
          schema:
            type: string
            enum:
              - 5m
              - 1h
              - 24h
            default: 24h
        - name: minMarketCap
          in: query
          schema:
            type: number
        - name: maxMarketCap
          in: query
          schema:
            type: number
        - name: minLiquidity
          in: query
          schema:
            type: number
            default: 1000
        - name: maxLiquidity
          in: query
          schema:
            type: number
        - name: minVolume
          in: query
          description: USD, in the chosen interval
          schema:
            type: number
        - name: minHolders
          in: query
          schema:
            type: number
        - name: createdAfter
          in: query
          description: ms
          schema:
            type: integer
        - name: creator
          in: query
          description: Only tokens this wallet created
          schema:
            type: string
        - name: graduated
          in: query
          description: >-
            `true`: only tokens that left a launchpad; `false`: only tokens
            still on one
          schema:
            type: boolean
        - name: includeScams
          in: query
          schema:
            type: boolean
            default: false
        - name: limit
          in: query
          schema:
            type: integer
            default: 50
            maximum: 100
        - name: offset
          in: query
          schema:
            type: integer
            default: 0
      responses:
        '200':
          $ref: '#/components/responses/Ranked'
        '400':
          $ref: '#/components/responses/BadRequest'
components:
  responses:
    Ranked:
      description: Ranked tokens
      content:
        application/json:
          schema:
            type: object
            properties:
              data:
                type: array
                items:
                  $ref: '#/components/schemas/RankedToken'
    BadRequest:
      description: A parameter is missing or wrong
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error:
              code: bad_request
              message: 'unknown chain ''xyz'', use one of: sol, eth, bsc, base, robinhood'
  schemas:
    RankedToken:
      description: A token summary with the stats of the ranking window and safety.
      allOf:
        - $ref: '#/components/schemas/TokenSummary'
        - type: object
          properties:
            window:
              $ref: '#/components/schemas/Window'
            safety:
              $ref: '#/components/schemas/Safety'
    Error:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              enum:
                - bad_request
                - unauthorized
                - not_found
                - rate_limited
                - upstream_unavailable
                - server_busy
            message:
              type: string
    TokenSummary:
      type: object
      description: The short token row of lists (search, launchpad boards).
      properties:
        chain:
          type: string
        address:
          type: string
        name:
          $ref: '#/components/schemas/str'
        symbol:
          $ref: '#/components/schemas/str'
        image:
          $ref: '#/components/schemas/str'
        createdAt:
          $ref: '#/components/schemas/int'
        creator:
          $ref: '#/components/schemas/str'
        priceUsd:
          $ref: '#/components/schemas/num'
        marketCapUsd:
          $ref: '#/components/schemas/num'
        liquidityUsd:
          $ref: '#/components/schemas/num'
        holders:
          $ref: '#/components/schemas/int'
        launchpad:
          $ref: '#/components/schemas/Launchpad'
        socials:
          $ref: '#/components/schemas/Socials'
    Window:
      type: object
      description: Activity over one window.
      properties:
        priceChangePercent:
          $ref: '#/components/schemas/num'
        volumeUsd:
          $ref: '#/components/schemas/num'
        buyVolumeUsd:
          $ref: '#/components/schemas/num'
        sellVolumeUsd:
          $ref: '#/components/schemas/num'
        buys:
          $ref: '#/components/schemas/int'
        sells:
          $ref: '#/components/schemas/int'
        trades:
          $ref: '#/components/schemas/int'
    Safety:
      type: object
      description: >-
        Shares of supply or of holders, in percent, and contract checks. `null`
        fields are unknown, not clean.
      properties:
        top10Percent:
          $ref: '#/components/schemas/num'
        devPercent:
          $ref: '#/components/schemas/num'
        snipersPercent:
          $ref: '#/components/schemas/num'
        bundlersPercent:
          $ref: '#/components/schemas/num'
        insidersPercent:
          $ref: '#/components/schemas/num'
        botsPercent:
          $ref: '#/components/schemas/num'
        freshWalletsPercent:
          $ref: '#/components/schemas/num'
        bluechipPercent:
          $ref: '#/components/schemas/num'
        creatorLaunches:
          $ref: '#/components/schemas/int'
          description: Tokens the creator launched
        honeypot:
          type:
            - boolean
            - 'null'
        mintRenounced:
          type:
            - boolean
            - 'null'
        freezeRenounced:
          type:
            - boolean
            - 'null'
        buyTaxPercent:
          $ref: '#/components/schemas/num'
        sellTaxPercent:
          $ref: '#/components/schemas/num'
    str:
      type:
        - string
        - 'null'
    int:
      type:
        - integer
        - 'null'
    num:
      type:
        - number
        - 'null'
    Launchpad:
      type:
        - object
        - 'null'
      description: '`null` when the token never was on a launchpad.'
      properties:
        name:
          $ref: '#/components/schemas/str'
          description: >-
            Pump.fun, Pump Mayhem, LaunchLab, Bonk.fun, MeteoraDBC, Moonshot,
            Bags, Four.meme, Flap, …
        progressPercent:
          $ref: '#/components/schemas/num'
          description: Bonding curve fill, 0–100; null once graduated
        graduated:
          type: boolean
        graduatedAt:
          $ref: '#/components/schemas/int'
        graduatedPool:
          $ref: '#/components/schemas/str'
    Socials:
      type: object
      properties:
        twitter:
          $ref: '#/components/schemas/str'
        telegram:
          $ref: '#/components/schemas/str'
        website:
          $ref: '#/components/schemas/str'
        discord:
          $ref: '#/components/schemas/str'
  securitySchemes:
    ApiKeyHeader:
      type: apiKey
      in: header
      name: x-api-key
    Bearer:
      type: http
      scheme: bearer
    ApiKeyQuery:
      type: apiKey
      in: query
      name: apiKey

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.