OpenSea API endpoint
Returns a cursor-paginated feed of a wallet's NFT marketplace events — sales, listings, offers, transfers, and mints — with the counterparty, price, and collection for each. Accepts a wallet address, ENS name, or OpenSea username. Scoped to NFT events only; token transfers and swaps are not returned.
/opensea/profile/{identifier}/activityPath parameters:
identifier (required): a wallet address, an ENS name, or an OpenSea username, e.g. vitalik.ethQuery parameters:
limit (optional): events per page, 1-100, default 20cursor (optional): opaque pagination cursor taken from a previous response's next_page_cursorevent_types (optional): comma-separated list of event types. Each value must be one of SALE, LISTING, OFFER, TRANSFER, MINT, COLLECTION_OFFER, TRAIT_OFFER. Omit for every NFT event typeReturns a cursor-paginated feed of the wallet's NFT marketplace events with the counterparty, price, and collection for each. This is the per-wallet counterpart to /opensea/collection/{slug}/activity and /opensea/activity.
The feed is scoped to NFT events only — token transfers and swaps are never returned, even though OpenSea's underlying feed carries them.
A non-address identifier is resolved to an address first, which costs one extra upstream lookup.
| Field | Filled in, of 20 checked | Values in the sample |
|---|---|---|
| id | 20 | |
| type | 20 | |
| event_time | 20 | 2026-10-13 |
| transaction_hash | 20 | |
| quantity | 20 | 1 |
| from | 20 | |
| to | 20 | |
| token_id | 20 | |
| item_name | 20 | |
| item_image_url | 20 | i2c.seadn.io |
| contract_address | 20 | |
| chain | 20 | |
| collection_slug | 20 | |
| collection_name | 20 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| identifier (path) | string | Yes | Wallet address, ENS name, or OpenSea username | vitalik.eth | |
| limit | integer | No | Events per page, 1-100 | ||
| cursor | string | No | Opaque pagination cursor from a previous next_page_cursor | ||
| event_types | string | No | Comma-separated event types Allowed values: SALE, LISTING, OFFER, TRANSFER, MINT, COLLECTION_OFFER, TRAIT_OFFER. | ||
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/opensea/profile/vitalik.eth/activity?limit=10&event_types=SALE" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"events": [
{
"id": "01a052d00a687af689a71c0a710932e1",
"type": "Transfer",
"event_time": "2026-08-30T13:16:01.000Z",
"transaction_hash": "0xcebbade2cb6e857032f52e3e8a0e20acb1ac50f1a8d2619d149910a1c16b6d8c",
"quantity": "1.0",
"from": {
"address": "0x29469395eaf6f95920e59f858042f0e28d98a20b"
},
"to": {
"address": "0x1b523dc90a79cf5ee5d095825e586e33780f7188"
},
"token_id": "4412",
"item_name": "#4412",
"contract_address": "0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d",
"chain": "ethereum",
"collection_slug": "boredapeyachtclub",
"collection_name": "Bored Ape Yacht Club"
}
],
"next_page_cursor": "WzIwXQ"
}
}Request schema
No body schema
Response schema
#/definitions/opensea.activityResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | opensea.ActivityResponse | No | ||||
| data.events | array | No | ActivityEvent record, 28 fields: chain, collection_name, collection_slug, contract_address, event_time, from, id, item_image_url, item_name, marketplace, price, quantity and 5 more. Described under OpenSea Marketplace Activity API. | |||
| data.next_page_cursor | string | No | ||||
| data.slug | string | No | boredapeyachtclub | |||
| data.token_id | string | No | ||||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 404 | Not Found | #/definitions/app.Response |
| 429 | Too Many Requests | #/definitions/app.Response |
| 503 | Service Unavailable | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/opensea/profile/vitalik.eth/activity?limit=10&event_types=SALE" \
-H "x-api-key: $CRAWLORA_API_KEY"