OpenSea Drops Endpoints API

Endpoints for discovering drops, checking mint eligibility, and building mint transactions

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/opensea-drops-endpoints-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

opensea-drops-endpoints-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: OpenSea Account Endpoints Drops Endpoints API
  description: The API for OpenSea
  contact:
    name: OpenSea
    url: https://www.opensea.io
    email: contact@opensea.io
  version: 2.0.0
servers:
- url: https://api.opensea.io
  description: Production server
security:
- ApiKeyAuth: []
tags:
- name: Drops Endpoints
  description: Endpoints for discovering drops, checking mint eligibility, and building mint transactions
paths:
  /api/v2/drops/{slug}/mint:
    post:
      tags:
      - Drops Endpoints
      summary: Build mint transaction data for a drop
      description: Returns ready-to-sign transaction data for minting tokens from a drop. The caller is responsible for signing and submitting the transaction. No wallet authentication is required — only an API key. The minter address in the request body determines who will receive the tokens. Stage selection is handled automatically by the backend — if multiple stages are active, the first eligible stage is used.
      operationId: build_drop_mint_transaction
      parameters:
      - name: slug
        in: path
        description: The collection slug identifying the drop
        required: true
        schema:
          type: string
        example: boredapeyachtclub
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DropMintRequest'
        required: true
      responses:
        '200':
          description: Ready-to-sign transaction data including target contract, calldata, and value
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/DropMintResponse'
        '400':
          description: 'Invalid request: bad address format, invalid quantity, or missing required fields'
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/V1ErrorWrapper'
        '404':
          description: Drop or collection not found for the given slug
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/V1ErrorWrapper'
        '409':
          description: Drop is not currently active for minting (not started, ended, or paused)
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/V1ErrorWrapper'
        '422':
          description: 'Minting precondition failed: wallet not in allowlist, mint limit exceeded, or supply exhausted'
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/V1ErrorWrapper'
        '500':
          $ref: '#/components/responses/InternalError'
  /api/v2/drops/deploy:
    post:
      tags:
      - Drops Endpoints
      summary: Build deploy contract transaction data
      description: Returns ready-to-sign transaction data for deploying a new NFT drop contract. The caller is responsible for signing and submitting the transaction.
      operationId: deploy_drop_contract
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DropDeployRequest'
        required: true
      responses:
        '200':
          description: Ready-to-sign transaction data for contract deployment
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/DropDeployResponse'
        '400':
          description: 'Invalid request: unsupported drop_type/token_type combination, bad address format, or missing required fields'
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/V1ErrorWrapper'
        '500':
          $ref: '#/components/responses/InternalError'
  /api/v2/drops:
    get:
      tags:
      - Drops Endpoints
      summary: Get drops
      description: 'Get a list of NFT drops (mints) by type: featured, upcoming, or recently_minted. Results may be fewer than the requested limit due to post-fetch filtering.'
      operationId: get_drops
      parameters:
      - name: type
        in: query
        description: 'Drop calendar type: featured, upcoming, or recently_minted'
        required: false
        schema:
          type: string
          default: featured
        example: featured
      - name: limit
        in: query
        description: 'Number of results to return (1-100, default: 20)'
        required: false
        schema:
          type: integer
          format: int32
          default: 20
        example: 20
      - name: chains
        in: query
        description: Comma-separated list of chains to filter by (e.g. ethereum, base). Omit to return drops on all chains.
        required: false
        schema:
          type: array
          items:
            $ref: '#/components/schemas/ChainIdentifier'
        example: ethereum,base
      - name: cursor
        in: query
        description: Pagination cursor for next page
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Paginated list of drops
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/DropPaginatedResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '500':
          $ref: '#/components/responses/InternalError'
  /api/v2/drops/{slug}:
    get:
      tags:
      - Drops Endpoints
      summary: Get drop by collection slug
      description: Get detailed drop information for a collection, including stages and supply.
      operationId: get_drop_by_slug
      parameters:
      - name: slug
        in: path
        description: Collection slug
        required: true
        schema:
          type: string
        example: cool-cats
      responses:
        '200':
          description: Detailed drop information
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/DropDetailedResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
  /api/v2/drops/deploy/{chain}/{tx_hash}/receipt:
    get:
      tags:
      - Drops Endpoints
      summary: Get deploy contract receipt
      description: Check the status of a contract deployment transaction. Returns the deployment status and, on success, the deployed contract address and linked collection slug.
      operationId: get_deploy_contract_receipt
      parameters:
      - name: chain
        in: path
        description: Chain slug (e.g. ethereum, base)
        required: true
        schema:
          type: string
        example: ethereum
      - name: tx_hash
        in: path
        description: Transaction hash of the deployment transaction
        required: true
        schema:
          type: string
        example: 0xabc123...
      responses:
        '200':
          description: Deployment receipt status
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/DropDeployReceiptResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '500':
          $ref: '#/components/responses/InternalError'
components:
  schemas:
    DropDeployResponse:
      type: object
      description: Ready-to-sign deploy contract transaction data
      properties:
        to:
          type: string
          description: Transaction target contract address
        data:
          type: string
          description: Encoded transaction data (hex)
        value:
          type: string
          description: Transaction value in wei (hex)
        chain:
          type: string
          description: Chain identifier
      required:
      - chain
      - data
      - to
      - value
    DropMintRequest:
      type: object
      description: Mint request parameters
      properties:
        minter:
          type: string
          description: Wallet address that will receive the minted tokens
          example: '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045'
          minLength: 1
        quantity:
          type: integer
          format: int32
          description: Number of tokens to mint
          example: 1
          maximum: 100
          minimum: 1
      required:
      - minter
      - quantity
    DropPaginatedResponse:
      type: object
      description: Paginated list of drops
      properties:
        drops:
          type: array
          description: List of drops
          items:
            $ref: '#/components/schemas/DropResponse'
        next:
          type: string
          description: Cursor for the next page. May be present even when drops is empty if all items in the page were filtered by visibility rules; continue paginating until next is null.
      required:
      - drops
    DropResponse:
      type: object
      description: Summary of an NFT drop
      properties:
        collection_slug:
          type: string
          description: Collection slug
          example: cool-cats
        collection_name:
          type: string
          description: Collection name
          example: Cool Cats
        chain:
          type: string
          description: Blockchain the drop is on
          example: ethereum
        contract_address:
          type: string
          description: Contract address
        drop_type:
          type: string
          description: Drop type
          example: seadrop_v1_erc721
        is_minting:
          type: boolean
          description: Whether the drop is currently minting
        image_url:
          type: string
          description: Collection image URL
        opensea_url:
          type: string
          description: OpenSea URL for the drop
        active_stage:
          $ref: '#/components/schemas/DropStageResponse'
          description: The currently-minting stage, if the drop is live. Null if not minting.
        next_stage:
          $ref: '#/components/schemas/DropStageResponse'
          description: The earliest upcoming stage by start_time when the drop is not currently minting (e.g. before it starts or between stages). Null if the drop is live or has no future stages.
      required:
      - chain
      - collection_slug
      - contract_address
      - drop_type
      - is_minting
      - opensea_url
    V1ErrorWrapper:
      type: object
      properties:
        errors:
          type: array
          items:
            type: string
      required:
      - errors
    DropStageResponse:
      type: object
      description: A mint stage within a drop
      properties:
        uuid:
          type: string
          description: Stage UUID
        stage_type:
          type: string
          description: Stage type
          example: public_sale
        label:
          type: string
          description: Stage label/name
        price:
          type: string
          description: Mint price per token in wei (decimal string)
        price_currency_address:
          type: string
          description: Currency contract address (e.g. 0x0000...0000 for native token)
        start_time:
          type: string
          description: Stage start time (ISO 8601)
        end_time:
          type: string
          description: Stage end time (ISO 8601)
        max_per_wallet:
          type: string
          description: Max tokens mintable per wallet in this stage
      required:
      - end_time
      - max_per_wallet
      - price_currency_address
      - stage_type
      - start_time
      - uuid
    ChainIdentifier:
      type: string
      default: ethereum
      description: Blockchain chain identifier. Use the chain slug (e.g., 'ethereum', 'polygon', 'arbitrum', 'optimism', 'base')
      enum:
      - blast
      - base
      - ethereum
      - zora
      - arbitrum
      - sei
      - avalanche
      - polygon
      - optimism
      - ape_chain
      - flow
      - b3
      - soneium
      - ronin
      - bera_chain
      - solana
      - shape
      - unichain
      - gunzilla
      - abstract
      - animechain
      - hyperevm
      - somnia
      - monad
      - hyperliquid
      - megaeth
      - ink
      example: ethereum
    DropDeployReceiptResponse:
      type: object
      description: Deploy contract receipt status
      properties:
        status:
          type: string
          description: 'Deployment status: pending, success, or failed'
          example: success
        contract_address:
          type: string
          description: Deployed contract address (only present on success)
        chain:
          type: string
          description: Chain slug (only present on success)
        collection_slug:
          type: string
          description: Linked collection slug (only present on success, may take time to materialize)
      required:
      - status
    DropMintResponse:
      type: object
      description: Ready-to-sign mint transaction data
      properties:
        to:
          type: string
          description: Transaction target contract address
        data:
          type: string
          description: Encoded transaction data (hex)
        value:
          type: string
          description: Transaction value in wei (hex)
        chain:
          type: string
          description: Chain identifier
      required:
      - chain
      - data
      - to
      - value
    DropDeployRequest:
      type: object
      description: Deploy contract request parameters
      properties:
        chain:
          type: string
          description: Chain slug (e.g. "ethereum", "base")
          example: ethereum
          minLength: 1
        contract_name:
          type: string
          description: Name for the new contract
          example: My NFT Collection
          minLength: 1
        contract_symbol:
          type: string
          description: Symbol for the new contract
          example: MNFT
          minLength: 1
        drop_type:
          type: string
          description: Drop type (see validation error for supported values)
          example: seadrop_v1_erc721
          minLength: 1
        token_type:
          type: string
          description: Token type (see validation error for supported values)
          example: erc721_standard
          minLength: 1
        sender:
          type: string
          description: Deployer wallet address
          example: '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045'
          minLength: 1
      required:
      - chain
      - contract_name
      - contract_symbol
      - drop_type
      - sender
      - token_type
    DropDetailedResponse:
      type: object
      description: Detailed drop information including stages and supply
      properties:
        collection_slug:
          type: string
          description: Collection slug
          example: cool-cats
        collection_name:
          type: string
          description: Collection name
          example: Cool Cats
        chain:
          type: string
          description: Blockchain the drop is on
          example: ethereum
        contract_address:
          type: string
          description: Contract address
        drop_type:
          type: string
          description: Drop type
          example: seadrop_v1_erc721
        is_minting:
          type: boolean
          description: Whether the drop is currently minting
        image_url:
          type: string
          description: Collection image URL
        opensea_url:
          type: string
          description: OpenSea URL for the drop
        active_stage:
          $ref: '#/components/schemas/DropStageResponse'
          description: The currently-minting stage, if the drop is live. Null if not minting.
        next_stage:
          $ref: '#/components/schemas/DropStageResponse'
          description: The earliest upcoming stage by start_time when the drop is not currently minting (e.g. before it starts or between stages). Null if the drop is live or has no future stages.
        stages:
          type: array
          description: Drop stages (public sale, presale, etc.)
          items:
            $ref: '#/components/schemas/DropStageResponse'
        total_supply:
          type: string
          description: Total minted supply
        max_supply:
          type: string
          description: Maximum supply
      required:
      - chain
      - collection_slug
      - contract_address
      - drop_type
      - is_minting
      - opensea_url
      - stages
  responses:
    InternalError:
      description: Internal server error. Please open a support ticket so OpenSea can investigate.
    NotFound:
      description: Resource not found
    BadRequest:
      description: For error reasons, review the response data.
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      description: API key required for authentication
      name: x-api-key
      in: header
x-tagGroups:
- name: Data & Discovery
  tags:
  - Chain Endpoints
  - Account Endpoints
  - Collection Endpoints
  - NFT Endpoints
  - Contract Endpoints
  - Token Endpoints
  - Search Endpoints
- name: Marketplace & Trading
  tags:
  - Listing Endpoints
  - Offer Endpoints
  - Order Endpoints
  - Swap Endpoints
  - Drops Endpoints
- name: Analytics & Events
  tags:
  - Analytics Endpoints
- name: Tools [Beta]
  tags:
  - Tool Endpoints [Beta]
- name: Transactions
  tags:
  - Transaction Endpoints