OpenSea API endpoint
Returns the collections with the largest recent floor-price and volume moves, each with its current floor and rolling one-hour and one-day stats. Complements `/opensea/rankings`, which ranks by score rather than by change.
/opensea/top-moversQuery parameters:
limit (optional): collections to return, 1-100, default 20| Field | Filled in, of 20 checked | Values in the sample |
|---|---|---|
| id | 20 | |
| slug | 20 | |
| name | 20 | “Statements” and 19 other values |
| image_url | 20 | i2c.seadn.io |
| is_verified | 20 | true in 20 of 20 |
| category | 20 | PFPS (9), GAMING (3), ART (2) and 4 more |
| contract_address | 20 | |
| chain | 20 | ethereum (9), robinhood (4), abstract (2) and 4 more |
| floor_price | 20 | |
| stats | 20 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| limit | integer | No | Collections to return, 1-100 | ||
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/opensea/top-movers?limit=10" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"shelf": "top_movers",
"collections": [
{
"id": "4537b997002a40e891feb087e96f13b6",
"slug": "index-brokers",
"name": "Index Brokers",
"is_verified": false,
"chain": "ethereum",
"floor_price": {
"amount": 0.0412,
"currency": "ETH",
"usd": 101.2
},
"stats": {
"sales": 2841,
"total_supply": 5000,
"unique_item_count": 5000,
"listed_item_count": 318,
"volume_native": 412.8,
"volume_usd": 1014200.5,
"volume_currency": "ETH",
"one_hour": {
"sales": 14,
"volume_native": 0.58,
"volume_usd": 1424.9,
"floor_price_change": 0.1842
},
"one_day": {
"sales": 221,
"volume_native": 9.1,
"volume_usd": 22355.4,
"floor_price_change": 0.4413
}
}
}
]
}
}Request schema
No body schema
Response schema
#/definitions/opensea.collectionShelfResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | opensea.CollectionShelfResponse | No | ||||
| data.collections | array | No | ||||
| data.collections[].category | string | No | PFPS | |||
| data.collections[].chain | string | No | ethereum | |||
| data.collections[].contract_address | string | No | ||||
| data.collections[].floor_price | opensea.Price | No | ||||
| data.collections[].floor_price.amount | number | No | 7.85 | |||
| data.collections[].floor_price.chain | string | No | ethereum | |||
| data.collections[].floor_price.contract_address | string | No | 0x0000000000000000000000000000000000000000 | |||
| data.collections[].floor_price.currency | string | No | ETH | |||
| data.collections[].floor_price.usd | number | No | 19295.3 | |||
| data.collections[].id | string | No | ||||
| data.collections[].image_url | string | No | ||||
| data.collections[].is_verified | boolean | No | ||||
| data.collections[].markets | array | No | ||||
| data.collections[].markets[].listed_item_count | integer | No | 190 | |||
| data.collections[].markets[].marketplace | string | No | opensea | |||
| data.collections[].markets[].name | string | No | OpenSea | |||
| data.collections[].name | string | No | Bored Ape Yacht Club | |||
| data.collections[].slug | string | No | boredapeyachtclub | |||
| data.collections[].stats | opensea.CollectionStats | No | ||||
| data.collections[].stats.listed_item_count | integer | No | 298 | |||
| data.collections[].stats.one_day | opensea.WindowStats | No | ||||
| data.collections[].stats.one_day.floor_price_change | number | No | 0.0065 | |||
| data.collections[].stats.one_day.sales | integer | No | 42 | |||
| data.collections[].stats.one_day.volume_native | number | No | 318.4 | |||
| data.collections[].stats.one_day.volume_usd | number | No | 782344.1 | |||
| data.collections[].stats.one_hour | opensea.WindowStats | No | ||||
| data.collections[].stats.one_hour.floor_price_change | number | No | 0.0065 | |||
| data.collections[].stats.one_hour.sales | integer | No | 42 | |||
| data.collections[].stats.one_hour.volume_native | number | No | 318.4 | |||
| data.collections[].stats.one_hour.volume_usd | number | No | 782344.1 | |||
| data.collections[].stats.sales | integer | No | 57369 | |||
| data.collections[].stats.seven_days | opensea.WindowStats | No | ||||
| data.collections[].stats.seven_days.floor_price_change | number | No | 0.0065 | |||
| data.collections[].stats.seven_days.sales | integer | No | 42 | |||
| data.collections[].stats.seven_days.volume_native | number | No | 318.4 | |||
| data.collections[].stats.seven_days.volume_usd | number | No | 782344.1 | |||
| data.collections[].stats.thirty_days | opensea.WindowStats | No | ||||
| data.collections[].stats.thirty_days.floor_price_change | number | No | 0.0065 | |||
| data.collections[].stats.thirty_days.sales | integer | No | 42 | |||
| data.collections[].stats.thirty_days.volume_native | number | No | 318.4 | |||
| data.collections[].stats.thirty_days.volume_usd | number | No | 782344.1 | |||
| data.collections[].stats.total_supply | integer | No | 9998 | |||
| data.collections[].stats.unique_item_count | integer | No | 9998 | |||
| data.collections[].stats.volume_currency | string | No | ETH | |||
| data.collections[].stats.volume_native | number | No | 1580610.96 | |||
| data.collections[].stats.volume_usd | number | No | 3756342321.66 | |||
| data.next_page_cursor | string | No | ||||
| data.shelf | string | No | top_movers | |||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/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/top-movers?limit=10" \
-H "x-api-key: $CRAWLORA_API_KEY"