NFT Metadata
Overview
The Metadata API is a small, public, read-only service for looking up a CollectorCrypt NFT's metadata and images by its on-chain mint address. There is nothing to sign and no authentication — every route is a plain GET keyed by the Solana mint address.
It's handy whenever you have a mint and want a stable URL for the item's JSON metadata or its front/back image without going through the marketplace API or resolving the on-chain URI yourself.
- Solana only. The path parameter is the NFT's mint address (base58), i.e. the
nftAddressreturned by the Marketplace API. - Cached. Every response sets
Cache-Control: public, max-age=300and is served through CloudFront. - Always resolvable images. Image routes redirect to the CDN-hosted copy of the image; if a card has no stored image the route falls back to the CollectorCrypt placeholder rather than failing.
Base URL
| Environment | Base URL |
|---|---|
| Production | https://nft.collectorcrypt.com |
| Devnet | https://nft-dev.collectorcrypt.com |
All routes below are relative to the base URL.
Endpoints
1. Get metadata — GET /metadata/{address}
Returns the item's metadata as JSON, in the standard Metaplex shape (name, image, properties.files, external_url, attributes). The image and properties.files URIs point to the persistent CloudFront copies of the card images, and attributes mirror the traits minted on-chain.
curl "https://nft.collectorcrypt.com/metadata/9CCwLhpeZhX4Ekqiv3aEwreMbxsAhh9BXqgtT2B1EpH6"
Response — application/json:
{
"name": "2025 #018 Tashigi PSA 10 Japanese EB03-Extra Booster - Heroines Edition- One Piece",
"image": "https://d1xpxki1g4htqu.cloudfront.net/1dJtD3nR4WoI8We6-hCMPIrDTRvLF7E2u4gf-F1bhlU",
"properties": {
"files": [
{ "uri": "https://d1xpxki1g4htqu.cloudfront.net/1dJtD3nR4WoI8We6-hCMPIrDTRvLF7E2u4gf-F1bhlU" },
{ "uri": "https://d1xpxki1g4htqu.cloudfront.net/NdS28T_85-hPRWoyGWzpHLyUURX2CyzoVe43-7BkjDw" }
]
},
"external_url": "https://collectorcrypt.com/assets/solana/9CCwLhpeZhX4Ekqiv3aEwreMbxsAhh9BXqgtT2B1EpH6",
"attributes": [
{ "trait_type": "Collector Crypt ID", "value": "2026042313C122221" },
{ "trait_type": "Type", "value": "Card" },
{ "trait_type": "Category", "value": "One Piece" },
{ "trait_type": "Year", "value": "2025" },
{ "trait_type": "Grading Company", "value": "PSA" },
{ "trait_type": "The Grade", "value": "GEM-MT 10" },
{ "trait_type": "Grading ID", "value": "140597679" },
{ "trait_type": "Insured Value", "value": "$258.00" }
]
}
| Field | Description |
|---|---|
name | The item name. |
image | URL of the front image (the canonical preview). |
properties.files | Front and back image URLs (files[0] = front, files[1] = back). Present only when the card has a back image. |
external_url | The item's page on collectorcrypt.com. |
attributes | Array of { trait_type, value } — grading, category, vault, and catalog traits, matching what was minted on-chain. |
Error responses
404: No NFT found for that mint address.
2. Get the front image — GET /front/{address}
Redirects (302) to the front image. Follow the redirect to fetch the image bytes.
curl -L "https://nft.collectorcrypt.com/front/9CCwLhpeZhX4Ekqiv3aEwreMbxsAhh9BXqgtT2B1EpH6"
HTTP/2 302
location: https://d1xpxki1g4htqu.cloudfront.net/1dJtD3nR4WoI8We6-hCMPIrDTRvLF7E2u4gf-F1bhlU
cache-control: public, max-age=300
Error responses
404: No NFT found for that mint address.
3. Get the back image — GET /back/{address}
Redirects (302) to the back image, exactly like /front for the reverse face.
curl -L "https://nft.collectorcrypt.com/back/9CCwLhpeZhX4Ekqiv3aEwreMbxsAhh9BXqgtT2B1EpH6"
HTTP/2 302
location: https://d1xpxki1g4htqu.cloudfront.net/NdS28T_85-hPRWoyGWzpHLyUURX2CyzoVe43-7BkjDw
cache-control: public, max-age=300
Error responses
404: No NFT found for that mint address.
Notes
- Image fallback. When a card has no stored image (rare), the image routes and the metadata
imagefield fall back to the CollectorCrypt placeholder so links never break. A card with no back image simply omitsproperties.filesfrom its metadata. - Direct image links. The
/frontand/backroutes return a302redirect to the CDN rather than streaming the bytes, so most clients (browsers,<img>tags, social-card scrapers) follow them transparently. The same URLs also appear directly in the metadata response if you'd rather use them.