# 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"}}}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.decentraland.org/apis/apis/atlas-server/nft-metadata.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
