OpenSea API
OpenSea API
/opensea/v1/collection1 creditFull collection detail by slug: floor price, top offer, 24h + total volume, owner / listed / supply counts and 1-day floor change merged with keyless metadata — description, image/banner, contracts (address + chain), category, safelist status, fees and social links (Twitter / Discord / Telegram / website).
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| slug | required | — | OpenSea collection slug — the last path segment of an OpenSea collection URL (opensea.io/collection/<slug>), e.g. 'pudgypenguins', 'boredapeyachtclub', 'azuki'. Use the search action to resolve a name to its slug. |
/opensea/v1/search1 creditSearch OpenSea collections by free-text name. Returns matching collections with slug, name, image, category, floor price, owner count, supply and total volume — use the returned slug with the other actions.
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| query | required | — | Collection name or keyword to search for (e.g. 'pudgy', 'bored ape', 'azuki'). |
| limit = 10 | optional | 1–50 | Max collections to return (1-50, default 10). |
/opensea/v1/items1 creditPaginated items (NFTs) in a collection. Each item: name, token id, contract, image, rarity rank, best listing price + marketplace, best offer and last sale. Sort by price / rarity / last-sale-price / listing-date. Cursor pagination — pass the returned meta.next_cursor as `cursor` to page on.
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| slug | required | — | OpenSea collection slug — the last path segment of an OpenSea collection URL (opensea.io/collection/<slug>), e.g. 'pudgypenguins', 'boredapeyachtclub', 'azuki'. Use the search action to resolve a name to its slug. |
| limit = 30 | optional | 1–100 | Items per page (1-100, default 30). |
| cursor | optional | — | Pagination cursor — pass meta.next_cursor from the previous page to fetch the next. |
| sort_by = PRICE | optional | PRICE · RARITY · LAST_SALE_PRICE · CREATED_DATE · BEST_OFFER | Sort items by this field. |
| direction = ASC | optional | ASC · DESC | Sort direction (ASC = cheapest/lowest first). |
/opensea/v1/item1 creditSingle NFT / item detail by collection contract + token id: name, image, all traits (trait_type + value), rarity rank, best listing (price + marketplace), best offer and last sale. Get contract_address from the collection action's contracts[] (or an items[] row); token_id is the NFT number.
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| contract_address | required | — | NFT contract address (0x…). From the collection's contracts[].address or an items[] row. |
| token_id | required | — | The token id / NFT number within the contract. |
| chain = ethereum | optional | ethereum · matic · base · solana · arbitrum · optimism · klaytn · avalanche · blast · zora · bsc · sei | Blockchain the item is on (default ethereum). |
/opensea/v1/activity1 creditRecent on-chain activity for a collection (default: sales). Each event: type, time, price (token amount + USD) and the item (name, token id, contract). Filter by event type — sales, listings, offers, transfers or mints.
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| slug | required | — | OpenSea collection slug — the last path segment of an OpenSea collection URL (opensea.io/collection/<slug>), e.g. 'pudgypenguins', 'boredapeyachtclub', 'azuki'. Use the search action to resolve a name to its slug. |
| limit = 20 | optional | 1–50 | Max events (1-50, default 20). |
| event_type = SALE | optional | SALE · LISTING · OFFER · TRANSFER · MINT | Which activity to return (default SALE = recent sales). |
/opensea/v1/holders1 creditTop holders (owners) of a collection, ranked by quantity owned. Each holder: wallet address, display name (ENS / OpenSea username if any), quantity, % of supply and estimated total NFT portfolio value (USD). Cursor pagination.
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| slug | required | — | OpenSea collection slug — the last path segment of an OpenSea collection URL (opensea.io/collection/<slug>), e.g. 'pudgypenguins', 'boredapeyachtclub', 'azuki'. Use the search action to resolve a name to its slug. |
| limit = 20 | optional | 1–50 | Holders per page (1-50, default 20). |
| cursor | optional | — | Pagination cursor (meta.next_cursor from the previous page). |
/opensea/v1/trending1 creditTrending or top collections ranked over a time window — the OpenSea rankings/leaderboard. Each: rank score, slug, name, floor price, volume, owners and 1-day floor change. Choose TRENDING (momentum) or TOP (by volume), and a window (1h / 1d / 7d / 30d).
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| ranking = TRENDING | optional | TRENDING · TOP | TRENDING (momentum) or TOP (highest volume). |
| timeframe = ONE_DAY | optional | ONE_HOUR · ONE_DAY · SEVEN_DAYS · THIRTY_DAYS | Ranking window. |
| limit = 20 | optional | 1–100 | Max collections (1-100, default 20). |
curl -X POST https://api.reefapi.com/opensea/v1/collection \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"slug":"pudgypenguins"}'{
"ok": true,
"data": { /* the result */ },
"meta": {
"latency_ms": 240,
"record_count": 12,
"completeness_pct": 100
},
"error": null
}