ENS Indexer Monitor

API Documentation

Dashboard

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.

http://<indexer-ip>:<port>/api
These endpoints are used internally by the indexer proxy. You typically won't call these directly unless running your own indexer.
GET /api/address/:address/domains

List all domains associated with an address, with pagination and address type filtering.

Parameters

NameTypeDescription
addressstringEthereum address (42-char hex)

Query Parameters

NameTypeDescription
pageintegerPage number (default 1)
sort_bystringfull_name or expiry_timestamp
sort_dirstringasc or desc
include_expiredbooleanInclude expired domains (default false)
address_typestringeffective_owner (default), registry_owner, registrar_owner, wrapper_owner, resolver

Example Response

{
  "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
}
GET /api/address/:address/domain-count

Lightweight count-only endpoint. Returns domain counts (total, active, expired) for an address by type.

Parameters

NameTypeDescription
addressstringEthereum address (42-char hex)

Query Parameters

NameTypeDescription
address_typestringeffective_owner (default), registry_owner, registrar_owner, wrapper_owner, resolver

Example Response

{
  "address": "0xd8da6bf2...",
  "address_type": "effective_owner",
  "count": 42,
  "active_count": 40,
  "expired_count": 2
}
GET /api/address/:address/primary-name

Reverse resolve an address to its primary ENS name. Optionally returns full history of reverse name changes.

Parameters

NameTypeDescription
addressstringEthereum address (42-char hex)

Query Parameters

NameTypeDescription
historybooleanInclude full reverse name history (default false)

Example Response (default)

{
  "address": "0xd8da6bf2...",
  "primary_name": "vitalik.eth",
  "registrar": "addr.reverse"
}

Example Response (history=true)

{
  "address": "0xd8da6bf2...",
  "current": {
    "primary_name": "vitalik.eth",
    "registrar": "addr.reverse"
  },
  "history": [
    {
      "name": "vitalik.eth",
      "registrar": "addr.reverse",
      "block_number": 9412610,
      "transaction_hash": "0xabc..."
    }
  ]
}
POST /api/address/primary-names/bulk

Bulk reverse resolution for multiple addresses. Maximum 200 per request.

Request Body

{
  "addresses": ["0xd8da6bf2...", "0x225f137..."]
}

Example Response

{
  "results": {
    "0xd8da6bf2...": {
      "primary_name": "vitalik.eth",
      "registrar": "addr.reverse"
    },
    "0x225f137...": {
      "primary_name": null,
      "registrar": null
    }
  }
}
GET /api/address/:address/summary

Combined address summary: domain count (by effective owner), primary name, and domains expiring soon.

Parameters

NameTypeDescription
addressstringEthereum address (42-char hex)

Example Response

{
  "address": "0xd8da6bf2...",
  "domain_count": 42,
  "primary_name": "vitalik.eth",
  "primary_name_source": "addr.reverse",
  "domains_expiring_30d": 1
}