# NFT Metadata

Endpoints for retrieving NFT metadata for parcels and estates. Metadata follows the OpenSea Metadata Standard.

## Get metadata for a specific parcel

> Returns detailed NFT metadata for a specific parcel, following the OpenSea Metadata Standard. \
> Includes information about the parcel's location, name, description, owner, and various attributes.<br>

```json
{"openapi":"3.0.3","info":{"title":"Decentraland Atlas Server API","version":"2.0.0"},"tags":[{"name":"NFT Metadata","description":"Endpoints for retrieving NFT metadata for parcels and estates. Metadata follows the OpenSea \nMetadata Standard.\n"}],"servers":[{"url":"https://api.decentraland.org","description":"Production environment"},{"url":"https://api.decentraland.zone","description":"Development environment"}],"paths":{"/v2/parcels/{x}/{y}":{"get":{"tags":["NFT Metadata"],"summary":"Get metadata for a specific parcel","description":"Returns detailed NFT metadata for a specific parcel, following the OpenSea Metadata Standard. \nIncludes information about the parcel's location, name, description, owner, and various attributes.\n","operationId":"getParcelMetadata","parameters":[{"name":"x","in":"path","required":true,"description":"X coordinate of the parcel","schema":{"type":"integer"}},{"name":"y","in":"path","required":true,"description":"Y coordinate of the parcel","schema":{"type":"integer"}}],"responses":{"200":{"description":"Parcel metadata","content":{"application/json":{"schema":{"type":"object","description":"NFT metadata following the OpenSea Metadata Standard","required":["id","name","description","image","external_url","attributes"],"properties":{"id":{"type":"string","description":"Unique identifier for the NFT"},"name":{"type":"string","description":"Name of the NFT"},"description":{"type":"string","description":"Description of the NFT"},"image":{"type":"string","format":"uri","description":"URL to the NFT image"},"external_url":{"type":"string","format":"uri","description":"External URL to view the NFT in Decentraland"},"background_color":{"type":"string","description":"Background color for the NFT (6-character hex code without"},"attributes":{"type":"array","description":"Array of attributes for the NFT","items":{"type":"object","description":"An attribute of an NFT","required":["trait_type","value","display_type"],"properties":{"trait_type":{"type":"string","description":"The type of trait"},"value":{"type":"number","description":"The value of the trait"},"display_type":{"type":"string","enum":["number"],"description":"How to display the value"}}}}}}}}},"403":{"description":"Invalid coordinates","content":{"text/plain":{"schema":{"type":"string"}}}},"404":{"description":"Parcel not found","content":{"application/json":{"schema":{"type":"object","description":"Error response","properties":{"ok":{"type":"boolean"},"error":{"type":"string","description":"Error message"}}}}}},"503":{"description":"Service not ready","content":{"text/plain":{"schema":{"type":"string"}}}}}}}}}
```

## Get metadata for a specific estate

> Returns detailed NFT metadata for a specific estate, following the OpenSea Metadata Standard. \
> Includes information about all parcels in the estate, as well as estate-level metadata.\
> If the estate has been dissolved, returns the dissolved estate metadata.<br>

```json
{"openapi":"3.0.3","info":{"title":"Decentraland Atlas Server API","version":"2.0.0"},"tags":[{"name":"NFT Metadata","description":"Endpoints for retrieving NFT metadata for parcels and estates. Metadata follows the OpenSea \nMetadata Standard.\n"}],"servers":[{"url":"https://api.decentraland.org","description":"Production environment"},{"url":"https://api.decentraland.zone","description":"Development environment"}],"paths":{"/v2/estates/{id}":{"get":{"tags":["NFT Metadata"],"summary":"Get metadata for a specific estate","description":"Returns detailed NFT metadata for a specific estate, following the OpenSea Metadata Standard. \nIncludes information about all parcels in the estate, as well as estate-level metadata.\nIf the estate has been dissolved, returns the dissolved estate metadata.\n","operationId":"getEstateMetadata","parameters":[{"name":"id","in":"path","required":true,"description":"Estate ID","schema":{"type":"string"}}],"responses":{"200":{"description":"Estate metadata","content":{"application/json":{"schema":{"type":"object","description":"NFT metadata following the OpenSea Metadata Standard","required":["id","name","description","image","external_url","attributes"],"properties":{"id":{"type":"string","description":"Unique identifier for the NFT"},"name":{"type":"string","description":"Name of the NFT"},"description":{"type":"string","description":"Description of the NFT"},"image":{"type":"string","format":"uri","description":"URL to the NFT image"},"external_url":{"type":"string","format":"uri","description":"External URL to view the NFT in Decentraland"},"background_color":{"type":"string","description":"Background color for the NFT (6-character hex code without"},"attributes":{"type":"array","description":"Array of attributes for the NFT","items":{"type":"object","description":"An attribute of an NFT","required":["trait_type","value","display_type"],"properties":{"trait_type":{"type":"string","description":"The type of trait"},"value":{"type":"number","description":"The value of the trait"},"display_type":{"type":"string","enum":["number"],"description":"How to display the value"}}}}}}}}},"403":{"description":"Invalid estate ID","content":{"text/plain":{"schema":{"type":"string"}}}},"404":{"description":"Estate not found","content":{"application/json":{"schema":{"type":"object","description":"Error response","properties":{"ok":{"type":"boolean"},"error":{"type":"string","description":"Error message"}}}}}},"503":{"description":"Service not ready"}}}}}}
```

## Get NFT metadata by contract address and token ID

> Returns NFT metadata for a parcel or estate by providing the contract address and token ID. \
> This endpoint follows the OpenSea Metadata Standard and is commonly used by NFT marketplaces.\
> \
> \## Contract Addresses (Mainnet)\
> \- \*\*LAND\*\*: \`0xf87e31492faf9a91b02ee0deaad50d51d56d5d4d\`\
> \- \*\*Estate\*\*: \`0x959e104e1a4db6317fa58f8295f586e1a978c297\`\
> \
> For LAND parcels, responses include extended cache headers for immutability.<br>

```json
{"openapi":"3.0.3","info":{"title":"Decentraland Atlas Server API","version":"2.0.0"},"tags":[{"name":"NFT Metadata","description":"Endpoints for retrieving NFT metadata for parcels and estates. Metadata follows the OpenSea \nMetadata Standard.\n"}],"servers":[{"url":"https://api.decentraland.org","description":"Production environment"},{"url":"https://api.decentraland.zone","description":"Development environment"}],"paths":{"/v2/contracts/{address}/tokens/{id}":{"get":{"tags":["NFT Metadata"],"summary":"Get NFT metadata by contract address and token ID","description":"Returns NFT metadata for a parcel or estate by providing the contract address and token ID. \nThis endpoint follows the OpenSea Metadata Standard and is commonly used by NFT marketplaces.\n\n## Contract Addresses (Mainnet)\n- **LAND**: `0xf87e31492faf9a91b02ee0deaad50d51d56d5d4d`\n- **Estate**: `0x959e104e1a4db6317fa58f8295f586e1a978c297`\n\nFor LAND parcels, responses include extended cache headers for immutability.\n","operationId":"getTokenMetadata","parameters":[{"name":"address","in":"path","required":true,"description":"Contract address (LAND or Estate contract)","schema":{"type":"string"}},{"name":"id","in":"path","required":true,"description":"Token ID","schema":{"type":"string"}}],"responses":{"200":{"description":"Token metadata","headers":{"Cache-Control":{"description":"Cache control header (immutable for LAND parcels)","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","description":"NFT metadata following the OpenSea Metadata Standard","required":["id","name","description","image","external_url","attributes"],"properties":{"id":{"type":"string","description":"Unique identifier for the NFT"},"name":{"type":"string","description":"Name of the NFT"},"description":{"type":"string","description":"Description of the NFT"},"image":{"type":"string","format":"uri","description":"URL to the NFT image"},"external_url":{"type":"string","format":"uri","description":"External URL to view the NFT in Decentraland"},"background_color":{"type":"string","description":"Background color for the NFT (6-character hex code without"},"attributes":{"type":"array","description":"Array of attributes for the NFT","items":{"type":"object","description":"An attribute of an NFT","required":["trait_type","value","display_type"],"properties":{"trait_type":{"type":"string","description":"The type of trait"},"value":{"type":"number","description":"The value of the trait"},"display_type":{"type":"string","enum":["number"],"description":"How to display the value"}}}}}}}}},"404":{"description":"Token not found","content":{"application/json":{"schema":{"type":"object","description":"Error response","properties":{"ok":{"type":"boolean"},"error":{"type":"string","description":"Error message"}}}}}},"503":{"description":"Service not ready"}}}}}}
```
