API Documentation
Direct API for an individual ENS indexer node. These are the internal endpoints that each indexer exposes. For the public API with load balancing and retry logic, use https://docs.enswhois.com/api.
List all domains associated with an address, with pagination and address type filtering.
| Name | Type | Description |
|---|---|---|
| address | string | Ethereum address (42-char hex) |
| Name | Type | Description |
|---|---|---|
| page | integer | Page number (default 1) |
| sort_by | string | full_name or expiry_timestamp |
| sort_dir | string | asc or desc |
| include_expired | boolean | Include expired domains (default false) |
| address_type | string | effective_owner (default), registry_owner, registrar_owner, wrapper_owner, resolver |
{
"address": "0xd8da6bf2...",
"address_type": "effective_owner",
"results": [
{
"full_name": "vitalik.eth",
"label": "vitalik",
"expiry_timestamp": "1754000000",
"effective_owner_address": "0xd8dA6BF2...",
"registry_owner_address": "0xd8dA6BF2...",
"resolver_address": "0x231b0Ee1...",
"is_wrapped": false
}
],
"total": 42,
"page": 1,
"pageSize": 50
}
Lightweight count-only endpoint. Returns domain counts (total, active, expired) for an address by type.
| Name | Type | Description |
|---|---|---|
| address | string | Ethereum address (42-char hex) |
| Name | Type | Description |
|---|---|---|
| address_type | string | effective_owner (default), registry_owner, registrar_owner, wrapper_owner, resolver |
{
"address": "0xd8da6bf2...",
"address_type": "effective_owner",
"count": 42,
"active_count": 40,
"expired_count": 2
}
Reverse resolve an address to its primary ENS name. Optionally returns full history of reverse name changes.
| Name | Type | Description |
|---|---|---|
| address | string | Ethereum address (42-char hex) |
| Name | Type | Description |
|---|---|---|
| history | boolean | Include full reverse name history (default false) |
{
"address": "0xd8da6bf2...",
"primary_name": "vitalik.eth",
"registrar": "addr.reverse"
}
{
"address": "0xd8da6bf2...",
"current": {
"primary_name": "vitalik.eth",
"registrar": "addr.reverse"
},
"history": [
{
"name": "vitalik.eth",
"registrar": "addr.reverse",
"block_number": 9412610,
"transaction_hash": "0xabc..."
}
]
}
Bulk reverse resolution for multiple addresses. Maximum 200 per request.
{
"addresses": ["0xd8da6bf2...", "0x225f137..."]
}
{
"results": {
"0xd8da6bf2...": {
"primary_name": "vitalik.eth",
"registrar": "addr.reverse"
},
"0x225f137...": {
"primary_name": null,
"registrar": null
}
}
}
Combined address summary: domain count (by effective owner), primary name, and domains expiring soon.
| Name | Type | Description |
|---|---|---|
| address | string | Ethereum address (42-char hex) |
{
"address": "0xd8da6bf2...",
"domain_count": 42,
"primary_name": "vitalik.eth",
"primary_name_source": "addr.reverse",
"domains_expiring_30d": 1
}