Skip to content
⌘K
Marketplace API

Marketplace data

Collections and stats

Rank Sui NFT collections by volume, floor or sales, read one collection's stats, chart its floor and volume, and search by name.

A collection is one NFT type on Sui, addressed by its slug. These endpoints rank collections, return one collection's header stats, chart its floor and volume over time, and power name search.

Every price is an all-in amount in MIST: what a buyer pays across venues, including the venue fee and creator royalty. See Amounts and decimals.

List and rank collections

GET/collections

Returns a page of collection rows ranked by the sort you pick. rank is the row's position in that order, starting at 1.

ParamValuesDefaultNotes
window1h, 6h, 24h, 7d, 30d, all24hSets the window for volumeMist, volumeChangePct, sales and floorChangePct. Unknown values use 24h.
sortvolume, floor, floor_change, sales, listed, owners, market_cap, top_offer, volume_changevolumeUnknown values fall back to volume. listed sorts by the share of supply that is listed.
dirasc, descdescRows with an unknown (null) sort value always come last.
verifiedtrueOnly verified collections.
qtextKeeps collections whose name or slug contains the text (case insensitive).
limit1 to 20050
cursornextCursor from the last pageSee Pagination.
curl "https://rare.market/api/v1/collections?window=7d&sort=volume&verified=true&limit=2"
Response
{
  "data": [
    {
      "slug": "popkins",
      "name": "Popkins",
      "imageUrl": "https://storage.claynosaurz.com/popkins/images/0x817dac94fff3a567b80e23a3b55fca2fd108641e0dd06fc614e5ecc0acbb4e03",
      "verified": true,
      "rank": 1,
      "supply": 25000,
      "floorMist": "68040000000",
      "floorChangePct": 98.11,
      "topOfferMist": "48000000000",
      "volumeMist": "1697809900000",
      "volumeChangePct": -58.83,
      "sales": 24,
      "listedCount": 412,
      "owners": 3643,
      "uniqueOwnersPct": 14.61,
      "marketCapMist": "1701000000000000"
    }
  ],
  "nextCursor": "eyJzbHVnIjoicG9wa2lucyIsInJhbmsiOjF9",
  "total": 968,
  "hiddenArt": 274
}
FieldMeaning
floorMistLowest all-in listing price across venues, or null with no listings.
floorChangePctFloor change over the window, percent. Day resolution, so it is null for 1h, 6h and all.
topOfferMistHighest open collection offer.
volumeMist, salesSUI sales and accepted offers in the window. With window=all they are all-time totals.
volumeChangePctWindow volume against the window before it. null when the earlier window had no volume, and always with all.
owners, uniqueOwnersPctDistinct holders, and holders over items with a known holder. See Holders.
marketCapMistfloorMist times supply.
totalRows that match your filters.
hiddenArtCollections left out because most of their art does not load.

What the table leaves out

  • Collections with no listings and no sales in the window.
  • NFT types that are not collectibles, such as DeFi positions, system objects and spam.
  • Collections whose art mostly fails to load (counted in hiddenArt). Pass includeBrokenArt=1 to keep them. A search with q never hides them.

Get one collection

GET/collections/{slug}

Returns the collection's header: description, royalty, links, live stats, trait types and the venues that hold its listings. Anywhere a slug is accepted you can pass the Move type instead with ?type=, for example /collections/_/items?type=0x...::module::Struct.

curl "https://rare.market/api/v1/collections/mystic-yetis"
Response
{
  "slug": "mystic-yetis",
  "name": "Mystic Yetis",
  "imageUrl": "https://indexer.mypinata.cloud/ipfs/bafkreid6owvnhp2v2muf4yrk4v3hjonhposfgsnd5zirfzgbyutxoasxay",
  "verified": true,
  "similarTo": null,
  "description": "",
  "bannerUrl": null,
  "type": "0xb07b09b016d28f989b6adda8069096da0c0a0ff6490f6e0866858c023b061bee::mystic_yeti::MysticYeti",
  "creator": null,
  "royaltyBps": 400,
  "royaltyEnforced": true,
  "links": {},
  "stats": {
    "floorMist": "26748930000",
    "floorChange24hPct": 0,
    "topOfferMist": "15300000000",
    "volume7dMist": "2143461500000",
    "sales7d": 106,
    "marketCapMist": "148590306150000",
    "listedCount": 494,
    "supply": 5555,
    "owners": 1897,
    "uniqueOwnerPct": 34.58,
    "uniquePct": 34.58,
    "stakedOrLocked": [],
    "realVolume7dMist": "2143461500000",
    "realSales7d": 106,
    "washVolume7dPct": 0,
    "washVolumeAllPct": 0.24,
    "washSalesAllPct": 1.31,
    "washHeavy": false
  },
  "traitTypes": [
    { "type": "Accessories", "valueCount": 22 },
    { "type": "Background", "valueCount": 11 },
    { "type": "Fur", "valueCount": 18 }
  ],
  "venues": ["tradeport"]
}
FieldMeaning
typeThe Move type of the items.
similarToSet on an unverified collection whose name resembles a verified one: { slug, name } of the verified collection.
royaltyBpsCreator royalty from the collection's transfer policy, in basis points (400 = 4%).
royaltyEnforcedThe transfer policy has a royalty rule.
linksx, discord and website when the collection publishes them.
stats.listedCountItems with at least one live SUI listing.
stats.owners, stats.uniqueOwnerPct, stats.stakedOrLockedHolder figures. See Holders.
stats.realVolume7dMist, stats.realSales7d, stats.wash*Volume with flagged wash trades removed. Present only when wash analysis is available. washHeavy is true when flagged trades are at least 20% of all-time volume or sales. Such collections are marked, never hidden.
traitTypesEach trait type and how many values it has. See Traits and rarity.
venuesVenues that hold live listings for this collection.

Floor and volume series

GET/collections/{slug}/series/{metric}

metric is floor or volume. Both return { data: [{ t, valueMist }] }, oldest first, in about 48 equal buckets across the range (at least one minute each).

ParamValuesDefaultNotes
range1h, 6h, 24h, 7d, 30d, all7dall covers the last two years. Unknown values use 7d.
  • volume: the sum of SUI sales and accepted offers in each bucket. Empty buckets are "0".
  • floor: the lowest sale price in each bucket, carried forward through buckets with no sales. It starts at the first sale in the range, so a quiet collection returns fewer points. The last point is the live all-in listing floor.
curl "https://rare.market/api/v1/collections/mystic-yetis/series/floor?range=7d"
Response
{
  "data": [
    { "t": "2026-10-20T13:00:00.000Z", "valueMist": "16220100000" },
    { "t": "2026-10-20T16:30:00.000Z", "valueMist": "14200000000" },
    { "t": "2026-10-20T20:00:00.000Z", "valueMist": "15500000000" }
  ]
}

Individual sales

GET/collections/{slug}/sales

For a scatter chart, GET /collections/{slug}/sales?range=24h returns { data: [{ t, priceMist }] }: the newest 1,000 sales in the range, oldest first. range takes the same values as the series and defaults to 7d. Several items bought in one transaction share a timestamp.

GET/search

Name search for a search box. Returns up to 12 collections and any matching wallet.

ParamNotes
qMatches collection names and slugs (case insensitive). Exact name matches rank first, then prefix matches, then by 7 day volume. Empty q returns the collections with listings, by 7 day volume.

accounts holds one entry when q is a Sui address (at least 40 hex characters) or a SuiNS name that resolves. A bare word such as alice is looked up as alice.sui only when no collection matches.

curl "https://rare.market/api/v1/search?q=yeti"
Response
{
  "collections": [
    {
      "slug": "mystic-yetis",
      "name": "Mystic Yetis",
      "imageUrl": "https://indexer.mypinata.cloud/ipfs/bafkreid6owvnhp2v2muf4yrk4v3hjonhposfgsnd5zirfzgbyutxoasxay",
      "verified": true,
      "floorMist": "26748930000",
      "volumeMist": "2143461500000"
    },
    {
      "slug": "mystic-yetis-e66144",
      "name": "Mystic Yetis",
      "imageUrl": "ipfs://bafkreie5xysgx2peqmg74lqxslzfzpc4f3f6d6udohi5mp7lryay4hdzwy",
      "verified": false,
      "floorMist": "5400000000",
      "volumeMist": "0"
    }
  ],
  "accounts": []
}

In search results volumeMist is 7 day volume.

Gotchas

  • Names are not unique. Search returns lookalike collections with the same name. Check verified, and on the detail call check similarTo. Store and compare slug or type, never name.
  • Floors are all-in. floorMist includes venue fees and royalty, so it is higher than the lowest list price shown on a single venue. See Listings across venues.
  • The floor series is a sales floor. Its points are sale prices, not listing floors. Only the last point is the live listing floor.
  • SUI only. Floors, offers, volume and sales count SUI-priced listings and trades only.
  • window changes the meaning of rank. Ranks are positions in your sorted, filtered result, not a fixed global rank.
  • /collections falls back on bad input. An unknown sort or window uses the default instead of returning an error.
  • Image URLs can be ipfs:// or walrus://. Resolve them through a gateway before showing them.
--
TPS:--