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

# Groups

> Returns a paginated list of pool groups



## OpenAPI

````yaml /api-reference/dlmm/openapi.json get /pools/groups
openapi: 3.1.0
info:
  title: DLMM API
  description: ''
  license:
    name: ''
  version: 0.1.0
servers:
  - url: https://dlmm.datapi.meteora.ag
    description: DLMM Mainnet API
security: []
paths:
  /pools/groups:
    get:
      tags:
        - Pools
      summary: Groups
      description: Returns a paginated list of pool groups
      operationId: Get Groups
      parameters:
        - name: page
          in: query
          description: Page number (1-based)
          required: false
          schema:
            type:
              - integer
              - 'null'
            minimum: 1
        - name: page_size
          in: query
          description: Number of pools to return per page. Max 100
          required: false
          schema:
            type:
              - integer
              - 'null'
            maximum: 100
            minimum: 1
        - name: query
          in: query
          description: Search query used to match pools by name, tokens, or address
          required: false
          schema:
            type:
              - string
              - 'null'
        - name: sort_by
          in: query
          description: >-
            Sort results by one or more fields


            Format:

            - Time-windowed metrics: `<metric>_<window>:<direction>`

            - Non-windowed metrics: `<field>:<direction>`


            - `direction`: `asc` or `desc`

            - `window` (when applicable): `5m` `30m` `1h` `2h` `4h` `12h` `24h`


            Available fields:

            - Time-windowed metrics: `volume_*` `fee_*` `fee_tvl_ratio_*`
            `apr_*`

            - Non-windowed metrics: `tvl` `fee_pct` `bin_step` `pool_created_at`
            `farm_apy`


            Default: `volume_24h:desc`


            Examples:

            - `volume_24h:desc`

            - `fee_1h:asc`

            - `tvl:desc`
          required: false
          schema:
            type:
              - string
              - 'null'
        - name: filter_by
          in: query
          description: |-
            Conditions to filter documents by field values

            Format: `<expr> [&& <expr> ...]`

            Where each expression is: `<field><op><value>`

            Allowed fields:
            - Numeric: `tvl` `volume_*` `fee_*` `fee_tvl_ratio_*` `apr_*`
            - Boolean: `is_blacklisted`
            - Text: `pool_address` `name` `token_x` `token_y`

            Operators:
            - Numeric: `=` `>` `>=` `<` `<=`
            - Boolean: `=true` `=false`
            - Text:
              - exact match: `=<value>`
              - multi-value OR: `=[value1|value2|...]`

            Notes:
            - Multiple expressions are combined using logical **AND** (`&&`)
            - Whitespace around operators is ignored

            Examples:
            - `tvl>1000`
            - `is_blacklisted=false && volume_24h>=50000`
          required: false
          schema:
            type:
              - string
              - 'null'
          example: is_blacklisted=false
        - name: volume_tw
          in: query
          description: Time window to aggregate volume. Returns sum
          required: false
          schema:
            type:
              - string
              - 'null'
            default: volume_24h
        - name: fee_tvl_ratio_tw
          in: query
          description: Time window to aggregate fee tvl ratio. Returns Max
          required: false
          schema:
            type:
              - string
              - 'null'
            default: fee_tvl_ratio_24h
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginationResponse_GroupResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    PaginationResponse_GroupResponse:
      type: object
      required:
        - total
        - pages
        - current_page
        - page_size
        - data
      properties:
        current_page:
          type: integer
          format: int64
          minimum: 0
        data:
          type: array
          items:
            type: object
            required:
              - lexical_order_mints
              - group_name
              - token_x
              - token_y
              - pool_count
              - total_tvl
              - total_volume
              - max_fee_tvl_ratio
              - has_farm
            properties:
              group_name:
                type: string
              has_farm:
                type: boolean
              lexical_order_mints:
                type: string
              max_fee_tvl_ratio:
                type: number
                format: double
              pool_count:
                type: integer
                format: int64
                minimum: 0
              token_x:
                type: string
              token_y:
                type: string
              total_tvl:
                type: number
                format: double
              total_volume:
                type: number
                format: double
        page_size:
          type: integer
          format: int64
          minimum: 0
        pages:
          type: integer
          format: int64
          minimum: 0
        total:
          type: integer
          format: int64
          minimum: 0
    ErrorResponse:
      type: object
      required:
        - message
      properties:
        message:
          type: string

````