Kamino Yields API

The Yields API from Kamino — 2 operation(s) for yields.

Operations 2

GET /yields/{yieldSource}/history Get yield history
GET /yields/principal-tokens Get principal token yields

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/kamino-yields-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

kamino-yields-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 1.0.0
  title: Kamino Public Airdrop Yields API
  description: 'The Kamino API provides a comprehensive way to interact with Kamino without reading directly from the blockchain.


    The API also provides the ability to fetch data that might not be available from just reading the chain.


    The API is rate-limited for unauthenticated users. If you feel you need to make more requests or run into rate-limit issues, please reach out.

    '
servers:
- url: https://api.kamino.finance
tags:
- name: Yields
paths:
  /yields/{yieldSource}/history:
    get:
      summary: Get yield history
      description: Get historical yield data for a given source, between an optional range of dates (max 366 days). For extra farm yields specify the source as farmAddress-rewardMint.
      tags:
      - Yields
      parameters:
      - schema:
          type: string
          description: 'Yield source identifier. For regular yields use the token mint address. For extra farm yields use the format: farmAddress-rewardMint'
          example: AvZZF1YaZDziPY2RCK4oJrRVrbN3mTD9NL24hPeaZeUj
          examples:
          - AvZZF1YaZDziPY2RCK4oJrRVrbN3mTD9NL24hPeaZeUj
          - FciPo1fpNgStdnVvKT7abcFfyqn2sJijLrNLCkKtbsye-2u1tszSeqZ3qBWF3uNGPFc8TzMk2tdiwknnRMWGWjGWH
        required: true
        description: 'Yield source identifier. For regular yields use the token mint address. For extra farm yields use the format: farmAddress-rewardMint'
        name: yieldSource
        in: path
      - schema:
          anyOf:
          - type: string
          - type: number
          description: Date input (ISO 8601 string or epoch in ms)
          examples:
          - '2024-01-01T00:00:00.000Z'
          - 1704067200000
          example: 2020-01-01T00:00Z
        required: false
        description: Date input (ISO 8601 string or epoch in ms)
        name: start
        in: query
      - schema:
          anyOf:
          - type: string
          - type: number
          description: Date input (ISO 8601 string or epoch in ms)
          examples:
          - '2024-01-01T00:00:00.000Z'
          - 1704067200000
          example: 2020-02-01T00:00Z
        required: false
        description: Date input (ISO 8601 string or epoch in ms)
        name: end
        in: query
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/YieldHistoryResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: High-level error message describing the failure
                    example: Invalid query params
                  details:
                    type: array
                    items:
                      type: object
                      additionalProperties: {}
                    description: Detailed validation issues (present only for validation errors)
                required:
                - error
                description: Bad request response (400)
                example:
                  error: Invalid query request
                  details:
                  - code: invalid_union
                    errors:
                    - - code: custom
                        path: []
                        message: Invalid date string
                    - - expected: number
                        code: invalid_type
                        path: []
                        message: 'Invalid input: expected number, received string'
                    path:
                    - start
                    message: Invalid input
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /yields/principal-tokens:
    get:
      summary: Get principal token yields
      description: Get current APY yields for principal tokens from various sources
      tags:
      - Yields
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PtYieldsResponse'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    AddressBase58:
      type: string
      description: Valid base58-encoded address
      example: VEG1EMtttdHunMbSza8uoms1R18VXmYSph2bBpHcSJd
    YieldHistoryResponse:
      type: array
      items:
        $ref: '#/components/schemas/YieldHistoryItem'
    YieldHistoryItem:
      type: object
      properties:
        createdOn:
          allOf:
          - $ref: '#/components/schemas/SnapshotDateTime'
          - description: Timestamp when the snapshot was created (ISO 8601 format)
            example: '2025-03-01T12:00:00.000Z'
        apr:
          $ref: '#/components/schemas/Apr'
        apy:
          allOf:
          - $ref: '#/components/schemas/Apy'
          - description: APY in decimal format (not percentage) represented as string. Multiply by 100 to get percentage (%) - 0.1 in API response is 10%.
            example: '0.2'
      required:
      - createdOn
      - apr
      - apy
    Apy:
      type: string
      description: Borrow interest APY
      example: '0.027610992938039702'
      examples:
      - '0.123'
      - '0'
      - '1'
      - '1.23'
      - '-0.5'
      - '999999.999999'
    Error:
      type: object
      properties:
        error:
          type: string
          description: Error message for internal server failure
          example: An internal error occurred
      required:
      - error
      description: Internal server error response (500)
      example:
        error: An internal error occurred
    PtYieldItem:
      type: object
      properties:
        apy:
          allOf:
          - $ref: '#/components/schemas/Apy'
          - description: APY in decimal format (not percentage) represented as string. Multiply by 100 to get percentage (%) - 0.1 in API response is 10%.
            example: '0.2'
        tokenMint:
          allOf:
          - $ref: '#/components/schemas/AddressBase58'
          - description: Valid base58-encoded address of the token mint
            example: So11111111111111111111111111111111111111112
            examples:
            - So11111111111111111111111111111111111111112
            - EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
            - DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263
      required:
      - apy
      - tokenMint
    Apr:
      type: string
      description: APR in decimal format (not percentage) represented as string. Multiply by 100 to get percentage (%) - 0.1 in API response is 10%.
      example: '0.2'
      examples:
      - '0.123'
      - '0'
      - '1'
      - '1.23'
      - '-0.5'
      - '999999.999999'
    PtYieldsResponse:
      type: array
      items:
        $ref: '#/components/schemas/PtYieldItem'
    SnapshotDateTime:
      type: string
      format: date-time
      description: Timestamp of the metrics snapshot
      example: '2023-06-29T15:15:26.464Z'