{"uid":"cap_rOmY9yaO1Py1_ZZvZK75D","slug":"onesource-nft-metadata-lookup-4202be35","name":"OneSource NFT Metadata Lookup","description":"NFT metadata for ERC721 or ERC1155 tokens via eth_call, with IPFS, Arweave, data URI, and public HTTP(S) resolution","url":"https://api.onesource.io/api/chain/nft-metadata","method":"GET","headers":{},"bodySchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method"],"properties":{"type":{"type":"string","const":"http"},"method":{"enum":["GET","HEAD","DELETE"],"type":"string"},"queryParams":{"type":"object","required":["contract","token_id"],"properties":{"network":{"enum":["ethereum","sepolia","robinhood"],"type":"string","default":"ethereum"},"contract":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"token_id":{"type":"string","pattern":"^[0-9]+$"}}}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","properties":{"metadata":{"type":"object","properties":{"name":{"type":"string"},"image":{"type":"string"},"attributes":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"trait_type":{"type":"string"}}}}}},"protocol":{"type":"string"},"token_id":{"type":"string"},"token_uri":{"type":"string"},"resolved_url":{"type":"string"},"contract_address":{"type":"string"}},"description":"Endpoint-specific response payload"},"meta":{"type":"object","required":["endpoint","request_id"],"properties":{"endpoint":{"type":"string"},"cost_usdc":{"type":"string"},"request_id":{"type":"string"},"payment_chain":{"type":"string"},"payment_token":{"type":"string"}}},"error":{"type":["object","null"],"properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}}}}}},"responseSchema":{"type":"json","example":{"data":{"metadata":{"name":"Bored Ape #1","image":"ipfs://QmPbxeGcXhYQQNgsC6a36dDyYUcHgMLnGKnF8pVFmGsvqi","attributes":[{"value":"Orange","trait_type":"Background"}]},"protocol":"ipfs","token_id":"1","token_uri":"ipfs://QmeSjSinHpPnmXmspMjwiXyN6zS4E9zccariGR3jxcaWtq/1","resolved_url":"https://ipfs.io/ipfs/QmeSjSinHpPnmXmspMjwiXyN6zS4E9zccariGR3jxcaWtq/1","contract_address":"0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d"},"meta":{"endpoint":"/api/chain/nft-metadata","cost_usdc":"0.001","request_id":"00000000abcdef01","payment_chain":"base","payment_token":"USDC"}}},"example":{"request":{"network":"ethereum","contract":"0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D","token_id":"1"},"response":{"data":{"metadata":{"image":"http://ipfs.onesource.io/ipfs/QmPbxeGcXhYQQNgsC6a36dDyYUcHgMLnGKnF8pVFmGsvqi","attributes":[{"value":"Grin","trait_type":"Mouth"},{"value":"Vietnam Jacket","trait_type":"Clothes"},{"value":"Orange","trait_type":"Background"},{"value":"Blue Beams","trait_type":"Eyes"},{"value":"Robot","trait_type":"Fur"}]},"protocol":"ipfs","token_id":"1","token_uri":"ipfs://QmeSjSinHpPnmXmspMjwiXyN6zS4E9zccariGR3jxcaWtq/1","resolved_url":"https://ipfs.io/ipfs/QmeSjSinHpPnmXmspMjwiXyN6zS4E9zccariGR3jxcaWtq/1","contract_address":"0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D"},"meta":{"endpoint":"/api/chain/nft-metadata","request_id":"b031da981c85d0a5"}}},"exampleRequest":{"network":"ethereum","contract":"0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D","token_id":"1"},"tags":["x402"],"displayCostAmount":"0.008","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"settled","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.008/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.008","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.008","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_HWyQkydxglO13Mquij_tP","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.008","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Fetches NFT metadata, traits, and image URI for any ERC721 or ERC1155 token on Ethereum via eth_call with IPFS resolution","exampleAgentPrompt":"Can you fetch the metadata, traits, and image for token ID 4521 of the NFT contract 0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D on Ethereum mainnet?","exampleUseCases":[{"title":"Build an NFT portfolio dashboard","prompt":"I'm creating a dashboard to display my NFT collection. Can you fetch the metadata, image URIs, and all traits for my ten Pudgy Penguins tokens so I can show them with their rarity scores?"},{"title":"Verify NFT authenticity before purchase","prompt":"Before I buy this Bored Ape, can you pull the metadata and traits from token 1234 on the Bored Ape Yacht Club contract to make sure everything matches what the seller is claiming?"},{"title":"Analyze traits across multiple NFTs","prompt":"I want to understand rarity in the CloneX collection. Can you grab the traits for token IDs 500, 1000, and 5000 from the contract so I can compare their attribute distributions?"}],"resultDescription":"Returns the NFT's metadata including name, description, image URI (with IPFS resolved), and an array of traits/attributes as defined in the token's metadata JSON, sourced via live eth_call against the Ethereum RPC.","failureModes":["Contract address not a valid ERC721/ERC1155 — no tokenURI method found","Token ID does not exist or has not been minted yet","IPFS gateway timeout or unresolvable CID","Invalid contract address format (must be 0x-prefixed 40 hex chars)","Token ID out of range for the collection","Network not supported (only ethereum and sepolia)","Contract returns empty or malformed metadata JSON"],"whenToPreferThis":"Use this endpoint when you need to retrieve on-chain NFT metadata, traits, and image URIs for ERC721 or ERC1155 tokens on Ethereum or Sepolia, especially when you need IPFS resolution handled automatically. Prefer this over raw RPC calls when you want a single clean response combining token URI resolution and metadata parsing.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-14T12:39:15.567Z","isFirstParty":false}