ENS Domains Resolver: .eth Name to Wallet Address & Records
Pricing
from $8.32 / 1,000 ens resolution results
ENS Domains Resolver: .eth Name to Wallet Address & Records
Resolve ENS names to Ethereum wallet addresses and reverse-resolve addresses to their primary .eth name. Returns avatar, content hash and text records (twitter, github, url, email, description) plus optional on-chain owner, resolver and registration expiry. Batch, HTTP-only.
Pricing
from $8.32 / 1,000 ens resolution results
Rating
0.0
(0)
Developer
Scrapers Lat
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
ENS Domains Resolver: .eth Name to Wallet Address & Records
Turn any list of ENS names and Ethereum addresses into clean, structured identity data. Resolve .eth names forward to their wallet address, reverse-resolve any 0x address to its primary ENS name, and pull the full profile: avatar, content hash, and text records (Twitter, GitHub, URL, email, description, and more). Optionally add on-chain ownership straight from the Ethereum blockchain: registrant, controller, resolver contract, and registration expiry with grace period and days-until-expiry.
Forward and reverse in one actor, batch-friendly, HTTP-only, and more complete than a thin resolver that only maps a name to an address.
Here is one real result, with every field the actor returns for a name (on-chain add-on enabled):
{"input": "vitalik.eth","inputType": "name","isResolved": true,"resolvedName": "vitalik.eth","resolvedAddress": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","displayName": "vitalik.eth","avatar": "https://euc.li/vitalik.eth","contentHash": "bafybeihw3n6rulxprloowr5kdhotje4v63phykialk6crd4djlvnpexapa","textRecords": {"url": "https://vitalik.ca","twitter": "VitalikButerin","github": "vbuterin","description": "mi pinxe lo crino tcati","header": "https://pbs.twimg.com/profile_banners/295218901/1638557376/1500x500","pgp": "527E406252E06A11416D7487698FEAC70F922A21"},"registrant": "0x220866B1A2219f40e72f5c628B65D54268cA3A9D","controller": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","resolverAddress": "0x231b0Ee14048e9dCcD1d247744d114a4EB5E8E63","registrationExpiry": "2048-01-31T00:13:44.000Z","registrationExpiryUnix": 2464042424,"isExpired": false,"daysUntilExpiry": 7837,"gracePeriodEnds": "2048-04-30T00:13:44.000Z","tokenId": "79233663829379634837589865448569342784712482819484549289560981379859480642508","source": "ensdata+ensideas","observedAt": "2026-08-17T06:26:23.581Z","error": null}
Reverse resolution works the same way: pass a 0x address and get its primary .eth name plus the same records back.
Use cases
- ENS resolution at scale. Map thousands of
.ethnames to wallet addresses (forward) or addresses to their primary name (reverse) in a single run. - Wallet labeling. Attach a human-readable ENS identity, avatar, and social handles to raw
0xaddresses in your analytics, block explorer, or dashboards. - Web3 CRM and outreach. Enrich a wallet list with Twitter, GitHub, URL, email, and description records to build contact and profile data for holders, contributors, or leads.
- ENS domain investing and expiry monitoring. Read on-chain registration expiry, grace-period end, and days-until-expiry for a watchlist of names to catch drops and renewals.
- Airdrop and holder research. Normalize a mixed list of names and addresses to canonical addresses, then de-duplicate and cross-reference recipients.
- On-chain ownership checks. Get the registrant (NFT owner), controller (manager), and resolver contract for any name, read directly from Ethereum.
Input
| Field | Type | Description |
|---|---|---|
names | array | ENS .eth names and/or 0x addresses to resolve in one run. Names resolve forward to an address plus records; addresses reverse-resolve to their primary ENS name. |
name | string | A single ENS name or 0x address, as an alternative to the list. |
includeTextRecords | boolean | Include avatar, content hash, and text records (url, twitter, github, email, description, discord, telegram, and any others the resolver returns). Default true. |
includeOnchain | boolean | Paid add-on. Add on-chain registrant, controller, resolver contract, and registration expiry read from the Ethereum blockchain. Default false. Disabled for free accounts. |
maxItems | integer | Maximum number of lookups per run. Free accounts are capped at 10 per run. |
proxyConfiguration | object | Optional proxy settings. Not required; the data sources are open. |
Input type is detected automatically: a value matching 0x followed by 40 hex characters is treated as an address (reverse lookup); anything else is treated as an ENS name (forward lookup).
Output
One row per input. Key fields:
| Field | Description |
|---|---|
input | The exact name or address that was looked up. |
inputType | name (forward) or address (reverse). |
isResolved | Whether the lookup produced a match. |
resolvedName | Primary or display ENS name for the input. |
resolvedAddress | Ethereum address the input resolves to. |
displayName | Human-friendly display name from the resolver, if any. |
avatar | Avatar image URL from the ENS avatar record. |
contentHash | ENS content hash (IPFS/IPNS/Arweave) for decentralised websites. |
textRecords | Object of ENS text records: url, twitter, github, email, description, discord, telegram, and more. |
registrant | On-chain registrant / NFT owner of the name (on-chain add-on). |
controller | On-chain controller / manager of the name (on-chain add-on). |
resolverAddress | Resolver contract address for the name (on-chain add-on). |
registrationExpiry | Registration expiry in ISO 8601 (on-chain add-on). |
isExpired | Whether the registration has passed its expiry date (on-chain add-on). |
daysUntilExpiry | Days remaining until expiry, negative if already expired (on-chain add-on). |
gracePeriodEnds | End of the 90-day grace period after expiry (on-chain add-on). |
tokenId | ERC-721 token id of the .eth registration NFT (on-chain add-on). |
observedAt | When the record was collected (ISO 8601). |
error | Error message when a lookup does not resolve. |
Names that do not resolve, and addresses with no primary ENS name, are returned with isResolved: false and are not charged.
Billing
This actor uses pay-per-event pricing. You are only charged on genuine success.
| Event | Price (USD) | When it is charged |
|---|---|---|
result | 0.008 | Once per input that resolves successfully (a name to an address, or an address to a primary name). |
onchain | 0.008 | Once per name when the on-chain add-on returns owner and/or expiry data. Opt-in and disabled for free accounts. |
Unresolved lookups and errors are never charged. Free Apify accounts are capped at 10 lookups per run.
Notes and limitations
- Reverse resolution only returns a name when the address has set a primary ENS name on-chain; many addresses have not.
- On-chain registration expiry applies to second-level
.ethnames (label.eth). Subdomains still return controller and resolver where set. - The on-chain add-on reads from public Ethereum RPC nodes; the actor tries multiple endpoints for resilience and skips the add-on without charge if all are unavailable.
