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

# Top Gainers & Losers

> Returns the top coins by price movement over the selected period.<br/><br/>Available from&#58; <Badge color="blue">Basic</Badge><br/>Cost&#58; <Badge color="surface">1 credit per request</Badge>

<Note>
  Default filters apply: minMarketCap=500000, minVolume24h=1000000.
</Note>

<Tip>
  Toggle between Gainers and Losers via group (default gainers).
</Tip>


## OpenAPI

````yaml https://api.cryptorank.io/v3/documentation-json get /v3/currencies/gainers-losers
openapi: 3.0.0
info:
  title: Cryptorank API V3
  description: >
    # Overview


    Cryptorank Public API v3 — comprehensive cryptocurrency data for B2B clients
    and partners.


    Useful Links:

    - [API Plans](https://cryptorank.io/public-api)

    - [Dashboard](https://cryptorank.io/public-api/dashboard)


    # Getting Started


    Primary Server URL:
    [https://api.cryptorank.io/v3/](https://api.cryptorank.io/v3/)


    **Authentication**


    Generate an API key in the
    [dashboard](https://cryptorank.io/public-api/dashboard) and pass it in the
    `X-Api-Key` header.


    Keep your keys secret — never commit them to public repositories or expose
    them in client-side code.
  version: 3.0.0
  contact:
    name: Cryptorank Team
    url: https://cryptorank.io
    email: info@cryptorank.io
servers:
  - url: https://api.cryptorank.io
security: []
tags: []
paths:
  /v3/currencies/gainers-losers:
    get:
      tags:
        - Currencies
      summary: Top Gainers & Losers
      description: >-
        **Description**


        Returns the top coins by price movement over the selected period.


        > **Note:** Default filters apply: minMarketCap=500000,
        minVolume24h=1000000.


        > **Tip:** Toggle between Gainers and Losers via group (default
        gainers).


        **Access**

        - Available from: **Basic**

        - Cost: 1 credit per request
      operationId: CurrenciesController_getGainersLosers
      parameters:
        - name: period
          required: false
          in: query
          description: Period over which coins are ranked by price movement.
          schema:
            default: 24h
            type: string
            enum:
              - 24h
              - 7d
              - 30d
        - name: group
          required: false
          in: query
          description: '`gainers` returns the biggest risers, `losers` the biggest fallers.'
          schema:
            default: gainers
            type: string
            enum:
              - gainers
              - losers
        - name: categoryId
          required: false
          in: query
          description: Filter by category id.
          schema:
            type: number
        - name: minMarketCap
          required: false
          in: query
          description: Minimum market cap filter, USD. Pass `0` to disable.
          schema:
            minimum: 0
            default: 500000
            type: number
        - name: maxMarketCap
          required: false
          in: query
          description: Maximum market cap filter, USD.
          schema:
            minimum: 0
            type: number
        - name: minVolume24h
          required: false
          in: query
          description: Minimum 24h volume filter, USD. Pass `0` to disable.
          schema:
            minimum: 0
            default: 1000000
            type: number
        - name: maxVolume24h
          required: false
          in: query
          description: Maximum 24h volume filter, USD.
          schema:
            minimum: 0
            type: number
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - status
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/CurrencyGainerLoserItemDto'
                  status:
                    $ref: '#/components/schemas/ResponseStatusDto'
        '400':
          description: Request validation failed
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    type: object
                    required:
                      - code
                      - message
                      - status
                    properties:
                      code:
                        type: string
                        enum:
                          - VALIDATION_ERROR
                        example: VALIDATION_ERROR
                      message:
                        type: string
                        example: Validation failed
                      status:
                        type: number
                        example: 400
        '401':
          description: API key is missing or invalid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    type: object
                    required:
                      - code
                      - message
                      - status
                    properties:
                      code:
                        type: string
                        enum:
                          - API_KEY_MISSING
                          - API_KEY_INVALID
                        example: API_KEY_MISSING
                      message:
                        type: string
                        example: API key is missing
                      status:
                        type: number
                        example: 401
        '403':
          description: >-
            No active subscription, the endpoint is not available in your plan,
            or the request goes beyond what your plan allows
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    type: object
                    required:
                      - code
                      - message
                      - status
                    properties:
                      code:
                        type: string
                        enum:
                          - NO_ACTIVE_SUBSCRIPTION
                          - ENDPOINT_NOT_AVAILABLE
                          - PLAN_LIMIT_EXCEEDED
                        example: NO_ACTIVE_SUBSCRIPTION
                      message:
                        type: string
                        example: No active subscription found
                      status:
                        type: number
                        example: 403
        '429':
          description: Rate limit or credit limit exceeded
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    type: object
                    required:
                      - code
                      - message
                      - status
                    properties:
                      code:
                        type: string
                        enum:
                          - RATE_LIMIT_EXCEEDED
                          - DAILY_CREDITS_EXCEEDED
                          - MONTHLY_CREDITS_EXCEEDED
                        example: RATE_LIMIT_EXCEEDED
                      message:
                        type: string
                        example: Rate limit exceeded
                      status:
                        type: number
                        example: 429
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    type: object
                    required:
                      - code
                      - message
                      - status
                    properties:
                      code:
                        type: string
                        enum:
                          - INTERNAL_ERROR
                        example: INTERNAL_ERROR
                      message:
                        type: string
                        example: Internal server error
                      status:
                        type: number
                        example: 500
      security:
        - X-Api-Key: []
components:
  schemas:
    CurrencyGainerLoserItemDto:
      type: object
      properties:
        id:
          type: number
          example: 1
          description: Unique numeric identifier.
        rank:
          type: number
          example: 1
          nullable: true
          description: CryptoRank rank; null when unranked.
        slug:
          type: string
          example: bitcoin
          description: URL-friendly entity slug.
        symbol:
          type: string
          example: BTC
          nullable: true
          description: Native token symbol (e.g. 'ETH', 'BNB').
        name:
          type: string
          example: Bitcoin
          description: Display name.
        imageUrl:
          type: string
          example: https://images.cryptorank.io/coins/150x150.bitcoin1524754012028.png
          nullable: true
          description: Coin logo (150×150); null when no image is available.
        category:
          nullable: true
          description: Coin category; null when the coin has none.
          type: object
          allOf:
            - $ref: '#/components/schemas/CurrencyCategoryDto'
        price:
          type: string
          example: '65000.5'
          description: Price, USD.
        marketCap:
          type: string
          example: '1280000000000'
          nullable: true
          description: Market cap, USD.
        pricePercentChange:
          type: number
          example: 5.42
          description: Price change over the requested `period`, percent.
        volume24h:
          type: string
          example: '32000000000'
          description: 24h trading volume, USD.
      required:
        - id
        - rank
        - slug
        - symbol
        - name
        - imageUrl
        - category
        - price
        - marketCap
        - pricePercentChange
        - volume24h
    ResponseStatusDto:
      type: object
      properties:
        usedCredits:
          type: number
          example: 1
          description: Credits charged for this request
        timestamp:
          type: number
          example: 1780000000000
          description: Server time of the response. Unix timestamp in milliseconds
      required:
        - usedCredits
        - timestamp
    CurrencyCategoryDto:
      type: object
      properties:
        id:
          type: number
          example: 7
        slug:
          type: string
          example: smart-contracts
        name:
          type: string
          example: Smart Contracts
      required:
        - id
        - slug
        - name
  securitySchemes:
    X-Api-Key:
      name: X-Api-Key
      type: apiKey
      in: header

````