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.eth
ensdata.net/0xd55Ab78034FcB6349830d0CfdFEFB6A8051d2685
ensdata.net/π½π½π½.eth
ensdata.net/jack.w.eth.id
ensdata.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.eth
https://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.