---
title: "Get collection by NFT"
method: GET
path: "/api/v2/chain/{chain}/contract/{address}/nfts/{identifier}/collection"
tags: ["Collection Endpoints"]
---

# Get collection by NFT

`GET /api/v2/chain/{chain}/contract/{address}/nfts/{identifier}/collection`

## Request

- Base URL: `https://api.opensea.io`
- URL: `https://api.opensea.io/api/v2/chain/{chain}/contract/{address}/nfts/{identifier}/collection`
- Auth: API key in header `x-api-key`
- TypeScript: <https://skmtc.dev/opensea/apis/opensea-api/docs/api/v2/chain/:chain/contract/:address/nfts/:identifier/collection/get.ts> (a function with typed inputs; its response is checked against the schema)

Get the collection that an NFT belongs to. This is useful for multi-contract collections like Art Blocks where the item ID disambiguates which collection the NFT belongs to.

## Path parameters

- `chain` 'base' | 'ethereum' | 'zora' | 'arbitrum' | 'sei' | 'avalanche' | 'polygon' | 'optimism' | 'ape_chain' | 'flow' | 'soneium' | 'ronin' | 'bera_chain' | 'solana' | 'shape' | 'unichain' | 'gunzilla' | 'abstract' | 'animechain' | 'hyperevm' | 'somnia' | 'monad' | 'hyperliquid' | 'megaeth' | 'ink' | 'robinhood' | 'stablechain', required: Blockchain chain identifier. Use the chain slug (e.g., 'ethereum', 'polygon', 'arbitrum', 'optimism', 'base')
- `address` string, required
- `identifier` string, required

## Response `200`

OK

- CollectionDetailedResponse
  - `banner_image_url` string, nullable: Wide image for the collection, and the only wide image on this API. Use it for a header or hero slot; image_url is square and will not fill one. On the single-collection endpoint it is the collection's hero image, else its hero video's poster, else its banner; on list endpoints it is the banner. Always a still image: a video gets a frame from it, or null when no still can be derived.
  - `category` string, nullable
  - `collection` string, required
  - `collection_offers_enabled` boolean, required
  - `contracts` Contract[], required
    - `address` string, required
    - `chain` string, required
  - `created_date` string, date, required
  - `description` string, nullable
  - `discord_url` string, nullable
  - `editors` string[], required
  - `fees` Fee[], required
    - `fee` number, double, required
    - `recipient` string, required
    - `required` boolean, required
  - `image_url` string, nullable: Square avatar for the collection, used wherever it is named. Falls back to a representative item's image when the collection has none of its own.
  - `instagram_username` string, nullable
  - `is_disabled` boolean, required
  - `is_nsfw` boolean, required
  - `name` string, required
  - `opensea_url` string, required
  - `owner` string, nullable
  - `pricing_currencies` PricingCurrencies, required
    - `listing_currency` PaymentToken, required
      - `address` string, required
      - `chain` string, required
      - `decimals` integer, required
      - `eth_price` string, required
      - `image` string, required
      - `name` string, required
      - `symbol` string, required
      - `usd_price` string, required
    - `offer_currency` PaymentToken, required
      - `address` string, required
      - `chain` string, required
      - `decimals` integer, required
      - `eth_price` string, required
      - `image` string, required
      - `name` string, required
      - `symbol` string, required
      - `usd_price` string, required
  - `project_url` string, nullable
  - `rarity` CollectionRarity
    - `calculated_at` string, required
    - `max_rank` integer, required
    - `strategy_id` string, required
    - `strategy_version` string, required
    - `total_supply` integer, required
  - `required_zone` string
  - `safelist_status` string, required
  - `telegram_url` string, nullable
  - `total_supply` integer, required
  - `trait_offers_enabled` boolean, required
  - `twitter_username` string, nullable
  - `unique_item_count` integer, required
  - `wiki_url` string, nullable

## Other responses

- `400`: For error reasons, review the response data.
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Resource not found
- `409`: Conflict
- `500`: Internal server error. Please open a support ticket so OpenSea can investigate.

## Changes

- **2026-11-03** `2c7935d84f90`: 13 breaking, 6 info
  - removed the enum value `b3` from the `path` request parameter `chain`
  - removed the enum value `blast` from the `path` request parameter `chain`
  - the response property `banner_image_url` became nullable for the status `200`
  - the response property `category` became nullable for the status `200`
  - …15 more

[Operation history](https://skmtc.dev/opensea/apis/opensea-api/changes/api/v2/chain/:chain/contract/:address/nfts/:identifier/collection/get.md)

---

[API](https://skmtc.dev/opensea/apis/opensea-api.md) - [All operations](https://skmtc.dev/opensea/apis/opensea-api/llms.txt) - [OpenAPI document](https://skmtc.dev/opensea/apis/opensea-api/revisions/2c7935d84f90?raw)
