It's here: the ENS Profile API

No sign up required, no tracking, and completely free. Seriously!

User avatar

Adil Kazani

Introducing: The ENS Profile API


BROUGHT TO YOU BY

The Indexing Company

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!

#ens#api
  • Loading comments...