OpenSea API endpoint
Returns the collection-wide offer book as price levels: how many standing offers sit at each price per item, plus the aggregate offer count and total value across the whole collection. Offers are sorted by price.
/opensea/collection/{slug}/offersPath parameters:
slug (required): the OpenSea collection slug, e.g. boredapeyachtclubQuery parameters:
limit (optional): price levels per page, 1-100, default 20cursor (optional): opaque pagination cursor taken from a previous response's next_page_cursorsort_direction (optional): one of ASC, DESC. Default DESCReturns the collection-wide offer book as price levels: total_offers at each price per item, sorted by offer price. total_offers, total_value_token, and total_value_usd at the top level are the aggregate across the whole collection, not just the returned page.
| Field | Filled in, of 20 checked | Values in the sample |
|---|---|---|
| id | 20 | |
| total_offers | 20 | 1 to 8, median 1 |
| price | 20 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| slug (path) | string | Yes | OpenSea collection slug | boredapeyachtclub | |
| limit | integer | No | Price levels per page, 1-100 | ||
| cursor | string | No | Opaque pagination cursor from a previous next_page_cursor | ||
| sort_direction | string | No | Sort direction by offer price Allowed values: ASC, DESC. | ||
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/opensea/collection/boredapeyachtclub/offers?limit=10&sort_direction=ASC" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"slug": "boredapeyachtclub",
"total_offers": 314,
"total_value_usd": 135216.02,
"total_value_token": 55.0032,
"total_currency": "WETH",
"offers": [
{
"id": "46188685bcac4206ace63c9d017abbb7_7.35",
"total_offers": 1,
"price": {
"amount": 7.35,
"currency": "WETH",
"usd": 18023.4,
"contract_address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
"chain": "ethereum"
}
},
{
"id": "46188685bcac4206ace63c9d017abbb7_7.2",
"total_offers": 3,
"price": {
"amount": 7.2,
"currency": "WETH",
"usd": 17655.5,
"chain": "ethereum"
}
}
],
"next_page_cursor": "WzIwXQ"
}
}Request schema
No body schema
Response schema
#/definitions/opensea.collectionOffersResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | opensea.CollectionOffersResponse | No | ||||
| data.next_page_cursor | string | No | ||||
| data.offers | array | No | ||||
| data.offers[].id | string | No | ||||
| data.offers[].price | opensea.Price | No | Price record, 5 fields: amount, chain, contract_address, currency, usd. Described under Get a single OpenSea NFT API. | |||
| data.offers[].total_offers | integer | No | 1 | |||
| data.slug | string | No | boredapeyachtclub | |||
| data.total_currency | string | No | WETH | |||
| data.total_offers | integer | No | 314 | |||
| data.total_value_token | number | No | 55.0032 | |||
| data.total_value_usd | number | No | 135216.02 | |||
| 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/offers?limit=10&sort_direction=ASC" \
-H "x-api-key: $CRAWLORA_API_KEY"