{"uid":"cap_Tfx7gmJpXpIX3OwMaCQNb","slug":"nft-token-lookup-owner-uri-metadata-by-contract-and-token-id-f6220384","name":"NFT Token Lookup — Owner, URI & Metadata by Contract and Token ID","description":"Machine-payable data APIs for AI agents across web search, on-chain reads, trading data, market judgment, and AI visibility. The canonical x402 catalog currently exposes 85 paid routes. Pay per call in USDC via x402 on Base. No API keys, no signup.","url":"https://store.agentexchange.work/chain/nft","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"],"type":"string"},"queryParams":{"type":"object","required":["contract","token_id"],"properties":{"chain":{"type":"string","description":"base|ethereum|optimism|arbitrum|polygon|gnosis (default base)"},"contract":{"type":"string","description":"ERC-721 contract address (0x...)"},"token_id":{"type":"string","description":"Token ID (decimal or 0x hex)"}}}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object","properties":{"owner":{"type":"string"},"exists":{"type":"boolean"},"token_uri":{"type":"string"}}}}}}},"responseSchema":{"type":"json","example":{"chain":"base","owner":"0xd8da6bf26964af9d7eed9e03e53415d37aa96045","exists":true,"contract":"0x...","token_id":"1","token_uri":"ipfs://Qm...","metadata_hint":"ipfs — resolve via a gateway","collection_name":"Example","collection_symbol":"EXM"}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.09","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","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.09/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.09","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.09","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_LoBUgYGu8ybOWF9obEicb","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.09","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Returns on-chain ownership, token URI, and collection metadata for a specific ERC-721 NFT given a contract address and token ID across multiple EVM chains.","exampleAgentPrompt":"Who owns token ID 1 of the NFT contract 0xd8da6bf26964af9d7eed9e03e53415d37aa96045 on Base, and what's its token URI?","exampleUseCases":[{"title":"Verify NFT ownership before gating access","prompt":"Check if wallet 0xabc...123 currently owns token ID 7 of the NFT contract 0x123...def on Ethereum — I need to confirm ownership before granting them access to a private channel."},{"title":"Resolve IPFS metadata for an NFT display","prompt":"Fetch the token URI and metadata for token ID 42 of contract 0xdeadbeef...0001 on Base so I can display the artwork and traits in my gallery app."},{"title":"Audit collection info for a specific token","prompt":"Look up the collection name, symbol, and whether token ID 1000 actually exists for the contract 0xabcdef...9999 on Polygon — I'm trying to verify this NFT before listing it."}],"resultDescription":"A JSON object containing: whether the token exists on-chain (exists: boolean), the current owner's wallet address, the token URI (often an IPFS or HTTP URL pointing to metadata), a metadata_hint about how to resolve the URI, and the collection's name and symbol. Also echoes back the queried chain, contract, and token_id for traceability.","failureModes":["Token does not exist — returns exists: false with no owner or URI","Invalid contract address format — likely returns an error or empty response","Unsupported chain parameter — defaults to Base or returns an error","Token ID in wrong format — may fail if hex/decimal conversion is not handled","Rate limit or payment failure — x402 payment not accepted or quota exceeded","Contract is not ERC-721 — may return unexpected or empty data"],"whenToPreferThis":"Use this endpoint when you need a lightweight, single-call ERC-721 NFT ownership and metadata lookup across EVM chains (Base, Ethereum, Optimism, Arbitrum, Polygon, Gnosis) without setting up a full blockchain node or indexer. Prefer it over general-purpose RPC calls (eth_call) when you want structured NFT output including owner, token URI, and collection info in one response. Best for agents verifying NFT ownership, resolving token metadata, or enriching NFT data in pipelines.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-13T18:45:35.141Z","isFirstParty":false}