Arbitron Reference data API

The venues, the coins and the listings calendar: what exists, what it is called, and what is about to be listed or delisted. Use the names these return to fill the `exchange` and `coin` parameters everywhere else.

Operations 3

GET /api/v1/exchanges The venues #
GET /api/v1/coins Coins with a funding page #
GET /api/v1/listings Announced listings and delistings #

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-reference-data-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-reference-data-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Arbitron App Reference data 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 Reference data 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: Reference data
  description: 'The venues, the coins and the listings calendar: what exists, what it is called, and what is about to be listed or delisted. Use the names these return to fill the `exchange` and `coin` parameters everywhere else.'
paths:
  /api/v1/exchanges:
    get:
      tags:
      - Reference data
      summary: The venues
      description: 'Every venue the API serves, with tracked instrument counts, maximum leverage, the default taker fee and links to its contract specs and funding pages. Filter by name, tradability or spot; sort by instruments, fee or leverage.


        Any valid key can call it; no scope is needed.'
      operationId: listExchanges
      parameters:
      - name: q
        in: query
        description: Start of a venue name, e.g. `Bi` matches Binance, BingX, Bitget.
        schema:
          type: string
      - name: trading_enabled
        in: query
        description: '`true` keeps venues Arbitron can trade on, `false` the rest. Default: all.'
        schema:
          type: boolean
      - name: has_spot
        in: query
        description: '`true` keeps venues with a spot market, `false` the rest. Default: all.'
        schema:
          type: boolean
      - name: sort
        in: query
        description: '`name_asc` (default), `instruments_desc`, `fee_asc`, `leverage_desc`.'
        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/ApiEnvelopeOfIReadOnlyListOfExchangeItem'
              example:
                data:
                - exchange: Binance
                  name: Binance
                  icon_url: https://arbitron.app/images/exchanges/binance.svg
                  tracked_instruments: 512
                  max_leverage: 125
                  taker_fee_pct: 0.05
                  trading_enabled: true
                  has_spot: true
                  fee_url: https://www.binance.com/en/fee/futureFee
                  specs_url: https://arbitron.app/exchanges/binance
                  funding_url: https://arbitron.app/funding-rates/binance
                meta:
                  as_of: '2026-09-21T12:00:04Z'
                  delayed_seconds: 0
                  source: arbitron.app
                  url: https://arbitron.app/exchanges?utm_source=api
                  count: 1
                  total: 19
        '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
    servers:
    - url: https://arbitron.app
      description: Production
  /api/v1/coins:
    get:
      tags:
      - Reference data
      summary: Coins with a funding page
      description: 'Ticker lookup: `q` matches the start of a ticker, or anywhere in it with `match=contains`. Each coin carries the venues quoting it and its 24h perpetual volume; filter by venue, venue count or volume.


        Any valid key can call it; no scope is needed.'
      operationId: listCoins
      parameters:
      - name: q
        in: query
        description: Text to match against the ticker, e.g. `PE` matches PEPE and PENDLE.
        schema:
          type: string
      - name: match
        in: query
        description: '`prefix` (default): `q` is the start of the ticker. `contains`: `q` appears anywhere, so `PEPE` also finds 1000PEPE.'
        schema:
          type: string
      - name: exchange
        in: query
        description: Keep coins quoted on these venues. One venue or a comma-separated list, spelled as `/exchanges` spells it, e.g. `Binance,Bybit`.
        schema:
          type: string
      - name: exchange_match
        in: query
        description: '`any` (default): quoted on at least one of `exchange`. `all`: quoted on every one of them.'
        schema:
          type: string
      - name: min_venues
        in: query
        description: Keep coins quoted on at least this many venues, 1 to 64.
        schema:
          type: integer
          format: int32
      - name: min_volume_usdt
        in: query
        description: Keep coins whose 24h perpetual volume across venues is at least this many USDT.
        schema:
          type: number
          format: double
      - name: sort
        in: query
        description: '`volume_desc` (default), `volume_asc`, `venues_desc`, `venues_asc`, `coin_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/ApiEnvelopeOfIReadOnlyListOfCoinItem'
              example:
                data:
                - coin: PEPE
                  venue_count: 6
                  exchanges:
                  - Binance
                  - BingX
                  - Bybit
                  - GateIo
                  - Mexc
                  - Okx
                  volume_24h_usdt: 20313414258
                  funding_url: https://arbitron.app/funding-rates/coin/pepe?utm_source=api
                meta:
                  as_of: '2026-09-21T12:00:04Z'
                  delayed_seconds: 0
                  source: arbitron.app
                  url: https://arbitron.app/funding-rates/coins?utm_source=api
                  count: 1
                  total: 654
        '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
    servers:
    - url: https://arbitron.app
      description: Production
  /api/v1/listings:
    get:
      tags:
      - Reference data
      summary: Announced listings and delistings
      description: 'The listings calendar: what each venue has announced, when it takes effect and where the announcement is. Filter by coin, venue, kind, status, detection source, an effective window and what is new since a time (`detected_after`); nearest first by default.'
      operationId: listListings
      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: type
        in: query
        description: '`listing` or `delisting`. Default: both.'
        schema:
          type: string
      - name: status
        in: query
        description: Exact status as the row carries it, e.g. `preopen`, `newly listed`, `delisted`.
        schema:
          type: string
      - name: source
        in: query
        description: '`announcement`, `instruments` or `diff`: how the row was detected. Default: all.'
        schema:
          type: string
      - name: from
        in: query
        description: Keep rows effective at or after this time (ISO 8601 UTC).
        schema:
          type: string
          format: date-time
      - name: to
        in: query
        description: Keep rows effective before this time (ISO 8601 UTC).
        schema:
          type: string
          format: date-time
      - name: days_ahead
        in: query
        description: 'Shortcut: rows effective between now and this many days ahead, 1 to 365. Ignored when `from` or `to` is given.'
        schema:
          type: integer
          format: int32
      - name: detected_after
        in: query
        description: 'Keep rows first seen after this time (ISO 8601 UTC): what is new since your last poll.'
        schema:
          type: string
          format: date-time
      - name: sort
        in: query
        description: '`nearest` (default: upcoming soonest first, then past most recent first, undated last), `effective_asc`, `effective_desc`, `detected_desc`, `detected_asc`, `coin_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/ApiEnvelopeOfIReadOnlyListOfListingItem'
              example:
                data:
                - exchange: BingX
                  symbol: RCAT-USDT
                  coin: RCAT
                  kind: delisting
                  effective_at: '2026-09-22T02:00:00Z'
                  source: announcement
                  announcement_url: https://bingx.com/en/support/notice-center/
                  detected_at: '2026-09-19T08:12:44Z'
                meta:
                  as_of: '2026-09-21T12:00:04Z'
                  delayed_seconds: 0
                  source: arbitron.app
                  url: https://arbitron.app/listings?utm_source=api
                  count: 1
                  total: 19
        '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
    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
    ListingItem:
      required:
      - exchange
      - symbol
      - coin
      - kind
      - status
      - effective_at
      - source
      - announcement_url
      - detected_at
      type: object
      properties:
        exchange:
          type: string
        symbol:
          type: string
        coin:
          type: string
        kind:
          type: string
        status:
          type:
          - 'null'
          - string
        effective_at:
          type:
          - 'null'
          - string
          format: date-time
        source:
          type: string
        announcement_url:
          type:
          - 'null'
          - string
        detected_at:
          type: string
          format: date-time
    ApiEnvelopeOfIReadOnlyListOfCoinItem:
      required:
      - data
      - meta
      type: object
      properties:
        data:
          type:
          - 'null'
          - array
          items:
            $ref: '#/components/schemas/CoinItem'
        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
    ApiEnvelopeOfIReadOnlyListOfExchangeItem:
      required:
      - data
      - meta
      type: object
      properties:
        data:
          type:
          - 'null'
          - array
          items:
            $ref: '#/components/schemas/ExchangeItem'
        meta:
          $ref: '#/components/schemas/ApiMeta'
    ExchangeItem:
      required:
      - exchange
      - name
      - icon_url
      - tracked_instruments
      - max_leverage
      - taker_fee_pct
      - trading_enabled
      - has_spot
      - fee_url
      - specs_url
      - funding_url
      type: object
      properties:
        exchange:
          type: string
        name:
          type: string
        icon_url:
          type: string
        tracked_instruments:
          type: integer
          format: int32
        max_leverage:
          type: integer
          format: uint32
        taker_fee_pct:
          type: number
          format: double
        trading_enabled:
          type: boolean
        has_spot:
          type: boolean
        fee_url:
          type:
          - 'null'
          - string
        specs_url:
          type: string
        funding_url:
          type: string
    ApiEnvelopeOfIReadOnlyListOfListingItem:
      required:
      - data
      - meta
      type: object
      properties:
        data:
          type:
          - 'null'
          - array
          items:
            $ref: '#/components/schemas/ListingItem'
        meta:
          $ref: '#/components/schemas/ApiMeta'
    CoinItem:
      required:
      - coin
      - venue_count
      - exchanges
      - volume_24h_usdt
      - funding_url
      type: object
      properties:
        coin:
          type: string
        venue_count:
          type: integer
          format: int32
        exchanges:
          type: array
          items:
            type: string
        volume_24h_usdt:
          type: number
          format: double
        funding_url:
          type: string
  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