OpenSea API endpoint
Returns one NFT addressed by chain, contract address, and token id, including its traits, rarity rank, current owner, parent collection, best standing listing, and best standing offer. Call `/opensea/chains` for the accepted `chain` values.
/opensea/item/{chain}/{contract_address}/{token_id}Path parameters:
chain (required): a chain identifier, e.g. ethereum. Call /api/v1/opensea/chains for the full accepted listcontract_address (required): the NFT contract address, e.g. 0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13dtoken_id (required): the token id within that contract, e.g. 1Returns one NFT with its traits, rarity rank, current owner, parent collection, best standing listing, and best standing offer. An unknown chain, contract, or token id returns 404.
| Field | Filled in, of 5 checked | Values in the sample |
|---|---|---|
| trait_type | 5 | “Background” and 4 other values |
| value | 5 | “Orange” and 4 other values |
| 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 | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/opensea/item/ethereum/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d/1" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"id": "6ee029c31c0d3389a46a6228d3023932",
"token_id": "1",
"name": "#1",
"image_url": "https://i2c.seadn.io/matic/399ac6f3.png",
"contract_address": "0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d",
"chain": "ethereum",
"collection_slug": "boredapeyachtclub",
"collection_name": "Bored Ape Yacht Club",
"rarity_rank": 2687,
"created_at": "2021-04-22T23:13:40.000Z",
"owner": {
"address": "0x46efbaedc92067e6d60e84ed6395099723252496",
"display_name": "gordongoner"
},
"traits": [
{
"trait_type": "Background",
"value": "Orange"
},
{
"trait_type": "Eyes",
"value": "Blue Beams"
},
{
"trait_type": "Fur",
"value": "Robot"
}
],
"best_offer": {
"amount": 7.38,
"currency": "WETH",
"usd": 18097.09
}
}
}Request schema
No body schema
Response schema
#/definitions/opensea.itemResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | opensea.Item | No | ||||
| data.best_listing | opensea.Price | No | ||||
| data.best_listing.amount | number | No | 7.85 | |||
| data.best_listing.chain | string | No | ethereum | |||
| data.best_listing.contract_address | string | No | 0x0000000000000000000000000000000000000000 | |||
| data.best_listing.currency | string | No | ETH | |||
| data.best_listing.usd | number | No | 19295.3 | |||
| data.best_offer | opensea.Price | No | ||||
| data.best_offer.amount | number | No | 7.85 | |||
| data.best_offer.chain | string | No | ethereum | |||
| data.best_offer.contract_address | string | No | 0x0000000000000000000000000000000000000000 | |||
| data.best_offer.currency | string | No | ETH | |||
| data.best_offer.usd | number | No | 19295.3 | |||
| data.chain | string | No | ethereum | |||
| data.collection_name | string | No | Bored Ape Yacht Club | |||
| data.collection_slug | string | No | boredapeyachtclub | |||
| data.contract_address | string | No | ||||
| data.created_at | string | No | ||||
| data.description | string | No | ||||
| data.id | string | No | ||||
| data.image_url | string | No | ||||
| data.is_fungible | boolean | No | ||||
| data.last_sale | opensea.Price | No | ||||
| data.last_sale.amount | number | No | 7.85 | |||
| data.last_sale.chain | string | No | ethereum | |||
| data.last_sale.contract_address | string | No | 0x0000000000000000000000000000000000000000 | |||
| data.last_sale.currency | string | No | ETH | |||
| data.last_sale.usd | number | No | 19295.3 | |||
| data.last_sale_at | string | No | ||||
| data.marketplace | string | No | opensea | |||
| data.name | string | No | #1 | |||
| data.owner | opensea.Account | No | ||||
| data.owner.address | string | No | 0x46efbaedc92067e6d60e84ed6395099723252496 | |||
| data.owner.display_name | string | No | gordongoner | |||
| data.owner.image_url | string | No | ||||
| data.rarity_rank | integer | No | 1204 | |||
| data.token_id | string | No | 1 | |||
| data.traits | array | No | ||||
| data.traits[].trait_type | string | No | Background | |||
| data.traits[].value | string | No | Orange | |||
| 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" \
-H "x-api-key: $CRAWLORA_API_KEY"