Arbitron Funding API

Funding rates on every perpetual contract, one coin across venues, and history by day or by settlement. Rates are percent per settlement; `apr_pct` is annualised.

Operations 3

GET /api/v1/funding Current funding rate on every venue and symbol #
GET /api/v1/funding/{coin} One coin's funding across venues #
GET /api/v1/funding/history Funding history, daily or per settlement #

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/arbitron-app:arbitron-app-funding-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

arbitron-app-funding-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Arbitron App Funding API
  version: 1.0.0
  contact:
    name: Arbitron
    url: https://arbitron.app/developers
    email: support@arbitron.app
  termsOfService: https://arbitron.app/terms
  description: 'Operations tagged Funding across 2 of this provider''s published API definitions: arbitron-openapi.json, arbitron-app-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://arbitron.app
  description: Production
security:
- ApiKey: []
tags:
- name: Funding
  description: Funding rates on every perpetual contract, one coin across venues, and history by day or by settlement. Rates are percent per settlement; `apr_pct` is annualised.
paths:
  /api/v1/funding:
    get:
      tags:
      - Funding
      summary: Current funding rate on every venue and symbol
      description: 'One row per perpetual contract on every venue Arbitron tracks, sorted by absolute rate. Rates are percent per settlement; `apr_pct` is the annualised carry net of costs.


        - Filter by coin, venue, signed or absolute rate bounds, APR, 7d/30d sums, settlement interval, contract type, volume and time to the next settlement.

        - Sort by any of them with `sort`.

        - Page with `cursor`.'
      operationId: listFunding
      parameters:
      - name: coin
        in: query
        description: One ticker or a comma-separated list, e.g. `BTC,ETH`. Case-insensitive.
        schema:
          type: string
      - name: exchange
        in: query
        description: Keep rows on these venues. One venue or a comma-separated list, spelled as `/exchanges` spells it, e.g. `Binance,Bybit`.
        schema:
          type: string
      - name: exclude_exchange
        in: query
        description: Drop rows on these venues. One venue or a comma-separated list, spelled as `/exchanges` spells it, e.g. `Binance,Bybit`.
        schema:
          type: string
      - name: min_rate_pct
        in: query
        description: Keep rows whose `rate_pct` is at least this (signed), e.g. `0.05` or `-0.01`.
        schema:
          type: number
          format: double
      - name: max_rate_pct
        in: query
        description: Keep rows whose `rate_pct` is at most this (signed), e.g. `-0.01` for negative funding only.
        schema:
          type: number
          format: double
      - name: min_abs_rate_pct
        in: query
        description: Keep rows whose `|rate_pct|` is at least this, e.g. `0.05`.
        schema:
          type: number
          format: double
      - name: max_abs_rate_pct
        in: query
        description: Keep rows whose `|rate_pct|` is at most this.
        schema:
          type: number
          format: double
      - name: min_apr_pct
        in: query
        description: Keep rows whose `apr_pct` is at least this (signed). Rows without an APR are dropped.
        schema:
          type: number
          format: double
      - name: max_apr_pct
        in: query
        description: Keep rows whose `apr_pct` is at most this (signed).
        schema:
          type: number
          format: double
      - name: min_sum_7d_pct
        in: query
        description: Keep rows whose `sum_7d_pct` is at least this (signed).
        schema:
          type: number
          format: double
      - name: max_sum_7d_pct
        in: query
        description: Keep rows whose `sum_7d_pct` is at most this (signed).
        schema:
          type: number
          format: double
      - name: min_sum_30d_pct
        in: query
        description: Keep rows whose `sum_30d_pct` is at least this (signed).
        schema:
          type: number
          format: double
      - name: max_sum_30d_pct
        in: query
        description: Keep rows whose `sum_30d_pct` is at most this (signed).
        schema:
          type: number
          format: double
      - name: interval_hours
        in: query
        description: Keep rows settling on these intervals, comma-separated, e.g. `1` or `4,8`.
        schema:
          type: string
      - name: is_inverse
        in: query
        description: '`true` keeps coin-margined (inverse) contracts only, `false` keeps linear only. Default: both.'
        schema:
          type: boolean
      - name: min_volume_usdt
        in: query
        description: Keep rows whose 24h volume is at least this many USDT, e.g. `1000000`.
        schema:
          type: number
          format: double
      - name: max_volume_usdt
        in: query
        description: Keep rows whose 24h volume is at most this many USDT.
        schema:
          type: number
          format: double
      - name: settles_within_minutes
        in: query
        description: Keep rows whose next settlement is within this many minutes, 1 to 1440, e.g. `30`.
        schema:
          type: integer
          format: int32
      - name: sort
        in: query
        description: '`abs_rate_desc` (default), `abs_rate_asc`, `rate_desc`, `rate_asc`, `apr_desc`, `apr_asc`, `sum_7d_desc`, `sum_7d_asc`, `sum_30d_desc`, `sum_30d_asc`, `volume_desc`, `volume_asc`, `next_funding_asc`, `next_funding_desc`, `coin_asc`, `exchange_asc`.'
        schema:
          type: string
      - name: limit
        in: query
        description: 'Rows per page, 1 to 500 (Demo: 50). Default 100.'
        schema:
          type: integer
          format: int32
      - name: cursor
        in: query
        description: '`meta.next_cursor` from the previous page.'
        schema:
          type: string
      - name: fields
        in: query
        description: Comma-separated row fields to keep, e.g. `exchange,coin,rate_pct`; the others are dropped from every row. Unknown names are a 400 that lists the fields.
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiEnvelopeOfIReadOnlyListOfFundingRateItem'
              example:
                data:
                - exchange: Binance
                  symbol: BTC-USDT
                  coin: BTC
                  is_inverse: false
                  rate_pct: 0.01
                  apr_pct: 10.95
                  sum_7d_pct: 0.21
                  sum_30d_pct: 0.84
                  interval_hours: 8
                  next_funding_at: '2026-09-21T16:00:00Z'
                  volume_24h_usdt: 3498540070
                - exchange: GateIo
                  symbol: ONE-USDT
                  coin: ONE
                  is_inverse: false
                  rate_pct: -0.7952
                  apr_pct: -870.7
                  sum_7d_pct: -2.4
                  sum_30d_pct: -5.1
                  interval_hours: 8
                  next_funding_at: '2026-09-21T16:00:00Z'
                  volume_24h_usdt: 30509358
                meta:
                  as_of: '2026-09-21T12:00:04Z'
                  delayed_seconds: 0
                  source: arbitron.app
                  url: https://arbitron.app/funding-rates?utm_source=api
                  count: 2
                  total: 4213
                  next_cursor: Mg
        '400':
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ApiProblem'
              example:
                type: https://arbitron.app/developers/errors#invalid-parameter
                title: A parameter is not valid
                status: 400
                detail: '''sort'' must be one of abs_rate_desc, abs_rate_asc, rate_desc, rate_asc, apr_desc, apr_asc, sum_7d_desc, sum_7d_asc, sum_30d_desc, sum_30d_asc, volume_desc, volume_asc, next_funding_asc, next_funding_desc, coin_asc, exchange_asc.'
                instance: 0HN7Q2K3J4L5M:00000001
                code: invalid-parameter
                docs: https://arbitron.app/developers/errors
        '404':
          description: Not Found
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ApiProblem'
              example:
                type: https://arbitron.app/developers/errors#invalid-parameter
                title: A parameter is not valid
                status: 400
                detail: '''sort'' must be one of abs_rate_desc, abs_rate_asc, rate_desc, rate_asc, apr_desc, apr_asc, sum_7d_desc, sum_7d_asc, sum_30d_desc, sum_30d_asc, volume_desc, volume_asc, next_funding_asc, next_funding_desc, coin_asc, exchange_asc.'
                instance: 0HN7Q2K3J4L5M:00000001
                code: invalid-parameter
                docs: https://arbitron.app/developers/errors
    servers:
    - url: https://arbitron.app
      description: Production
  /api/v1/funding/{coin}:
    get:
      tags:
      - Funding
      summary: One coin's funding across venues
      description: Every venue quoting the coin, the spread between the highest and lowest rate, and which venue pays a short or a long best right now. `strategy_url` opens the terminal's new-strategy form on that pair, short the best short venue and long the best long one, in Hold Mode; opening it creates nothing until the trader presses Start. Narrow the ranking to a venue list (`exchange`, `exclude_exchange`) or a volume floor (`min_volume_usdt`).
      operationId: getCoinFunding
      parameters:
      - name: coin
        in: path
        description: Ticker, e.g. `BTC`. Case-insensitive.
        required: true
        schema:
          type: string
      - name: exchange
        in: query
        description: Rank only these venues. One venue or a comma-separated list, spelled as `/exchanges` spells it, e.g. `Binance,Bybit`.
        schema:
          type: string
      - name: exclude_exchange
        in: query
        description: Leave these venues out of the ranking. One venue or a comma-separated list, spelled as `/exchanges` spells it, e.g. `Binance,Bybit`.
        schema:
          type: string
      - name: min_volume_usdt
        in: query
        description: Rank only venues whose 24h volume on the coin is at least this many USDT.
        schema:
          type: number
          format: double
      - name: fields
        in: query
        description: Comma-separated row fields to keep, e.g. `exchange,coin,rate_pct`; the others are dropped from every row. Unknown names are a 400 that lists the fields.
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiEnvelopeOfCoinFundingResponse'
              example:
                data:
                  coin: BTC
                  venue_count: 18
                  spread_pct: 0.0176
                  highest:
                    exchange: Mexc
                    symbol: BTC-USDT
                    rate_pct: 0.015
                  lowest:
                    exchange: Hyperliquid
                    symbol: BTC-USDT
                    rate_pct: -0.0026
                  best_short_exchange: Mexc
                  best_long_exchange: Hyperliquid
                  total_volume_24h_usdt: 41230000000
                  inverse_venues:
                  - Blofin
                  - Bitget
                  rates:
                  - exchange: Mexc
                    symbol: BTC-USDT
                    coin: BTC
                    is_inverse: false
                    rate_pct: 0.015
                    apr_pct: 16.4
                    sum_7d_pct: 0.31
                    sum_30d_pct: 1.2
                    interval_hours: 8
                    next_funding_at: '2026-09-21T16:00:00Z'
                    volume_24h_usdt: 812000000
                  strategy_url: https://arbitron.app/dashboard?symbol=BTC-USDT&exA=Hyperliquid&exB=Mexc&funding_dir=2&utm_source=api
                meta:
                  as_of: '2026-09-21T12:00:04Z'
                  delayed_seconds: 0
                  source: arbitron.app
                  url: https://arbitron.app/funding-rates/coin/btc?utm_source=api
                  count: 18
                  total: 18
        '404':
          description: Not Found
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ApiProblem'
              example:
                type: https://arbitron.app/developers/errors#invalid-parameter
                title: A parameter is not valid
                status: 400
                detail: '''sort'' must be one of abs_rate_desc, abs_rate_asc, rate_desc, rate_asc, apr_desc, apr_asc, sum_7d_desc, sum_7d_asc, sum_30d_desc, sum_30d_asc, volume_desc, volume_asc, next_funding_asc, next_funding_desc, coin_asc, exchange_asc.'
                instance: 0HN7Q2K3J4L5M:00000001
                code: invalid-parameter
                docs: https://arbitron.app/developers/errors
    servers:
    - url: https://arbitron.app
      description: Production
  /api/v1/funding/history:
    get:
      tags:
      - Funding
      summary: Funding history, daily or per settlement
      description: 'Two resolutions:


        - `resolution=1d`: one annualised APR point per day for each venue quoting the coin, up to 180 days.

        - `resolution=settlement`: every settlement print for one venue, up to 92 days per call.


        Window by `from`/`to` or `days`. `order=desc` with `limit` reads the last N points. How far back you may reach depends on the plan.'
      operationId: getFundingHistory
      parameters:
      - name: coin
        in: query
        description: Ticker, e.g. `BTC`.
        schema:
          type: string
      - name: exchange
        in: query
        description: Venues to include; a list for `1d`, exactly one for `settlement`. One venue or a comma-separated list, spelled as `/exchanges` spells it, e.g. `Binance,Bybit`.
        schema:
          type: string
      - name: exclude_exchange
        in: query
        description: Venues to leave out (`1d`). One venue or a comma-separated list, spelled as `/exchanges` spells it, e.g. `Binance,Bybit`.
        schema:
          type: string
      - name: resolution
        in: query
        description: '`1d` (default) or `settlement`.'
        schema:
          type: string
      - name: from
        in: query
        description: 'ISO 8601 UTC. Default: 30 days before `to` (`1d`) or 7 days (`settlement`).'
        schema:
          type: string
          format: date-time
      - name: to
        in: query
        description: 'ISO 8601 UTC. Default: now.'
        schema:
          type: string
          format: date-time
      - name: days
        in: query
        description: 'Shortcut for `from`: this many days before `to`, 1 to 180. Ignored when `from` is given.'
        schema:
          type: integer
          format: int32
      - name: order
        in: query
        description: '`asc` (default, oldest first) or `desc` (newest first).'
        schema:
          type: string
      - name: limit
        in: query
        description: 'Points per series at most, 1 to 5000, taken after ordering: `order=desc&limit=10` is the last ten.'
        schema:
          type: integer
          format: int32
      - name: fields
        in: query
        description: Comma-separated row fields to keep, e.g. `exchange,coin,rate_pct`; the others are dropped from every row. Unknown names are a 400 that lists the fields.
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiEnvelopeOfFundingHistoryResponse'
              example:
                data:
                  coin: ETH
                  resolution: 1d
                  from: '2026-09-14T00:00:00Z'
                  to: '2026-09-21T00:00:00Z'
                  series:
                  - exchange: Binance
                    symbol: ETH-USDT
                    daily:
                    - day: '2026-09-14'
                      apr_pct: 9.12
                    - day: '2026-09-15'
                      apr_pct: 10.95
                    - day: '2026-09-16'
                      apr_pct: null
                meta:
                  as_of: '2026-09-21T12:00:04Z'
                  delayed_seconds: 0
                  source: arbitron.app
                  url: https://arbitron.app/funding-rates/coin/eth?utm_source=api
                  count: 1
                  total: 1
        '400':
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ApiProblem'
              example:
                type: https://arbitron.app/developers/errors#invalid-parameter
                title: A parameter is not valid
                status: 400
                detail: '''sort'' must be one of abs_rate_desc, abs_rate_asc, rate_desc, rate_asc, apr_desc, apr_asc, sum_7d_desc, sum_7d_asc, sum_30d_desc, sum_30d_asc, volume_desc, volume_asc, next_funding_asc, next_funding_desc, coin_asc, exchange_asc.'
                instance: 0HN7Q2K3J4L5M:00000001
                code: invalid-parameter
                docs: https://arbitron.app/developers/errors
        '403':
          description: Forbidden
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ApiProblem'
              example:
                type: https://arbitron.app/developers/errors#invalid-parameter
                title: A parameter is not valid
                status: 400
                detail: '''sort'' must be one of abs_rate_desc, abs_rate_asc, rate_desc, rate_asc, apr_desc, apr_asc, sum_7d_desc, sum_7d_asc, sum_30d_desc, sum_30d_asc, volume_desc, volume_asc, next_funding_asc, next_funding_desc, coin_asc, exchange_asc.'
                instance: 0HN7Q2K3J4L5M:00000001
                code: invalid-parameter
                docs: https://arbitron.app/developers/errors
        '404':
          description: Not Found
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ApiProblem'
              example:
                type: https://arbitron.app/developers/errors#invalid-parameter
                title: A parameter is not valid
                status: 400
                detail: '''sort'' must be one of abs_rate_desc, abs_rate_asc, rate_desc, rate_asc, apr_desc, apr_asc, sum_7d_desc, sum_7d_asc, sum_30d_desc, sum_30d_asc, volume_desc, volume_asc, next_funding_asc, next_funding_desc, coin_asc, exchange_asc.'
                instance: 0HN7Q2K3J4L5M:00000001
                code: invalid-parameter
                docs: https://arbitron.app/developers/errors
    servers:
    - url: https://arbitron.app
      description: Production
components:
  schemas:
    ApiProblem:
      required:
      - type
      - title
      - status
      - detail
      - instance
      - code
      - docs
      type: object
      properties:
        type:
          type: string
        title:
          type: string
        status:
          type: integer
          format: int32
        detail:
          type: string
        instance:
          type: string
        code:
          type: string
        docs:
          type: string
        suggestions:
          type:
          - 'null'
          - array
          items:
            type: string
    CoinFundingResponse:
      required:
      - coin
      - venue_count
      - spread_pct
      - highest
      - lowest
      - best_short_exchange
      - best_long_exchange
      - total_volume_24h_usdt
      - inverse_venues
      - rates
      type: object
      properties:
        coin:
          type: string
        venue_count:
          type: integer
          format: int32
        spread_pct:
          type: number
          format: double
        highest:
          $ref: '#/components/schemas/FundingVenueRef'
        lowest:
          $ref: '#/components/schemas/FundingVenueRef'
        best_short_exchange:
          type: string
        best_long_exchange:
          type: string
        total_volume_24h_usdt:
          type: number
          format: double
        inverse_venues:
          type: array
          items:
            type: string
        rates:
          type: array
          items:
            $ref: '#/components/schemas/FundingRateItem'
        strategy_url:
          type:
          - 'null'
          - string
    ApiEnvelopeOfIReadOnlyListOfFundingRateItem:
      required:
      - data
      - meta
      type: object
      properties:
        data:
          type:
          - 'null'
          - array
          items:
            $ref: '#/components/schemas/FundingRateItem'
        meta:
          $ref: '#/components/schemas/ApiMeta'
    ApiMeta:
      required:
      - as_of
      - delayed_seconds
      - source
      - url
      type: object
      properties:
        as_of:
          type: string
          format: date-time
        delayed_seconds:
          type: integer
          format: int32
        source:
          type: string
        url:
          type: string
        count:
          type:
          - 'null'
          - integer
          format: int32
        total:
          type:
          - 'null'
          - integer
          format: int32
        next_cursor:
          type:
          - 'null'
          - string
        withheld:
          type:
          - 'null'
          - integer
          format: int32
    FundingVenueRef:
      required:
      - exchange
      - symbol
      - rate_pct
      type: object
      properties:
        exchange:
          type: string
        symbol:
          type: string
        rate_pct:
          type: number
          format: double
    FundingHistoryResponse:
      required:
      - coin
      - resolution
      - from
      - to
      - series
      type: object
      properties:
        coin:
          type: string
        resolution:
          type: string
        from:
          type: string
          format: date-time
        to:
          type: string
          format: date-time
        series:
          type: array
          items:
            $ref: '#/components/schemas/FundingHistorySeries'
    FundingSettlementPoint:
      required:
      - time
      - rate_pct
      - interval_hours
      type: object
      properties:
        time:
          type: string
          format: date-time
        rate_pct:
          type: number
          format: double
        interval_hours:
          type:
          - 'null'
          - integer
          format: int32
    ApiEnvelopeOfFundingHistoryResponse:
      required:
      - data
      - meta
      type: object
      properties:
        data:
          oneOf:
          - type: 'null'
          - $ref: '#/components/schemas/FundingHistoryResponse'
        meta:
          $ref: '#/components/schemas/ApiMeta'
    ApiEnvelopeOfCoinFundingResponse:
      required:
      - data
      - meta
      type: object
      properties:
        data:
          oneOf:
          - type: 'null'
          - $ref: '#/components/schemas/CoinFundingResponse'
        meta:
          $ref: '#/components/schemas/ApiMeta'
    FundingRateItem:
      required:
      - exchange
      - symbol
      - coin
      - is_inverse
      - rate_pct
      - apr_pct
      - sum_7d_pct
      - sum_30d_pct
      - interval_hours
      - next_funding_at
      - volume_24h_usdt
      type: object
      properties:
        exchange:
          type: string
        symbol:
          type: string
        coin:
          type: string
        is_inverse:
          type: boolean
        rate_pct:
          type: number
          format: double
        apr_pct:
          type:
          - 'null'
          - number
          format: double
        sum_7d_pct:
          type:
          - 'null'
          - number
          format: double
        sum_30d_pct:
          type:
          - 'null'
          - number
          format: double
        interval_hours:
          type:
          - 'null'
          - integer
          format: int32
        next_funding_at:
          type:
          - 'null'
          - string
          format: date-time
        volume_24h_usdt:
          type: number
          format: double
    FundingDailyPoint:
      required:
      - day
      - apr_pct
      type: object
      properties:
        day:
          type: string
          format: date
        apr_pct:
          type:
          - 'null'
          - number
          format: double
    FundingHistorySeries:
      required:
      - exchange
      - symbol
      - daily
      - settlements
      type: object
      properties:
        exchange:
          type: string
        symbol:
          type: string
        daily:
          type:
          - 'null'
          - array
          items:
            $ref: '#/components/schemas/FundingDailyPoint'
        settlements:
          type:
          - 'null'
          - array
          items:
            $ref: '#/components/schemas/FundingSettlementPoint'
  securitySchemes:
    ApiKey:
      type: http
      description: Your API key as a bearer token. The X-Api-Key header is accepted too.
      scheme: bearer
      bearerFormat: arb_live_<43 chars>_<6 chars>
x-refined-from:
- arbitron-openapi.json
- arbitron-app-openapi.json