Mainly

Get a collection

Collection info and its NFTs, paginated.

Two endpoints: one for the collection itself, one to list what's in it.

Get collection info

GET /collections/{address}
ParameterInTypeRequiredDescription
addresspathstringYesThe collection's address (the collection NFT's mint).
curl https://api.sarg.am/v1/solana/collections/J1S9H3QjnRtBbbuD4HjPV6RpRhwuk4zKbxsnCHuTgh9w \
  -H "Authorization: Bearer $MAINLY_API_KEY"
{
  "address": "J1S9H3QjnRtBbbuD4HjPV6RpRhwuk4zKbxsnCHuTgh9w",
  "name": "Mad Lads",
  "symbol": "MAD",
  "description": "Fock it.",
  "image": "https://cdn.mainly.dev/assets/J1S9H3QjnRtBbbuD4HjPV6RpRhwuk4zKbxsnCHuTgh9w.png",
  "itemCount": 9967,
  "floorPrice": {
    "lamports": 42500000000,
    "sol": 42.5,
    "updatedAt": "2026-08-04T09:30:00Z"
  }
}
FieldTypeDescription
itemCountnumberNumber of verified items in the collection.
floorPriceobject | nullLowest current listing across tracked marketplaces. null when no market data is available — treat as display-only, like all prices.

List a collection's NFTs

GET /collections/{address}/nfts
ParameterInTypeRequiredDescription
addresspathstringYesThe collection's address.
limitquerynumberNo1–1000, default 100.
cursorquerystringNoPagination cursor.
curl "https://api.sarg.am/v1/solana/collections/J1S9H3QjnRtBbbuD4HjPV6RpRhwuk4zKbxsnCHuTgh9w/nfts?limit=1" \
  -H "Authorization: Bearer $MAINLY_API_KEY"
{
  "address": "J1S9H3QjnRtBbbuD4HjPV6RpRhwuk4zKbxsnCHuTgh9w",
  "items": [
    {
      "id": "F9Lw3ki3hJ7PF9HQXsBzoY8GyE6sPoEZZdXJBsTTD2rk",
      "name": "Mad Lads #8420",
      "image": "https://cdn.mainly.dev/assets/F9Lw3ki3hJ7PF9HQXsBzoY8GyE6sPoEZZdXJBsTTD2rk.png",
      "standard": "programmable",
      "compressed": false,
      "owner": "9WzDXwBbmkg8ZTbNMqUxvQRAyrZzDsGYdLVL9zYtAWWM"
    }
  ],
  "nextCursor": "eyJwYWdlIjoyfQ"
}

Items have the same shape as wallet NFTs, plus the current owner. Only cryptographically verified members are included — spoofed "members" of a collection never appear here.

Errors

codeWhen
invalid_addressThe path parameter isn't valid base58.
not_foundThe address isn't a collection.

Under the hood

Replaces DAS getAssetsByGroup with collection grouping, verified-membership filtering, and marketplace floor-price aggregation.

On this page