---
title: "List coins"
method: GET
path: "/api/v1/coins"
tags: ["Coins"]
---

# List coins

`GET /api/v1/coins`

Ranked coins with prices, filters and selectors, paginated with Laravel's
`links` + `meta` envelope. Prices, marketcap and circulating_supply are decimal
strings; changes and ranks are numbers.

## Query parameters

- `page` integer, nullable — Page number (1-based). Must be at least 1.
- `per_page` integer, nullable — Rows per page. The cap is plan-based (Free 100, Starter/Pro 250); exceeding it returns 422 rather than clamping. Must be at least 1. Must not be greater than 100.
- `type` 'coin' | 'token', nullable — Restrict to a single asset type: coin or token.
- `status` 'active' | 'delisted' | 'untracked' | 'progressing' | 'awaiting' | 'preparing', nullable — Listing status: active, delisted, untracked, progressing, awaiting or preparing. Defaults to all public statuses.
- `search` string, nullable — Free-text match on name or symbol. Must not be greater than 100 characters.
- `min_price` number, nullable — Only coins priced at or above this USD value. Must be at least 0.
- `max_price` number, nullable — Only coins priced at or below this USD value. Must be at least 0.
- `min_marketcap` number, nullable — Only coins with a USD marketcap at or above this value. Must be at least 0.
- `max_marketcap` number, nullable — Only coins with a USD marketcap at or below this value. Must be at least 0.
- `min_volume` number, nullable — Only coins with 24h USD volume at or above this value. Must be at least 0.
- `max_volume` number, nullable — Only coins with 24h USD volume at or below this value. Must be at least 0.
- `ids` string, nullable — Filter to specific coin ids (CSV, up to 100 selectors combined with slugs/symbols). Must not be greater than 1000 characters.
- `slugs` string, nullable — Filter to specific coin slugs (CSV, up to 100 selectors combined). Must not be greater than 2000 characters.
- `symbols` string, nullable — Filter to specific coin symbols (CSV, case-insensitive, up to 100 selectors combined). Must not be greater than 1000 characters.
- `sort` string, nullable — Comma-separated sort fields; prefix with - for descending. Sortable: marketcap, rank, price, volume_24h, change_24h, change_7d. Must not be greater than 100 characters.
- `interval` '24h' | '7d', nullable — Movers window for /coins/gainers and /coins/losers only: 24h or 7d.

## Response `200`

- object
  - `data` object[]
    - `id` integer
    - `slug` string
    - `name` string
    - `symbol` string
    - `rank` integer
    - `price` string
    - `marketcap` number
    - `volume_24h` integer
    - `change_24h` number
    - `change_7d` number
    - `change_rank_24h` integer
    - `change_rank_7d` integer
    - `circulating_supply` string
    - `logo` string
    - `listed_at` string
    - `last_updated` string
  - `links` object
    - `first` string
    - `last` string
    - `prev` string, nullable
    - `next` string
  - `meta` object
    - `current_page` integer
    - `from` integer
    - `last_page` integer
    - `per_page` integer
    - `to` integer
    - `total` integer

## Other responses

- `422`

---

[API](https://skmtc.net/bitculator/apis/bitculator-data-api.md) · [All operations](https://skmtc.net/bitculator/apis/bitculator-data-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/bitculator/bitculator-data-api/revisions/ed1378af68b6/schema)
