Home

Introducing: The ENS Profile API

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.