Here at Indexing Co we’ve been spending the holiday season onboarding our first customers and getting our infrastructure into production 🎉 And as a holiday gift for web3 builders, we’re releasing our ENS Profile API to the public. No sign up required, no tracking, and completely free. Seriously!
This is the same API that powers our ENS Profile search tool, What’s my name again, and is backed by our real-time indexing engine. You can access it via GraphQL at https://query.indexing.co/graphql
with the following schema:
type ENSProfileAddresses {
address: String
coinType: Int
}
type ENSProfileAttributes {
textKey: String
textValue: String
}
type ENSProfile {
addresses: [ENSProfileAddresses!]
attributes: [ENSProfileAttributes!]
contenthash: String
name: String
node: String
owner: String
tokenId: String
}
input ENSProfileFilter {
name: String
node: String
owner: String
textValue: String
tokenId: String
}
type Query {
ensProfiles(filters: ENSProfileFilter): [ENSProfile!]!
}
For example, to grab the current profile for vitalik.eth
you could simply do:
query {
ensProfiles(
filters: {
name: "vitalik.eth"
}
) {
addresses {
address
coinType
}
attributes {
textKey
textValue
}
contenthash
name
owner
}
}
Which would return:
{
"data": {
"ensProfiles": [
{
"addresses": [
{
"address": "0xd8da6bf26964af9d7eed9e03e53415d37aa96045",
"coinType": 60
}
],
"attributes": [
{
"textKey": "avatar",
"textValue": "eip155:1/erc1155:0xb32979486938aa9694bfc898f35dbed459f44424/10063"
},
{
"textKey": "url",
"textValue": "https://vitalik.ca"
}
],
"contenthash": "0xe3010170122081e99109634060bae2c1e3f359cda33b2232152b0e010baf6f592a39ca228850",
"name": "vitalik.eth",
"owner": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
}
]
}
}
Give it a try and let us know how it goes! And if you find yourself needing anything extra / different, don’t hesitate to reach out - we’re always looking for ways to improve our offerings and empower the builders in web3.