OpenSea API endpoint
Returns the collections on one of OpenSea's ranking boards for a given window, each with its ranking score, floor price, and rolling stats. `TRENDING` ranks by recent momentum, `TOP` by absolute volume, and `NEW` surfaces recently launched collections.
/opensea/rankingsQuery parameters:
ranking (optional): one of TOP, TRENDING, NEW. Default TRENDINGtimeframe (optional): one of ONE_HOUR, ONE_DAY, SEVEN_DAYS, THIRTY_DAYS, ALL_TIME. Default ONE_DAYlimit (optional): collections per page, 1-100, default 20cursor (optional): opaque pagination cursor taken from a previous response's next_page_cursorAn unrecognized ranking or timeframe is rejected with 400.
| Field | Filled in, of 20 checked | Values in the sample |
|---|---|---|
| score | 20 | 6.39 to 25.74, median 9.59 |
| collection | 20 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| ranking | string | No | Ranking board Allowed values: TOP, TRENDING, NEW. | ||
| timeframe | string | No | Ranking window Allowed values: ONE_HOUR, ONE_DAY, SEVEN_DAYS, THIRTY_DAYS, ALL_TIME. | ||
| limit | integer | No | Collections per page, 1-100 | ||
| cursor | string | No | Opaque pagination cursor from a previous next_page_cursor | ||
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/opensea/rankings?ranking=TOP&timeframe=ONE_HOUR&limit=10" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"ranking": "TRENDING",
"timeframe": "ONE_DAY",
"collections": [
{
"score": "28.3713030851",
"collection": {
"id": "bd5f48029bac4f7faee5b1e334c31a2b",
"slug": "chain-mancers",
"name": "Chain Mancers",
"is_verified": true,
"floor_price": {
"amount": 0.0189,
"currency": "ETH",
"usd": 46.4
},
"stats": {
"sales": 4211,
"total_supply": 10000,
"unique_item_count": 9997,
"listed_item_count": 612,
"volume_native": 1893.25,
"volume_usd": 3697279.86,
"volume_currency": "ETH",
"one_day": {
"sales": 812,
"volume_native": 94.1,
"volume_usd": 231160.3,
"floor_price_change": 0.0759
}
}
}
}
],
"next_page_cursor": "WzIwXQ"
}
}Request schema
No body schema
Response schema
#/definitions/opensea.rankingsResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | opensea.RankingsResponse | No | ||||
| data.collections | array | No | ||||
| data.collections[].collection | opensea.CollectionSummary | No | CollectionSummary record, 46 fields: category, chain, contract_address, floor_price, id, image_url, is_verified, markets, name, slug, stats. Described under OpenSea Collection Search API. | |||
| data.collections[].score | string | No | 28.3713030851 | |||
| data.next_page_cursor | string | No | ||||
| data.ranking | string | No | TRENDING | |||
| data.timeframe | string | No | ONE_DAY | |||
| 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/rankings?ranking=TOP&timeframe=ONE_HOUR&limit=10" \
-H "x-api-key: $CRAWLORA_API_KEY"