Skip to content

Domain Subdomains

Paginate direct child names under a parent domain.
Run in ENSAdmin
query DomainSubdomains($name: InterpretedName!) {
  domain(by: {name: $name}) {
    canonical { name { interpreted } }
    subdomains(first: 10) {
      edges {
        node {
          canonical { name { interpreted } }
        }
      }
    }
  }
}
{
  "name": "eth"
}
{
  "data": {
    "domain": {
      "name": "eth",
      "subdomains": {
        "edges": [
          {
            "node": {
              "name": "⌐◨-◨.eth"
            }
          },
          {
            "node": {
              "name": "♂♂♂♂.eth"
            }
          },
          {
            "node": {
              "name": "♾♾♾♾.eth"
            }
          },
          {
            "node": {
              "name": "⚱⚱⚱⚱.eth"
            }
          },
          {
            "node": {
              "name": "🏴‍☠.eth"
            }
          },
          {
            "node": {
              "name": "🐮💻🐛.eth"
            }
          },
          {
            "node": {
              "name": "👑👑👑👑👑👑.eth"
            }
          },
          {
            "node": {
              "name": "👨🏼‍💻.eth"
            }
          },
          {
            "node": {
              "name": "👱‍♀👱‍♀.eth"
            }
          },
          {
            "node": {
              "name": "🔞🔞🔞🔞🔞.eth"
            }
          }
        ]
      }
    }
  }
}
# POST JSON to your ENSNode Omnigraph endpoint (same path enssdk uses).
curl -sS -X POST "https://api.v2-sepolia.ensnode.io/api/omnigraph" \
  -H "Content-Type: application/json" \
  -d @- <<'EOF'
{
  "query": "query DomainSubdomains($name: InterpretedName!) { domain(by: {name: $name}) { canonical { name { interpreted } } subdomains(first: 10) { edges { node { canonical { name { interpreted } } } } } } }",
  "variables": {
    "name": "eth"
  }
}
EOF
ENS Omnigraph GraphQL
query DomainSubdomains($name: InterpretedName!) {
domain(by: {name: $name}) {
canonical { name { interpreted } }
subdomains(first: 10) {
edges {
node {
canonical { name { interpreted } }
}
}
}
}
}

Payload and transport examples

{
"name": "eth"
}

Response is an illustrative snapshot; live data depends on your ENSNode instance. The curl tab shows a POST to https://api.v2-sepolia.ensnode.io/api/omnigraph

Back to Examples