OpenSea API endpoint
Runs a keyword search across OpenSea collections and returns the matches with floor price, verification flag, and headline stats. Use this to resolve a human-readable name to the `slug` the other collection endpoints take.
/opensea/search/collectionsQuery parameters:
query (required): the search keyword, e.g. apelimit (optional): results per page, 1-100, default 20Runs a keyword search across OpenSea collections. Use this to resolve a human-readable collection name into the slug that the other collection endpoints take. Each hit carries floor price, verification flag, and headline stats, so a search result is often enough on its own.
A query with no matches returns an empty collections list, not a 404.
| Field | Filled in, of 20 checked | Values in the sample |
|---|---|---|
| id | 20 | |
| slug | 20 | |
| name | 20 | “Mutant Ape Yacht Club” and 18 other values |
| image_url | 20 | i2c.seadn.io |
| is_verified | 20 | true in 20 of 20 |
| contract_address | 20 | |
| chain | 20 | ethereum (15), ape_chain (3), solana (1) and 1 more |
| floor_price | 20 | |
| stats | 20 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| query | string | Yes | Search keyword | ape | |
| limit | integer | No | Results per page, 1-100 | ||
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/opensea/search/collections?query=ape&limit=10" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"query": "ape",
"collections": [
{
"id": "8793322ec84a4d6faae6c0ee881a21ff",
"slug": "mutant-ape-yacht-club",
"name": "Mutant Ape Yacht Club",
"is_verified": true,
"contract_address": "0x60e4d786628fea6478f785a6d7e704777c86a7c6",
"chain": "ethereum",
"floor_price": {
"amount": 1.42,
"currency": "ETH",
"usd": 3489.9
},
"stats": {
"sales": 112843,
"total_supply": 19551,
"unique_item_count": 19551,
"listed_item_count": 844,
"volume_native": 983421.5,
"volume_usd": 2410238100.4,
"volume_currency": "ETH"
}
}
]
}
}Request schema
No body schema
Response schema
#/definitions/opensea.collectionSearchResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | opensea.CollectionSearchResponse | 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.query | string | No | ape | |||
| 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/search/collections?query=ape&limit=10" \
-H "x-api-key: $CRAWLORA_API_KEY"