Skip to main content

List All Subnames (Detailed)

List all registered subnames with comprehensive details including profile links, ENS app links, and API endpoints.

Endpoint​

GET /api/subnames/{parent}/all

Authentication​

None required — This is a public read endpoint.

Parameters​

ParameterTypeLocationRequiredDescription
parentstringpathâś…Parent ENS name (e.g., aboutme.eth)
limitintegerquery❌Max results to return (default: 100)
offsetintegerquery❌Number of results to skip (default: 0)

Response​

{
"parent": "aboutme.eth",
"total": 156,
"count": 2,
"offset": 0,
"limit": 100,
"subnames": [
{
"name": "alice",
"fullName": "alice.aboutme.eth",
"owner": "0x701B4937e6c943789ffA74CC8601813b2D87B454",
"created_at": "2024-02-09T18:30:00.000Z",
"expires_at": "2025-02-09T18:30:00.000Z",
"links": {
"profile": "https://alice.aboutme.eth.limo",
"ens_app": "https://app.ens.domains/alice.aboutme.eth",
"api": "https://api.web3identity.com/api/subnames/aboutme.eth/alice"
}
}
],
"timestamp": "2024-02-10T14:30:00.000Z"
}

Examples​

cURL​

# List all subnames with details
curl "https://api.web3identity.com/api/subnames/aboutme.eth/all?limit=50"

# Get second page
curl "https://api.web3identity.com/api/subnames/aboutme.eth/all?limit=50&offset=50"

JavaScript​

async function listAllSubnames(parent, limit = 100, offset = 0) {
const response = await fetch(
`https://api.web3identity.com/api/subnames/${parent}/all?limit=${limit}&offset=${offset}`
);
return response.json();
}

// List with pagination
const result = await listAllSubnames('aboutme.eth', 50);
console.log(`Showing ${result.count} of ${result.total} subnames`);

// Access direct links
result.subnames.forEach(s => {
console.log(`${s.fullName}: ${s.links.profile}`);
});

Differences from /api/subnames/{parent}​

Feature/all EndpointBase Endpoint
Short name✅ Included❌ Only full name
Profile links✅ Included❌ Not included
ENS app link✅ Included❌ Not included
API endpoint link✅ Included❌ Not included

Error Responses​

StatusCodeDescription
400BAD_REQUESTInvalid parameters
429RATE_LIMITEDRate limit exceeded
500LIST_ERRORInternal server error