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

# List Lending Markets

> Returns a paginated list of Blockworks Research lending markets, one row per individual pool, filterable by protocol, product and chain. The protocol object is the parent protocol, so its slug passes straight back as the protocol filter; the specific product (aave-v3 rather than aave) is the sibling productSlug field, which the product filter matches. Each marketId is a composite of parent slug, product slug, chain and market key, keyed on the pool address rather than the market name so that it survives an upstream rename.



## OpenAPI

````yaml GET /metrics/v2/protocols/lending-markets
openapi: 3.0.0
info:
  description: OpenAPI specification for the entire Messari API
  title: Messari API - Metrics V2
  version: 1.0.0
servers:
  - description: Messari API
    url: https://api.messari.io
security: []
paths:
  /metrics/v2/protocols/lending-markets:
    get:
      tags:
        - metrics/protocols/lending
      summary: List lending markets
      description: >-
        Returns a paginated list of Blockworks Research lending markets, one row
        per individual pool, filterable by protocol, product and chain. The
        protocol object is the parent protocol, so its slug passes straight back
        as the protocol filter; the specific product (aave-v3 rather than aave)
        is the sibling productSlug field, which the product filter matches. Each
        marketId is a composite of parent slug, product slug, chain and market
        key, keyed on the pool address rather than the market name so that it
        survives an upstream rename.
      operationId: getLendingMarketsV2
      parameters:
        - description: Page number (1-indexed)
          in: query
          name: page
          schema:
            format: int64
            type: integer
            example: 1
            default: 1
        - description: Page size limit
          in: query
          name: limit
          schema:
            format: int64
            type: integer
            example: 10
            default: 10
        - description: Filter to a parent protocol slug
          in: query
          name: protocol
          schema:
            type: string
            example: aave
        - description: Filter to a Blockworks Research product slug
          in: query
          name: product
          schema:
            type: string
            example: aave-v3
        - description: Filter to a Blockworks Research chain slug
          in: query
          name: chain
          schema:
            type: string
            example: ethereum
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/GetLendingMarketsResponse'
                  error:
                    type: string
                required:
                  - data
                type: object
              example:
                error: null
                data:
                  data:
                    - marketId: >-
                        aave_aave-v3_arbitrum_0x794a61358d6845594f94dc1db02a252b5b4814ad
                      marketName: arbitrum-core
                      productSlug: aave-v3
                      chain: arbitrum
                      protocol:
                        id: 675b85dc-85a1-4096-9600-212e90a56e9a
                        name: Aave
                        slug: aave
                    - marketId: >-
                        aave_aave-v3_avalanche_c_0x794a61358d6845594f94dc1db02a252b5b4814ad
                      marketName: avalanche_c-core
                      productSlug: aave-v3
                      chain: avalanche_c
                      protocol:
                        id: 675b85dc-85a1-4096-9600-212e90a56e9a
                        name: Aave
                        slug: aave
                    - marketId: aave_aave-v2_avalanche_c_avalanche_c-v2
                      marketName: avalanche_c-v2
                      productSlug: aave-v2
                      chain: avalanche_c
                      protocol:
                        id: 675b85dc-85a1-4096-9600-212e90a56e9a
                        name: Aave
                        slug: aave
                    - marketId: >-
                        aave_aave-v3_base_0xa238dd80c259a72e81d7e4664a9801593f98d1c5
                      marketName: base-core
                      productSlug: aave-v3
                      chain: base
                      protocol:
                        id: 675b85dc-85a1-4096-9600-212e90a56e9a
                        name: Aave
                        slug: aave
                    - marketId: >-
                        aave_aave-v3_bnb_0x6807dc923806fe8fd134338eabca509979a7e0cb
                      marketName: bnb-core
                      productSlug: aave-v3
                      chain: bnb
                      protocol:
                        id: 675b85dc-85a1-4096-9600-212e90a56e9a
                        name: Aave
                        slug: aave
                  metadata:
                    pageSize: 10
                    page: 1
                    totalRows: 23
                    totalPages: 3
          description: Default response
        '400':
          content:
            application/json:
              schema:
                properties:
                  data: {}
                  error:
                    type: string
                required:
                  - data
                type: object
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                properties:
                  data: {}
                  error:
                    type: string
                required:
                  - data
                type: object
          description: Unauthorized
        '500':
          content:
            application/json:
              schema:
                properties:
                  data: {}
                  error:
                    type: string
                required:
                  - data
                type: object
          description: Internal Server Error
      security:
        - apiKey: []
components:
  schemas:
    GetLendingMarketsResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/LendingMarket'
          type: array
        metadata:
          $ref: '#/components/schemas/SnapshotListingMetadata'
      required:
        - data
        - metadata
      type: object
    LendingMarket:
      properties:
        chain:
          type: string
          description: Blockworks Research chain slug.
        marketId:
          type: string
          description: >-
            Composite market key: parent slug, product slug, chain and market
            key. Keyed on the pool address when one is present.
        marketName:
          type: string
          description: Market name when the source reports one, otherwise the market key.
        productSlug:
          type: string
          description: Blockworks Research product slug, for example aave-v3.
        protocol:
          $ref: '#/components/schemas/LendingMarketProtocol'
      required:
        - chain
        - marketId
        - marketName
        - productSlug
        - protocol
      type: object
    SnapshotListingMetadata:
      properties:
        page:
          format: int64
          type: integer
          description: Current page number
        pageSize:
          format: int64
          type: integer
          description: Number of results per page
        totalPages:
          format: int64
          type: integer
          description: Total number of pages
        totalRows:
          format: int64
          type: integer
          description: Total number of rows
      required:
        - page
        - pageSize
        - totalPages
        - totalRows
      type: object
      description: Pagination metadata
    LendingMarketProtocol:
      properties:
        id:
          type: string
          description: Messari project id of the parent protocol.
        name:
          type: string
          description: Name of the parent protocol.
        slug:
          type: string
          description: Slug of the parent protocol. Pass it back as the protocol filter.
      required:
        - id
        - name
        - slug
      type: object
  securitySchemes:
    apiKey:
      in: header
      name: X-Messari-API-Key
      type: apiKey

````