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

# Get All Providers

> Lists providers. Filters: q (substring match on name/categories), category[], include_hidden (auth-gated). Sort: tvl_total | name | num_vaults (default tvl_total desc). Pass fields=summary to receive the slim ApiProviderListItem shape; otherwise the existing fat common.Provider shape is returned for back-compat.



## OpenAPI

````yaml https://persephone.superform.xyz/openapi.json get /v1/providers
openapi: 3.1.0
info:
  title: Superform API
  description: API for interacting with the Superform platform
  version: 33.2.0
  contact:
    name: Superform Team
    url: https://superform.xyz
servers:
  - url: https://persephone.superform.xyz
security:
  - SF-API-KEY: []
tags:
  - name: RestAPIService
paths:
  /v1/providers:
    get:
      tags:
        - RestAPIService
      summary: Get All Providers
      description: >-
        Lists providers. Filters: q (substring match on name/categories),
        category[], include_hidden (auth-gated). Sort: tvl_total | name |
        num_vaults (default tvl_total desc). Pass fields=summary to receive the
        slim ApiProviderListItem shape; otherwise the existing fat
        common.Provider shape is returned for back-compat.
      operationId: RestAPIService_GetAllProviders
      parameters:
        - name: fields
          description: >-
            Pass 'summary' to receive the slim ApiProviderListItem shape in
            providers_summary instead of the fat common.Provider shape in
            providers.
          in: query
          required: false
          schema:
            type: string
        - name: sort_by
          description: 'Sort key. One of: tvl_total, name, num_vaults. Default: tvl_total.'
          in: query
          required: false
          schema:
            type: string
        - name: sort_dir
          description: 'Sort direction. asc or desc. Default: desc.'
          in: query
          required: false
          schema:
            type: string
        - name: q
          description: >-
            Substring match against provider name and categories
            (case-insensitive).
          in: query
          required: false
          schema:
            type: string
        - name: category
          description: Category filter. Repeat the param to OR multiple categories.
          in: query
          required: false
          explode: true
          schema:
            type: array
            items:
              type: string
        - name: include_hidden
          description: >-
            When true, also returns hidden/unapproved providers. Requires JWT +
            superadmin or provider admin.
          in: query
          required: false
          schema:
            type: boolean
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/restGetAllProvidersResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
components:
  schemas:
    restGetAllProvidersResponse:
      type: object
      properties:
        providers:
          type: array
          items:
            $ref: '#/components/schemas/commonProvider'
          description: Existing fat shape. Populated when fields is empty (default).
        providers_summary:
          type: array
          items:
            $ref: '#/components/schemas/restApiProviderListItem'
          description: SUP-19696 slim shape. Populated when fields=summary.
    rpcStatus:
      type: object
      properties:
        code:
          type: integer
          format: int32
        message:
          type: string
        details:
          type: array
          items:
            $ref: '#/components/schemas/protobufAny'
    commonProvider:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        description:
          type: string
        provider_type:
          type: string
          example: protocol
          description: 'Provider type. Possible values: protocol, curator, issuer'
        category:
          type: array
          items:
            type: string
        chain_ids:
          type: array
          items:
            type: string
            format: uint64
        is_hidden:
          type: boolean
        vanity_url:
          type: string
          example: morpho-blue
          description: >-
            Optional admin-set URL slug. When non-empty it overrides the
            slugified name as the provider's canonical slug.
        num_vaults:
          type: string
          format: int64
        tagline:
          type: string
        status_message:
          type: string
        metadata:
          $ref: '#/components/schemas/commonProviderMetadata'
        deployers:
          type: array
          items:
            $ref: '#/components/schemas/commonDeployer'
        users:
          type: array
          items:
            $ref: '#/components/schemas/commonUser'
          title: these are admins
        stats_basic:
          $ref: '#/components/schemas/commonProviderStatsBasic'
        created_at:
          type: string
          format: date-time
        admin_status:
          type: string
          example: approved
          description: >-
            Admin approval status for the provider. One of: enqueued, approved,
            rejected.
        auto_list_vaults:
          type: boolean
          example: false
          description: >-
            Whether newly approved vaults for this provider should be
            auto-listed. Defaults to false.
        slug:
          type: string
          example: morpho-blue
          description: >-
            Canonical URL-safe slug (vanity_url when set, else slugified name).
            Unique across providers.
        chains:
          type: array
          items:
            $ref: '#/components/schemas/commonChain'
          description: >-
            Pre-resolved chains (id/name/icon) for the chains this provider
            operates on. Populated on provider-detail responses.
        highest_apy_day:
          type: number
          format: double
        highest_apy_week:
          type: number
          format: double
        highest_apy_month:
          type: number
          format: double
        highest_apy_year:
          type: number
          format: double
      title: Provider represents a DeFi protocol
    restApiProviderListItem:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        logo:
          type: string
        type:
          type: string
        description:
          type: string
        admin_status:
          type: string
        is_hidden:
          type: boolean
        slug:
          type: string
        categories:
          type: array
          items:
            type: string
        tvl_total:
          type: number
          format: double
        num_vaults:
          type: string
          format: int64
      description: >-
        ApiProviderListItem mirrors the FE ProviderInfo shape (logo / type, NOT

        metadata.graphics.icon / provider_type) so the FE can consume the
        response

        without re-mapping.
    protobufAny:
      type: object
      properties:
        '@type':
          type: string
      additionalProperties: {}
    commonProviderMetadata:
      type: object
      properties:
        audits:
          type: array
          items:
            $ref: '#/components/schemas/commonAudit'
        faq:
          type: array
          items:
            $ref: '#/components/schemas/commonFAQ'
        graphics:
          $ref: '#/components/schemas/ProviderMetadataGraphics'
        links:
          $ref: '#/components/schemas/ProviderMetadataLinks'
    commonDeployer:
      type: object
      properties:
        address:
          type: string
        name:
          type: string
        is_verified:
          type: boolean
        admin_status:
          type: string
          example: approved
          description: >-
            Admin approval status for the deployer-provider association. One of:
            enqueued, approved, rejected.
        created_at:
          type: string
    commonUser:
      type: object
      properties:
        address:
          type: string
        name:
          type: string
        role:
          type: string
    commonProviderStatsBasic:
      type: object
      properties:
        tvl_total:
          type: number
          format: double
        tvl_superform:
          type: number
          format: double
        tvl_total_change_day:
          type: number
          format: double
        tvl_total_change_week:
          type: number
          format: double
        tvl_total_change_month:
          type: number
          format: double
        tvl_total_change_year:
          type: number
          format: double
        tvl_total_change_all_time:
          type: number
          format: double
        tvl_superform_change_day:
          type: number
          format: double
        tvl_superform_change_week:
          type: number
          format: double
        tvl_superform_change_month:
          type: number
          format: double
        tvl_superform_change_year:
          type: number
          format: double
        tvl_superform_change_all_time:
          type: number
          format: double
    commonChain:
      type: object
      properties:
        chain_id:
          type: string
          format: uint64
        name:
          type: string
        icon:
          type: string
        is_l1:
          type: boolean
        rpcs:
          type: array
          items:
            type: string
        explorers:
          type: array
          items:
            type: string
        currency_name:
          type: string
        currency_symbol:
          type: string
        currency_icon:
          type: string
        currency_decimals:
          type: integer
          format: int32
        currency_min_gas:
          type: string
      title: Chain represents a blockchain network
    commonAudit:
      type: object
      properties:
        date:
          type: string
          format: date-time
        url:
          type: string
        auditor:
          type: string
    commonFAQ:
      type: object
      properties:
        question:
          type: string
        answer:
          type: string
      title: '--- metadata types ---'
    ProviderMetadataGraphics:
      type: object
      properties:
        icon:
          type: string
        header:
          type: string
        watermark:
          type: string
    ProviderMetadataLinks:
      type: object
      properties:
        discord:
          type: string
        documentation:
          type: string
        github:
          type: string
        medium:
          type: string
        telegram:
          type: string
        twitter:
          type: string
        website:
          type: string
  securitySchemes:
    SF-API-KEY:
      type: apiKey
      description: >-
        API key required for authentication. Use the value {{v2_api_key}} in
        Postman.
      name: SF-API-KEY
      in: header

````

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