ENS DataENS Data

Look up Ethereum Name Service text records for any address and get them back in convenient JSON format.

Is there an API?

Append the wallet address or ENS after ensdata.net, that’s it. You don’t need any API keys.

Example:

ensdata.net/lochie.ethensdata.net/0xd55Ab78034FcB6349830d0CfdFEFB6A8051d2685ensdata.net/πŸ‘½πŸ‘½πŸ‘½.ethensdata.net/jack.w.eth.idensdata.net/gregskril.nfty.eth

Is this free to use?

Yes, it’s free for everyone thanks to ENS Small Grants.

If you wanna support this project send some eth to ens.pug.eth

Can this API return an ENS if I give it a wallet address?

Yep, it will return the ENS associated with that address, a primary ENS, and records for that primary ENS. Emoji + subdomains + offchain names are supported.

What if I only want to get the avatar?

Setting up your own decentralized infra can be a pain, so I got you covered with a special endpoint.

https://ensdata.net/media/avatar/dwr.ethhttps://ensdata.net/media/avatar/0xE7bd51Dc30d4bDc9FDdD42eA7c0a283590C9D416

What if I only want to get the content hash?

There is a special endpoint for that too.
It always returns fresh data without caching.

https://ensdata.net/content-hash/v1rtl.eth

What about those pesky EIP155:1/ERC721 NFT records?

When NFTs are detected, the response will include an additional key with an appended _url at the end which points to a CDN that hosts the image.

Example:

"cover": "eip155:1/erc721:0x1e4c...cfff/89"

will produce an extra field of

"cover_url": "https://gateway.pinata.cloud/ipfs/bafy...nsoe"

You can render that extra URL as an image or do it yourself and set up your own data provider / CDN that handles the original NFT record.

Can you match a wallet address or ENS to a Farcaster profile?

Yes, but only if that address or ENS is associated with a Farcaster profile.

You also need to use a special ?farcaster=true parameter.

https://ensdata.net/dwr.eth?farcaster=true

Can I also get the expiry date for an ENS?

Use the special ?expiry=true parameter.

https://ensdata.net/pugson.eth?expiry=true

How fresh is this data?

Full records are cached for 72 hours. If you need this data to be more up to date, let me know on Twitter or Telegram and we can work something out.

Getting rate limited?

If you need to make more queries without getting rate limited, message me on Twitter or Telegram and we can work something out.

Which networks are supported?

Only Ethereum Mainnet is supported right now.

How can I get notified about API changes?

Subscribe to this Telegram channel for development updates.

Or if you’re one of those weirdos that do not use Telegram, you can preview it on the web.