zseta
python-opensea
Python

Python wrapper for the OpenSea API

Last updated Apr 28, 2026
176
Stars
35
Forks
7
Issues
0
Stars/day
Attention Score
56
Language breakdown
No language data available.
Files click to expand
README

OpenSea NFT API Python 3 wrapper

This an API wrapper library for the OpenSea API written in Python 3.

The library provides a simplified interface to fetch a diverse set of NFT data points from OpenSea.

Supported endpoints

The wrapper covers the following OpenSea API endpoints:

Prerequisite

You need to have an API key to use the OpenSea API, and thus you need one to use this wrapper too. You can request a key here.

NOTE: The API key can take over 4-7 days to be delivered. It also requires you to show the project you are working on.

Installation

Install with pip:
virtualenv env && source env/bin/activate
pip install opensea-api

Upgrade

pip install opensea-api -U

Usage examples

# import the OpenseaAPI object from the opensea module
from opensea import OpenseaAPI

create an object to interact with the Opensea API (need an api key)

api = OpenseaAPI(apikey="YOUR APIKEY")

fetch a single asset

contract_address = "0x495f947276749Ce646f68AC8c248420045cb7b5e" token_id = "66406747123743156841746366950152533278033835913591691491127082341586364792833" result = api.asset(assetcontractaddress=contractaddress, tokenid=token_id)

fetch multiple assets

result = api.assets(owner="0xce90a7949bb78892f159f428d0dc23a8e3584d75", limit=3)

fetch a single contract

result = api.contract(asset_c)

fetch a single collection

result = api.collection(collecti)

fetch multiple collections

result = api.collections(asset_owner="0xce90a7949bb78892f159f428d0dc23a8e3584d75", limit=3)

fetch collection stats

result = api.collection_stats(collecti)

fetch multiple events

from opensea import utils as opensea_utils

periodend = openseautils.datetime_utc(2021, 11, 6, 14, 30) result = api.events( occurredbefore=periodend, limit=10, exportfilename="events.json", )

fetch multiple bundles

result = api.bundles(limit=2)

paginate the events endpoint (cursors are handled internally)

from datetime import datetime, timezone

start_at = datetime(2021, 10, 5, 3, 25, tzinfo=timezone.utc) finish_at = datetime(2021, 10, 5, 3, 20, tzinfo=timezone.utc)

eventgenerator = api.eventsbackfill(start=start_at, until=finish_at, event_type="successful") for event in event_generator: if event is not None: print(event) # or do other things with the event data

Here's a demo video showcasing the basics.

Documentation

© 2026 GitRepoTrend · zseta/python-opensea · Updated daily from GitHub