OpenSea API endpoint
Returns every standing sell order for one NFT, with price, quantity, validity window, marketplace, and the maker's wallet. An item with no active listings returns an empty list rather than a 404.
/opensea/item/{chain}/{contract_address}/{token_id}/listingsPath parameters:
chain (required): a chain identifier, e.g. ethereum. Call /api/v1/opensea/chains for the full accepted listcontract_address (required): the NFT contract addresstoken_id (required): the token id within that contractQuery parameters:
limit (optional): listings 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 ASC| Field | In the sample | Value in the sample |
|---|---|---|
| chain | Has a value | “ethereum” |
| contract_address | Has a value | |
| token_id | Has a value | |
| orders | Empty |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| chain (path) | string | Yes | Chain identifier from /opensea/chains | ethereum | |
| contract_address (path) | string | Yes | NFT contract address | 0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d | |
| token_id (path) | string | Yes | Token id within the contract | 1 | |
| limit | integer | No | Listings per page, 1-100 | ||
| cursor | string | No | Opaque pagination cursor from a previous next_page_cursor | ||
| sort_direction | string | No | Sort direction by price Allowed values: ASC, DESC. | ||
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/opensea/item/ethereum/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d/1/listings?limit=10&sort_direction=ASC" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"chain": "ethereum",
"contract_address": "0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d",
"token_id": "1",
"orders": [
{
"id": "8de03f763f763ef0bd6eedb38d9e1491",
"quantity": "1",
"start_time": "2026-08-30T10:26:47.000Z",
"end_time": "2026-09-30T10:26:47.000Z",
"marketplace": "opensea",
"maker": {
"address": "0x46efbaedc92067e6d60e84ed6395099723252496",
"display_name": "gordongoner"
},
"price": {
"amount": 120,
"currency": "ETH",
"usd": 294660
}
}
],
"next_page_cursor": null
}
}Request schema
No body schema
Response schema
#/definitions/opensea.itemOrdersResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | opensea.ItemOrdersResponse | No | ||||
| data.chain | string | No | ethereum | |||
| data.contract_address | string | No | 0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d | |||
| data.next_page_cursor | string | No | ||||
| data.orders | array | No | Order record, 15 fields: end_time, id, maker, marketplace, price, quantity, start_time. Described under OpenSea NFT Offers API. | |||
| data.token_id | string | No | 1 | |||
| 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/item/ethereum/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d/1/listings?limit=10&sort_direction=ASC" \
-H "x-api-key: $CRAWLORA_API_KEY"