Migrating NFT Data from SimpleHash to Alchemy

🚧

SimpleHash is sunsetting its services on March 27, 2025, and this guide provides a straightforward path for you to migrate NFT Data to Alchemy.

Please reach out to [email protected] with any questions!

We offer a seamless transition from SimpleHash with robust, reliable, and scalable NFT APIs.

Our NFT API provides:

  • Multi-chain support (30+ chains supported)
  • Ownership & transfer history
  • Real-time metadata updates
  • Support for special case NFTs (e.g., CryptoPunks and other non-standard ERC-721/1155 implementations)
  • White-glove support for migration assistance

If you've been using SimpleHash for NFT metadata, collection data, and ownership tracking, migrating to Alchemy is straightforward.

Learn more about NFT API

Steps to Migrate:

  1. Sign up for an Alchemy account and generate an API key.
  2. Replace SimpleHash endpoints with Alchemy’s NFT API endpoints.
  3. Update your request formats (Alchemy’s documentation provides clear examples).
  4. Test and validate data consistency
  5. Reach out to us at [email protected] for any feature requests or additional migration assistance.

Example: Fetching NFTs Owned by a Wallet

Docs: https://docs.alchemy.com/reference/getnftsforowner-v3

📌 Example Wallet: 0x89205A3A3b2A69De6Dbf7f01ED13B2108B2c43e7

SimpleHash Endpoint (Deprecated)

curl -X GET "<https://api.simplehash.com/nfts/owners?wallet=0x89205A3A3b2A69De6Dbf7f01ED13B2108B2c43e7>"

Alchemy Equivalent

Try it out here!

curl -X GET "<https://eth-mainnet.alchemyapi.io/v2/YOUR_API_KEY/getNFTs?owner=0x89205A3A3b2A69De6Dbf7f01ED13B2108B2c43e7>"

Alchemy API Response

{
  "ownedNfts": [
		{
      "contract": {
        "address": "0x49D38C87a8D5c8c67C6d84321752D9af0BCB428c",
        "name": "aaveprotocol.net",
        "symbol": "Airdrop",
        "totalSupply": "19990",
        "tokenType": "ERC1155",
        "contractDeployer": "0x1524F7e162ae5136343727b36021E14AcCAd83f2",
        "deployedBlockNumber": 19101952,
        "openSeaMetadata": {
          "floorPrice": 0,
          "collectionName": "Visit aaveprotocol.net to claim rewards",
          "collectionSlug": "visit-aaveprotocol-net-to-claim-rewards-1",
          "safelistRequestStatus": "not_requested",
          "imageUrl": "<https://i.seadn.io/s/raw/files/6c70895d3df6e4ab50546db12eccc74d.png?w=500&auto=format>",
          "description": "Visit aaveprotocol.net to claim rewards",
          "externalUrl": null,
          "twitterUsername": null,
          "discordUrl": null,
          "bannerImageUrl": null,
          "lastIngestedAt": "2025-02-18T04:02:33.000Z"
        },
        "isSpam": null,
        "spamClassifications": []
      },
      "tokenId": "0",
      "tokenType": "ERC1155",
      "name": "Visit aaveprotocol.net to claim rewards",
      "description": "Visit aaveprotocol.net to claim rewards",
      "tokenUri": "<https://ipfs.io/ipfs/QmSqGiLcFK3uxTjwRxMSzqbiNFRCaNiL1ps61gJtaxqB4r/0000000000000000000000000000000000000000000000000000000000000000.json>",
      "image": {
        "cachedUrl": "<https://nft-cdn.alchemy.com/eth-mainnet/bda833c8977f198e0a76185a7c195388>",
        "thumbnailUrl": "<https://res.cloudinary.com/alchemyapi/image/upload/thumbnailv2/eth-mainnet/bda833c8977f198e0a76185a7c195388>",
        "pngUrl": "<https://res.cloudinary.com/alchemyapi/image/upload/convert-png/eth-mainnet/bda833c8977f198e0a76185a7c195388>",
        "contentType": "image/png",
        "size": 171504,
        "originalUrl": "<https://ipfs.io/ipfs/QmWwUwWQQXd3QfZb3ThoGGckTYrUEW2JkPENethzHLVNqw>"
      },
      "raw": {
        "tokenUri": "<https://ipfs.io/ipfs/QmSqGiLcFK3uxTjwRxMSzqbiNFRCaNiL1ps61gJtaxqB4r/{id}.json>",
        "metadata": {
          "name": "Visit aaveprotocol.net to claim rewards",
          "description": "Visit aaveprotocol.net to claim rewards",
          "image": "<https://ipfs.io/ipfs/QmWwUwWQQXd3QfZb3ThoGGckTYrUEW2JkPENethzHLVNqw>"
        },
        "error": null
      },
      "collection": {
        "name": "Visit aaveprotocol.net to claim rewards",
        "slug": "visit-aaveprotocol-net-to-claim-rewards-1",
        "externalUrl": null,
        "bannerImageUrl": null
      },
      "mint": {
        "mintAddress": null,
        "blockNumber": null,
        "timestamp": null,
        "transactionHash": null
      },
      "owners": null,
      "timeLastUpdated": "2025-02-26T11:26:38.942Z",
      "balance": "1",
      "acquiredAt": {
        "blockTimestamp": null,
        "blockNumber": null
      }
    },...
	 ]
 }

Note: Alchemy supports special-case NFTs like CryptoPunks, which do not adhere to ERC-721 metadata standards. Our API is optimized for performance and reliability, making it the ideal long-term solution for your NFT data needs.

More Alchemy NFT Features

In addition to fetching NFTs owned by a wallet, we provide:

  • NFT contract ownership – Contract level NFT data
  • NFT Sales/Floor Prices – Sales data/price data
  • Token Gating & Utility Tracking – enhance user experiences with token-gated content
  • NFT Webhooks — Webhooks to track NFT transfers and metadata updates

Start Your Migration to Alchemy

We understand migrating services can be complex, but we are here to make it easy with dedicated support, feature parity, and expanded capabilities.

Learn more about NFT API

ReadMe