OpenSea API endpoint
Returns the highest-value sales ever recorded for a collection, with the buyer, seller, price, and transaction hash for each. Unlike `/opensea/collection/{slug}/activity?event_types=SALE`, which is a reverse-chronological feed, this is ranked by sale price.
/opensea/collection/{slug}/top-salesPath parameters:
slug (required): the OpenSea collection slug, e.g. boredapeyachtclubThe shelf is a fixed-size snapshot and is not paginated.
| Field | Filled in, of 20 checked | Values in the sample |
|---|---|---|
| id | 20 | |
| type | 0 | |
| event_time | 20 | 2026-10-06 to 2026-10-13 |
| transaction_hash | 20 | |
| quantity | 20 | 1 |
| price | 20 | |
| from | 20 | |
| to | 20 | |
| token_id | 20 | |
| item_name | 20 | “#2388” and 19 other values |
| item_image_url | 20 | i2c.seadn.io |
| contract_address | 20 | |
| chain | 20 | ethereum in all 20 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| slug (path) | string | Yes | OpenSea collection slug | boredapeyachtclub | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/opensea/collection/boredapeyachtclub/top-sales" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"slug": "boredapeyachtclub",
"sales": [
{
"id": "01a03971137878b5bbe42a55f8bf3d4c",
"type": "Sale",
"event_time": "2026-08-25T15:01:47.000Z",
"transaction_hash": "0x3f8751c37a41c1ec81a833efe044834327d2a4efc0f7ab040a2250c8480e167e",
"quantity": "1.0",
"price": {
"amount": 852,
"currency": "ETH",
"usd": 2094360
},
"from": {
"address": "0x1b523dc90a79cf5ee5d095825e586e33780f7188"
},
"to": {
"address": "0x54be3a794282c030b15e43ae2bb182e14c409c5e",
"display_name": "dingaling"
},
"token_id": "52",
"item_name": "#52",
"contract_address": "0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d",
"chain": "ethereum"
}
]
}
}Request schema
No body schema
Response schema
#/definitions/opensea.collectionTopSalesResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | opensea.CollectionTopSalesResponse | No | ||||
| data.sales | 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.slug | string | No | boredapeyachtclub | |||
| 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/collection/boredapeyachtclub/top-sales" \
-H "x-api-key: $CRAWLORA_API_KEY"