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

# List Lending Protocol Product Markets

> One row per lending market, the finest grain of the lending data, keyed by protocol, product, chain and market key: market name and type, the parent protocol and product, chain and the mapped protocol record. The id is the series key of the lending-protocols-by-product-market timeseries model.



## OpenAPI

````yaml api-reference/data-api/openapi.json GET /query/tabular/lending-protocol-product-markets
openapi: 3.0.0
info:
  description: >-
    The Blockworks Data API is a unified, read-only REST interface to
    Blockworks' warehouse-modeled crypto dataset, powered by Messari's research
    and data infrastructure. It serves two kinds of models: tabular models,
    which return current, filterable, sortable rows for entities such as assets,
    networks, protocols, exchanges, stablecoins, and ETFs; and timeseries
    models, which return historical metric series at a chosen granularity for
    one or many entities. Every endpoint shares the same query grammar (column
    projection, per-column filters, sorting, and pagination) and returns the
    standard `{ "error": ..., "data": ... }` envelope. Authenticate by sending
    your API key in the `X-Blockworks-API-Key` header.
  title: Blockworks Data API
  version: 0.1.0
servers:
  - description: Blockworks API
    url: https://api.blockworks.com
security:
  - apiKey: []
tags:
  - description: 'Models documented under Acquisitions: Acquisition Deals (table).'
    name: Acquisitions
  - description: >-
      Models documented under Assets: Assets (table), Asset Marketcap
      (timeseries), Asset Price (timeseries), Asset Sharpe (timeseries), Asset
      Supply (timeseries), Asset Volatility (timeseries).
    name: Assets
  - description: >-
      Models documented under Blockchains: Blockchains (table), Blockchains
      (timeseries).
    name: Blockchains
  - description: >-
      Models documented under Derivatives: Perpetual Markets (table), Perpetual
      Markets (timeseries).
    name: Derivatives
  - description: >-
      Models documented under Digital Asset Treasuries: DAT Companies (table),
      DAT Company Assets (table), DAT Companies (timeseries), DAT Companies by
      Asset (timeseries).
    name: Digital Asset Treasuries
  - description: >-
      Models documented under ETFs: ETF Assets (table), ETF Providers (table),
      ETF Assets (timeseries), ETF Providers (timeseries).
    name: ETFs
  - description: >-
      Models documented under Exchanges: Exchange Country (timeseries), Exchange
      Region (timeseries), Exchange Type (timeseries), Exchanges (timeseries).
    name: Exchanges
  - description: >-
      Models documented under Funding Rounds: Funding Round Investors (table),
      Funding Rounds (table), Sector Fundraising (timeseries).
    name: Funding Rounds
  - description: >-
      Models documented under Funds & Investors: Fund Managers (table), Funds
      (table).
    name: Funds & Investors
  - description: >-
      Models documented under Launchpads: Launchpad Chains (table), Launchpads
      (table), Launchpads (timeseries), Launchpads by Chain (timeseries).
    name: Launchpads
  - description: >-
      Models documented under Lending Protocols: Lending Protocol Product
      Markets (table), Lending Protocol Products (table), Lending Protocols
      (table), Lending Protocols (timeseries), Lending Protocols by Product
      (timeseries), Lending Protocols by Product Market (timeseries).
    name: Lending Protocols
  - description: >-
      Models documented under Market Overview: Sector Marketdata (timeseries),
      Sub-Sector Marketdata (timeseries).
    name: Market Overview
  - description: 'Models documented under Markets: Market (BQEN) (timeseries).'
    name: Markets
  - description: >-
      Models documented under News & Research: News Feed (table), Research
      Reports (table), Topics (timeseries).
    name: News & Research
  - description: >-
      Models documented under Perp DEXes: Perp DEX Protocols (table), Perp DEX
      Protocols (timeseries).
    name: Perp DEXes
  - description: 'Models documented under Projects & Entities: Projects (timeseries).'
    name: Projects & Entities
  - description: >-
      Models documented under Protocol Revenue: Protocol Revenue (timeseries),
      Protocol Revenue by Product (timeseries).
    name: Protocol Revenue
  - description: >-
      Models documented under Social & Mindshare: Asset Group Sentiment
      (timeseries), Asset Investor Mentions (timeseries), Asset Mindshare
      (timeseries), Asset Sentiment (timeseries), Project Mindshare
      (timeseries), Sector Asset Mindshare (timeseries), Sector Asset Sentiment
      (timeseries), Sector Investor Mentions (timeseries), Sub-Sector Asset
      Mindshare (timeseries), Sub-Sector Asset Sentiment (timeseries).
    name: Social & Mindshare
  - description: >-
      Models documented under Spot DEXes: Spot DEX Protocol Chains (table), Spot
      DEX Protocols (table), Spot DEX Protocols (timeseries), Spot DEX Protocols
      by Chain (timeseries).
    name: Spot DEXes
  - description: >-
      Models documented under Stablecoins: Stablecoin Chains (table), Stablecoin
      Currencies (table), Stablecoin FX Pairs (table), Stablecoin Issuers
      (table), Stablecoin Products (table), Stablecoin Reserve Entities (table),
      Stablecoin FX (timeseries), Stablecoin Reserves (timeseries), Stablecoins
      by Chain (timeseries), Stablecoins by Currency (timeseries), Stablecoins
      by Issuer (timeseries), Stablecoins by Product (timeseries).
    name: Stablecoins
  - description: >-
      Models documented under TCG Platforms: TCG Platform Chains (table), TCG
      Platforms by Chain (timeseries).
    name: TCG Platforms
  - description: >-
      Discovery of the tabular models: one row per entity, with per-column
      filters, sorting and pagination.
    name: Tabular
  - description: >-
      Discovery of the timeseries models: one series per entity, as points at
      the granularities each model declares.
    name: Timeseries
  - description: >-
      Models documented under Token Transparency Framework: Token Transparency
      Filing Questions (table), Token Transparency Filing Schemas (table), Token
      Transparency Filings (table), Token Transparency Projects (table).
    name: Token Transparency Framework
  - description: >-
      Models documented under Tokenized Commodities: Tokenized Commodities
      (table), Tokenized Commodity Chains (table), Tokenized Commodity Issuers
      (table), Tokenized Commodity Products (table), Tokenized Commodities by
      Chain (timeseries), Tokenized Commodities by Commodity (timeseries),
      Tokenized Commodities by Issuer (timeseries), Tokenized Commodities by
      Product (timeseries).
    name: Tokenized Commodities
  - description: >-
      Models documented under Tokenized Equities: Tokenized Equities (table),
      Tokenized Equity Chains (table), Tokenized Equity Issuers (table),
      Tokenized Equity Products (table), Tokenized Equities by Chain
      (timeseries), Tokenized Equities by Equity (timeseries), Tokenized
      Equities by Issuer (timeseries), Tokenized Equities by Product
      (timeseries).
    name: Tokenized Equities
  - description: >-
      Models documented under Vaults: Vault Chains (table), Vault Curators
      (table), Vault Protocols (table), Vault Curators (timeseries), Vault
      Protocols (timeseries), Vaults by Chain (timeseries).
    name: Vaults
paths:
  /query/tabular/lending-protocol-product-markets:
    get:
      tags:
        - Lending Protocols
      summary: List Lending Protocol Product Markets
      description: >-
        One row per lending market, the finest grain of the lending data, keyed
        by protocol, product, chain and market key: market name and type, the
        parent protocol and product, chain and the mapped protocol record. The
        id is the series key of the lending-protocols-by-product-market
        timeseries model.
      operationId: getTabular_lending_protocol_product_markets
      parameters:
        - description: Lending Protocol Product Market ID equals.
          in: query
          name: idEq
          schema:
            type: string
        - description: Lending Protocol Product Market ID is one of (comma-separated).
          in: query
          name: idIsOneOf
          schema:
            items:
              type: string
            type: array
        - description: Name equals.
          in: query
          name: nameEq
          schema:
            type: string
        - description: Name is one of (comma-separated).
          in: query
          name: nameIsOneOf
          schema:
            items:
              type: string
            type: array
        - description: Name contains (case-insensitive substring).
          in: query
          name: nameContains
          schema:
            type: string
        - description: Slug equals.
          in: query
          name: slugEq
          schema:
            type: string
        - description: Slug is one of (comma-separated).
          in: query
          name: slugIsOneOf
          schema:
            items:
              type: string
            type: array
        - description: Parent Slug equals.
          in: query
          name: parentSlugEq
          schema:
            type: string
        - description: Parent Slug is one of (comma-separated).
          in: query
          name: parentSlugIsOneOf
          schema:
            items:
              type: string
            type: array
        - description: Product Slug equals.
          in: query
          name: productSlugEq
          schema:
            type: string
        - description: Product Slug is one of (comma-separated).
          in: query
          name: productSlugIsOneOf
          schema:
            items:
              type: string
            type: array
        - description: Chain equals.
          in: query
          name: chainEq
          schema:
            type: string
        - description: Chain is one of (comma-separated).
          in: query
          name: chainIsOneOf
          schema:
            items:
              type: string
            type: array
        - description: Market Name equals.
          in: query
          name: marketNameEq
          schema:
            type: string
        - description: Market Name is one of (comma-separated).
          in: query
          name: marketNameIsOneOf
          schema:
            items:
              type: string
            type: array
        - description: Market Name contains (case-insensitive substring).
          in: query
          name: marketNameContains
          schema:
            type: string
        - description: Market Type equals.
          in: query
          name: marketTypeEq
          schema:
            type: string
        - description: Market Type is one of (comma-separated).
          in: query
          name: marketTypeIsOneOf
          schema:
            items:
              type: string
            type: array
        - description: Protocol Slug equals.
          in: query
          name: protocolSlugEq
          schema:
            type: string
        - description: Protocol Slug is one of (comma-separated).
          in: query
          name: protocolSlugIsOneOf
          schema:
            items:
              type: string
            type: array
        - description: Protocol Name equals.
          in: query
          name: protocolNameEq
          schema:
            type: string
        - description: Protocol Name is one of (comma-separated).
          in: query
          name: protocolNameIsOneOf
          schema:
            items:
              type: string
            type: array
        - description: Project ID equals.
          in: query
          name: projectIDEq
          schema:
            type: string
        - description: Project ID is one of (comma-separated).
          in: query
          name: projectIDIsOneOf
          schema:
            items:
              type: string
            type: array
        - description: Field to sort by; defaults to the model's default sort column.
          in: query
          name: sortBy
          schema:
            default: name
            enum:
              - name
              - slug
              - parentSlug
            type: string
        - description: Sort direction.
          in: query
          name: sortDirection
          schema:
            default: asc
            enum:
              - asc
              - desc
            type: string
        - description: 1-based page number.
          in: query
          name: page
          schema:
            type: integer
        - description: Rows per page (max 1000, default 100).
          in: query
          name: pageSize
          schema:
            type: integer
        - description: Comma-separated fields to return; defaults to all fields.
          in: query
          name: selections
          schema:
            items:
              enum:
                - id
                - name
                - slug
                - parentSlug
                - productSlug
                - chain
                - marketName
                - marketType
                - protocolSlug
                - protocolName
                - projectID
              type: string
            type: array
        - description: >-
            Response format, overriding the Accept header: json (default), csv,
            or jsonl (NDJSON). csv and jsonl return the rows as a downloadable
            file.
          in: query
          name: acceptFormat
          schema:
            default: json
            enum:
              - json
              - csv
              - jsonl
            type: string
      responses:
        '200':
          content:
            application/json:
              example:
                data:
                  - chain: <chain>
                    id: <id>
                    marketName: <marketName>
                    marketType: <marketType>
                    name: <name>
                    parentSlug: <parentSlug>
                    productSlug: <productSlug>
                    projectID: <projectID>
                    protocolName: <protocolName>
                    protocolSlug: <protocolSlug>
                    slug: <slug>
                error: null
                metadata:
                  totalPages: 1
                  totalRows: 1
              schema:
                properties:
                  data:
                    items:
                      $ref: '#/components/schemas/LendingProtocolProductMarketsRow'
                    type: array
                  error:
                    nullable: true
                    type: string
                  metadata:
                    description: >-
                      Pagination totals for the full filtered result set,
                      independent of the current page.
                    properties:
                      totalPages:
                        format: int64
                        type: integer
                      totalRows:
                        format: int64
                        type: integer
                    required:
                      - totalRows
                      - totalPages
                    type: object
                required:
                  - data
                  - metadata
                type: object
            application/x-ndjson:
              schema:
                description: JSON Lines (NDJSON); one JSON object per line.
                type: string
            text/csv:
              schema:
                description: CSV with a header row; one row per record.
                type: string
          description: >-
            One page of matching rows, with the totals for the whole filtered
            set.
        '400':
          content:
            application/json:
              example:
                data: null
                error: unknown query parameter "id"
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: >-
            The request is malformed: an unknown query parameter (a filter needs
            its operator suffix, such as idEq), a filter value of the wrong
            type, a sortBy field that is not sortable, an unknown selections
            field, or a pageSize above 1000.
        '401':
          content:
            application/json:
              example:
                data: null
                error: this model requires authentication
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: No API key was sent and the model requires one.
        '403':
          content:
            application/json:
              example:
                data: null
                error: >-
                  this model requires the "projects_protocols_unified"
                  permission
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: >-
            The API key is not valid, or does not hold the
            "projects_protocols_unified" permission.
        '404':
          content:
            application/json:
              example:
                data: null
                error: tabular model "unknown-model" not found
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: >-
            The path names a model that does not exist: the slug is mistyped or
            the model was removed.
components:
  schemas:
    LendingProtocolProductMarketsRow:
      properties:
        chain:
          description: >-
            The short name of the chain the market lives on (ethereum, bnb,
            solana).
          nullable: true
          type: string
        id:
          description: >-
            The series key of the lending-protocols-by-product-market timeseries
            model, the product id followed by the market key, joined with
            underscores.
          nullable: true
          type: string
        marketName:
          description: The market display name.
          nullable: true
          type: string
        marketType:
          description: >-
            The market type where the protocol distinguishes one (for example
            core, pooled or credit_vault); null otherwise.
          nullable: true
          type: string
        name:
          description: >-
            The display name of the market (market name when present, else the
            market key).
          nullable: true
          type: string
        parentSlug:
          description: >-
            The parent protocol's short name, the id in lending-protocols
            (aave).
          nullable: true
          type: string
        productSlug:
          description: The product or version within the parent protocol (aave-v3).
          nullable: true
          type: string
        projectID:
          description: The identifier of the parent protocol's project record.
          nullable: true
          type: string
        protocolName:
          description: >-
            The name of the protocol record mapped to the product; null when
            unmapped.
          nullable: true
          type: string
        protocolSlug:
          description: >-
            The slug of the protocol record mapped to the product; null when
            unmapped.
          nullable: true
          type: string
        slug:
          description: >-
            The parent protocol's project slug, the slug used for the same
            protocol across the API.
          nullable: true
          type: string
      type: object
    ErrorResponse:
      properties:
        data:
          description: Always null on an error.
          nullable: true
          type: object
        error:
          description: What went wrong, in one sentence.
          type: string
      required:
        - error
        - data
      type: object
  securitySchemes:
    apiKey:
      description: >-
        API key sent in the `X-Blockworks-API-Key` header; `x-messari-api-key`
        is accepted for existing integrations. The catalog endpoints and models
        on the public access tier need no key.
      in: header
      name: X-Blockworks-API-Key
      type: apiKey

````