{"slug":"nft-collection-metadata","title":"Best NFT collection metadata API: Moralis, Alchemy, OpenSea benchmarked","subtitle":"Share of metadata fields (name, image, description, floor_eth, external_url) populated across 50 Ethereum blue-chip NFT collections, audited every 6 hours.","category":"NFT APIs","metric":"Field coverage","unit":"pct","status":"live","higherIsBetter":true,"value":97.1282,"leader":{"name":"Moralis","slug":"moralis","value":97.1282},"rankings":[{"name":"Moralis","slug":"moralis","ms":{"p50":97.1282,"p90":97.1282,"p99":97.1282,"mean":97.1282},"successRate":100,"sampleSize":975.108},{"name":"OpenSea","slug":"opensea","ms":{"p50":96,"p90":96,"p99":96,"mean":96},"successRate":100,"sampleSize":1000.11},{"name":"Alchemy","slug":"alchemy","ms":{"p50":76.4,"p90":76.4,"p99":76.4,"mean":76.4},"successRate":100,"sampleSize":1000.11}],"sparkline":[97.0833,97.0833,97.0833,97.1429,97.1429,97.1429,97.1429,97.1429,97.1429,97.1429,97.1429,97.1429],"sampleSize":2975.328,"asOf":"2026-07-01T17:58:16.302Z","headline":"Moralis leads field coverage at 97.1% (24h avg) on Best NFT collection metadata API: Moralis, Alchemy, OpenSea benchmarked.","quote":"Moralis leads field coverage at 97.1% (24h avg) on Best NFT collection metadata API: Moralis, Alchemy, OpenSea benchmarked. Source: OpenChainBench (https://openchainbench.com/benchmarks/nft-collection-metadata).","cite":{"plain":"OpenChainBench. \"Best NFT collection metadata API: Moralis, Alchemy, OpenSea benchmarked\". Retrieved 2026-07-01. https://openchainbench.com/benchmarks/nft-collection-metadata","bibtex":"@misc{ocb_nft_collection_metadata,\n  author = {OpenChainBench},\n  title  = {Best NFT collection metadata API: Moralis, Alchemy, OpenSea benchmarked},\n  year   = {2026},\n  url    = {https://openchainbench.com/benchmarks/nft-collection-metadata},\n  note   = {Retrieved 2026-07-01}\n}","apa":"OpenChainBench. (2026). Best NFT collection metadata API: Moralis, Alchemy, OpenSea benchmarked. Retrieved July 1, 2026, from https://openchainbench.com/benchmarks/nft-collection-metadata"},"pageUrl":"https://openchainbench.com/benchmarks/nft-collection-metadata","ogImage":"https://openchainbench.com/api/og/nft-collection-metadata","source":"https://github.com/ChainBench/OpenChainBench/tree/main/harnesses/nft-collection-metadata","methodology":["Collection set: a fixed list of 50 Ethereum blue-chip collections (BAYC, CryptoPunks, Azuki, Pudgy Penguins, Doodles, MAYC, Moonbirds, CloneX, Otherdeeds, Meebits and others). The list is committed to the harness repo and only changes via PR.","Fields scored (5): `name`, `image`, `description`, `floor_eth`, `external_url`. A field counts as covered if the provider returns a non-empty string or a positive number.","Apple-to-apple: each provider gets exactly one chance per field. No OR-of-multiple-URLs tricks.","Providers in scope: Moralis (`/nft/{address}/metadata`), Alchemy (`getContractMetadata`), OpenSea (`/api/v2/collections/{slug}` plus `/api/v2/collections/{slug}/stats` for floor; slug pre-resolved via `/api/v2/chain/ethereum/contract/{addr}`, so OpenSea costs two API calls per collection per check).","Cadence: every 6 hours per provider × collection. Steady-state ≈ 200 checks per provider per day, ~1000 field checks per provider per day.","Region: `eu-west` (single point. multi-region requires running additional monitor instances).","Ratio: `nft_metadata_success_total / nft_metadata_checks_total`, expressed in percent. Failures of the metadata API itself (timeouts, 5xx) are not counted in the denominator. only successful responses with the field check applied."],"license":"CC-BY-4.0"}