---
title: "Get top NFT collections by profile-picture wearer count"
method: GET
path: "/api/v2/pfp/top-collections"
tags: ["Collection Endpoints"]
---

# Get top NFT collections by profile-picture wearer count

`GET /api/v2/pfp/top-collections`

## Request

- Base URL: `https://api.opensea.io`
- URL: `https://api.opensea.io/api/v2/pfp/top-collections`
- Auth: API key in header `x-api-key`
- TypeScript: <https://skmtc.dev/opensea/apis/opensea-api/docs/api/v2/pfp/top-collections/get.ts> (a function with typed inputs; its response is checked against the schema)

NFT collections ranked by how many accounts use a verified (currently-owned) NFT from the collection as their profile picture, most first. Only verified collections are ranked. A verified collection is still not ranked when it is blacklisted or trust and safety has delisted, disabled, marked it as spam, or excluded it from promotion, top and trending lists, or discovery. Name registries (ENS and Basenames) and collections with no verified wearers are never ranked. Ties are ordered by collection slug ascending. Each wearer counts for the collection their NFT belongs to, so a contract shared by several collections is split per item, and wearers are counted as get_collection_pfp_profiles lists them. The chain, category and floor price filters narrow the board, and ranks stay contiguous from 1 within it.

## Query parameters

- `limit` integer, required
- `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': Blockchain chain identifier. Use the chain slug (e.g., 'ethereum', 'polygon', 'arbitrum', 'optimism', 'base')
- `chains` ChainIdentifier[]
- `categories` string[]
- `min_floor_price_usd` number, double
- `max_floor_price_usd` number, double

## Response `200`

Top PFP collections list

- TopPfpCollectionsResponse: NFT collections ranked by verified NFT profile-picture wearer count
  - `collections` TopPfpCollectionResponse[], required
    - `collection` CollectionResponse, required
      - `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
      - `description` string, nullable
      - `discord_url` string, nullable
      - `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
      - `project_url` string, nullable
      - `safelist_status` string, required
      - `telegram_url` string, nullable
      - `trait_offers_enabled` boolean, required
      - `twitter_username` string, nullable
      - `wiki_url` string, nullable
    - `pfp_wearer_count` integer, required: Number of public profiles whose verified NFT profile picture belongs to this collection, counted as get_collection_pfp_profiles lists them
    - `rank` integer, required

## Other responses

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

## Changes

- **2026-11-03** `2c7935d84f90`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/opensea/apis/opensea-api/changes/api/v2/pfp/top-collections/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)
