Web3.bio Profile API

Universal Identity & Domain Resolver API for Ethereum, ENS Ecosystem, Lens, Farcaster, and Solana.

Web3.bio Profile API enables developers to easily and quickly integrate Web3 universal profiles from Ethereum / ENS, Lens, Farcaster, Basenames, Solana / SNS, and more into their apps. These APIs are already integrated into Web3.bio search and profile services.

Profile Avatar
Stani
0x7241...9dff
Building @LensProtocol & @AaveAave
Profile Avatar
dwr.eth
0xd702...8ff2
Working on Farcaster
Profile Avatar
vitalik.eth
0xd8da...6045
Profile Avatar
nick.eth
0xb8c2...67d5
Lead developer of ENS & Ethereum Foundation alum.

This documentation describes the publicly available endpoints of the Web3.bio Profile API, which is a set of RESTful JSON APIs. It explains how to use them and what they return. Currently, the APIs are offered for free to assist developers in getting started with Web3 profiles. We will do our best to maintain uptime.

Profile Kit

For React developers, we provide the Web3.bio Profile Kit, a lightweight client library that simplifies integrating Web3 profiles into your applications.

The Profile Kit offers React hooks, types, and components for fetching and displaying profile data from multiple Web3 platforms, making it easier to build user interfaces that leverage Web3 identities.

๐Ÿ› ๏ธ Install Profile Kit View on GitHub

API Endpoints

The main public API endpoint domain for Web3.bio Profile API is api.web3.bio

GET
Universal Profiles
Endpoints โ†’
GET
Platform Profiles
Endpoints โ†’
GET
Batch Profile Query
Endpoints โ†’
GET
Credential Query
Endpoints โ†’
GET
Domain Query
Endpoints โ†’
GET
Wallet Query
Endpoints โ†’
GET
Avatar Query
Endpoints โ†’

Web3.bio Profile API also provides basic profiles for name service resolution under api.web3.bio/ns (Replace profile with ns).

API Key and Authentication

The Profile API is free, but usage without API keys includes rate limiting mechanisms to ensure fair usage and prevent abuse. If you need an API Key, you can obtain one by contacting Web3.bio via Twitter (X) or Telegram group.

Please include the API key in the request header using the following format:X-API-KEY: Bearer {API_KEY}.

Examples

  # Shell
  curl -H "X-API-KEY: Bearer YOUR_API_KEY" https://api.web3.bio/profile/vitalik.eth

  # Javascript
  fetch("https://api.web3.bio/profile/vitalik.eth", {
    headers: {
      "X-API-KEY": "Bearer YOUR_API_KEY"
    }
  })

Universal Profiles

Fetch detailed universal profiles from an Identity Graph across multiple platforms, using any identity.

Endpoints

GET
https://api.web3.bio/profile/{identity}
GET
https://api.web3.bio/ns/{identity}

Parameters

  • identity string
    An Ethereum address, an ENS domain, a Lens handle, a Farcaster username (ends with .farcaster), a Basenames domain, a Linea domain, or a Solana address or SNS domain.

Examples

Responses

  // https://api.web3.bio/profile/0xd8da6bf26964af9d7eed9e03e53415d37aa96045
  // https://api.web3.bio/profile/vitalik.eth
  [
    {
      "address": "0xd8da6bf26964af9d7eed9e03e53415d37aa96045",
      "identity": "vitalik.eth",
      "platform": "ens",
      "displayName": "vitalik.eth",
      "avatar": "https://euc.li/vitalik.eth",
      "description": "mi pinxe lo crino tcati",
      "status": null,
      "email": null,
      "location": null,
      "header": "https://pbs.twimg.com/profile_banners/295218901/1638557376/1500x500",
      "contenthash": "ipfs://bafybeie734kfgfk66fm2uiygvretlr6nzyf2fdlstzezrqxciwden6zai4",
      "links": {
        "website": {
          "link": "https://vitalik.ca",
          "handle": "vitalik.ca",
          "sources": []
        },
        "github": {
          "link": "https://github.com/vbuterin",
          "handle": "vbuterin",
          "sources": []
        },
        "twitter": {
          "link": "https://x.com/VitalikButerin",
          "handle": "VitalikButerin",
          "sources": [
            "crowdsourcing",
            "nostr"
          ]
        }
      },
      "social": {
        "uid": null,
        "follower": 4449,
        "following": 10
      }
    },
    {
      "address": "0xd8da6bf26964af9d7eed9e03e53415d37aa96045",
      "identity": "vitalik.eth",
      "platform": "farcaster",
      "displayName": "Vitalik Buterin",
      "avatar": "https://i.imgur.com/IzJxuId.jpg",
      "description": "hullo",
      "status": null,
      "email": null,
      "location": null,
      "header": null,
      "contenthash": null,
      "links": {
        "farcaster": {
          "link": "https://farcaster.xyz/vitalik.eth",
          "handle": "vitalik.eth",
          "sources": ["farcaster"]
        }
      },
      "social": {
        "uid": 5650,
        "follower": 396461,
        "following": 73
      }
    },
    {
      "address": "0xd8da6bf26964af9d7eed9e03e53415d37aa96045",
      "identity": "vitalik.lens",
      "platform": "lens",
      "displayName": "vitalik.lens",
      "avatar": "https://ik.imagekit.io/lens/6a5c67c2bff07e56d352d29cf0a858b67690dc25fc49d2f30ecf347d00348184_kX7EqG2mt.webp",
      "description": null,
      "status": null,
      "email": null,
      "location": null,
      "header": null,
      "contenthash": null,
      "links": {
        "lens": {
          "link": "https://www.lensfrens.xyz/vitalik",
          "handle": "vitalik",
          "sources": ["lens"]
        }
      },
      "social": {
        "uid": null,
        "follower": 42267,
        "following": 7
      }
    }
  ]

  // https://api.web3.bio/ns/0xd8da6bf26964af9d7eed9e03e53415d37aa96045
  // https://api.web3.bio/ns/vitalik.eth
  [
    {
      "address": "0xd8da6bf26964af9d7eed9e03e53415d37aa96045",
      "identity": "vitalik.eth",
      "platform": "ens",
      "displayName": "vitalik.eth",
      "avatar": "https://euc.li/vitalik.eth",
      "description": "mi pinxe lo crino tcati"
    },
    {
      "address": "0xd8da6bf26964af9d7eed9e03e53415d37aa96045",
      "identity": "vitalik.eth",
      "platform": "farcaster",
      "displayName": "Vitalik Buterin",
      "avatar": "https://i.imgur.com/IzJxuId.jpg",
      "description": "hullo"
    },
    {
      "address": "0xd8da6bf26964af9d7eed9e03e53415d37aa96045",
      "identity": "vitalik.lens",
      "platform": "lens",
      "displayName": "vitalik.lens",
      "avatar": "https://ik.imagekit.io/lens/6a5c67c2bff07e56d352d29cf0a858b67690dc25fc49d2f30ecf347d00348184_kX7EqG2mt.webp",
      "description": null
    }
  ]

Platform Profiles

Fetch a detailed platform-specific profile using an Ethereum address, Solana address or domain name.

Endpoints

GET
ENS Profile API
Endpoints โ†’
GET
Lens Profile API
Endpoints โ†’
GET
Farcaster Profile API
Endpoints โ†’
GET
Basenames Profile API
Endpoints โ†’
GET
Linea Profile API
Endpoints โ†’
GET
Solana / SNS Profile API
Endpoints โ†’

ENS Profile API

Fetch a detailed ENS profile using an Ethereum address or ENS domain.

Endpoints

GET
https://api.web3.bio/profile/ens/{identity}
GET
https://api.web3.bio/ns/ens/{identity}

Parameters

  • identity string
    An Ethereum address or an ENS domain.

Examples

Responses

  // https://api.web3.bio/profile/ens/0xd8da6bf26964af9d7eed9e03e53415d37aa96045
  // https://api.web3.bio/profile/ens/vitalik.eth
  {
    "address": "0xd8da6bf26964af9d7eed9e03e53415d37aa96045",
    "identity": "vitalik.eth",
    "platform": "ens",
    "displayName": "vitalik.eth",
    "avatar": "https://cdn.simplehash.com/assets/db17eebeede377614b156126590d5e4c521a80fef6bdce78e8e6563b4526b417.gif",
    "description": null,
    "status": null,
    "email": null,
    "location": null,
    "header": null,
    "contenthash": "ipfs://bafybeifkprcu4gotrr7tftkdlnmhgi6cxz5rj3mmawzujez2hixqmx52vi",
    "links": {
      "website": {
        "link": "https://vitalik.ca",
        "handle": "vitalik.ca",
        "sources": []
      },
      "github": {
        "link": "https://github.com/vbuterin",
        "handle": "vbuterin",
        "sources": []
      },
      "twitter": {
        "link": "https://x.com/VitalikButerin",
        "handle": "VitalikButerin",
        "sources": [
          "crowdsourcing",
          "nostr"
        ]
      }
    },
    "social": {}
  }

  // https://api.web3.bio/ns/ens/0xd8da6bf26964af9d7eed9e03e53415d37aa96045
  // https://api.web3.bio/ns/ens/vitalik.eth
  {
    "address": "0xd8da6bf26964af9d7eed9e03e53415d37aa96045",
    "identity": "vitalik.eth",
    "platform": "ens",
    "displayName": "vitalik.eth",
    "avatar": "https://euc.li/vitalik.eth",
    "description": "mi pinxe lo crino tcati",
    "header": "https://pbs.twimg.com/profile_banners/295218901/1638557376/1500x500",
    "status": null
  }

Lens Profile API

Fetch a detailed Lens profile using an Ethereum address or Lens handle.

Endpoints

GET
https://api.web3.bio/profile/lens/{identity}
GET
https://api.web3.bio/ns/lens/{identity}

Parameters

  • identity string
    An Ethereum address or a Lens handle

Examples

  // https://api.web3.bio/profile/lens/0x7241dddec3a6af367882eaf9651b87e1c7549dff
  // https://api.web3.bio/profile/lens/stani.lens
  {
    "address": "0x7241dddec3a6af367882eaf9651b87e1c7549dff",
    "identity": "stani.lens",
    "platform": "lens",
    "displayName": "Stani",
    "avatar": "https://ik.imagekit.io/lens/media-snapshot/98e279526cad20389c0959c26059cc3fe7a35793e8e050b43802916ea0d42d33.png",
    "description": "@Avara (@Aave @Lens @Family)",
    "status": null,
    "email": null,
    "location": null,
    "header": "https://ik.imagekit.io/lens/media-snapshot/b23bb0344546aa064c6aeb39520e148576574113755385e5083465f25d2db098.webp",
    "contenthash": null,
    "links": {
      "lens": {
        "link": "https://www.lensfrens.xyz/stani",
        "handle": "stani",
        "sources": ["lens"]
      }
    },
    "social": {
      "uid": null,
      "follower": 115084,
      "following": 1265
    }
  }

  // https://api.web3.bio/ns/lens/0x7241dddec3a6af367882eaf9651b87e1c7549dff
  // https://api.web3.bio/ns/lens/stani.lens
  {
    "address": "0x7241dddec3a6af367882eaf9651b87e1c7549dff",
    "identity": "stani.lens",
    "platform": "lens",
    "displayName": "Stani",
    "avatar": "https://ik.imagekit.io/lens/4f0b6ecae2682c22c38a3f1c12f70e386ec68638b1895e53c969fdc9853f7022_rHSuskh0J.webp",
    "description": "Founder & CEO @Aave",
    "header": "https://ik.imagekit.io/lens/205d97d8c8bbf46058ce9666423fde941883e75d34ceeaedfeb0194fe9ec2407_TPKvCEnc54.webp",
    "status": null
  }

Farcaster Profile API

Fetch a detailed Farcaster profile using an Ethereum address or Farcaster username/fname or encoded Farcaster FID.

Endpoints

GET
https://api.web3.bio/profile/farcaster/{identity}
GET
https://api.web3.bio/ns/farcaster/{identity}

Parameters

  • identity string
    An Ethereum address or Farcaster username/fname or encoded Farcaster FID.

Examples

  // https://api.web3.bio/profile/farcaster/0x8fc5d6afe572fefc4ec153587b63ce543f6fa2ea
  // https://api.web3.bio/profile/farcaster/dwr.eth
  // https://api.web3.bio/profile/farcaster/farcaster%2C%233
  {
    "address": "0xd7029bdea1c17493893aafe29aad69ef892b8ff2",
    "identity": "dwr.eth",
    "platform": "farcaster",
    "displayName": "Dan Romero",
    "avatar": "https://imagedelivery.net/BXluQx4ige9GuW0Ia56BHw/bc698287-5adc-4cc5-a503-de16963ed900/original",
    "description": "Working on Farcaster",
    "status": null,
    "email": null,
    "location": "Los Angeles, California",
    "header": null,
    "contenthash": null,
    "links": {
      "farcaster": {
        "link": "https://farcaster.xyz/dwr.eth",
        "handle": "dwr.eth",
        "sources": ["farcaster"]
      }
    },
    "social": {
      "uid": 3,
      "follower": 493153,
      "following": 3534
    }
  }

  // https://api.web3.bio/ns/farcaster/0x8fc5d6afe572fefc4ec153587b63ce543f6fa2ea
  // https://api.web3.bio/ns/farcaster/dwr.eth
  // https://api.web3.bio/ns/farcaster/farcaster%2C%233
  {
    "address": "0x6ce09ed5526de4afe4a981ad86d17b2f5c92fea5",
    "identity": "dwr",
    "platform": "farcaster",
    "displayName": "Dan Romero",
    "avatar": "https://imagedelivery.net/BXluQx4ige9GuW0Ia56BHw/bc698287-5adc-4cc5-a503-de16963ed900/original",
    "description": "Interested in technology and other stuff.",
    "header": null,
    "status": null
  }

Basenames Profile API

Fetch a detailed Basenames profile using an Ethereum address or Basenames domain.

Endpoints

GET
https://api.web3.bio/profile/basenames/{identity}
GET
https://api.web3.bio/ns/basenames/{identity}

Parameters

  • identity string
    An Ethereum address or a Basenames domain.

Examples

Responses

  // https://api.web3.bio/profile/basenames/0x041be0b39a80388364fe223dcd2b733d5a1144c4
  // https://api.web3.bio/profile/basenames/tony.base.eth
  {
    "address": "0x041be0b39a80388364fe223dcd2b733d5a1144c4",
    "identity": "tony.base.eth",
    "platform": "basenames",
    "displayName": "tony.base.eth",
    "avatar": "https://zku9gdedgba48lmr.public.blob.vercel-storage.com/basenames/avatar/tony.base.eth/1724097976538/to-KihxRGRzOZbjF9tW937zYGMLMYQOjz.png",
    "description": "mfer building on base",
    "status": null,
    "email": null,
    "location": null,
    "header": null,
    "contenthash": null,
    "links": {
      "website": {
        "link": "https://mint.club",
        "handle": "mint.club",
        "sources": []
      },
      "github": {
        "link": "https://github.com/tonymfer",
        "handle": "tonymfer",
        "sources": []
      },
      "twitter": {
        "link": "https://x.com/tonmfer",
        "handle": "tonmfer",
        "sources": []
      },
      "farcaster": {
        "link": "https://farcaster.xyz/to",
        "handle": "to",
        "sources": []
      }
    },
    "social": {}
  }

  // https://api.web3.bio/ns/basenames/0x041be0b39a80388364fe223dcd2b733d5a1144c4
  // https://api.web3.bio/ns/basenames/tony.base.eth
  {
    "address": "0x041be0b39a80388364fe223dcd2b733d5a1144c4",
    "identity": "tony.base.eth",
    "platform": "basenames",
    "displayName": "tony.base.eth",
    "avatar": "https://ipfs.io/ipfs/bafybeid7wspcdu2m7qtntomflncnyepfstuqym3xc6w6ui7kytomaz5kl4",
    "description": "mfer building on base",
    "header": null,
    "status": null
  }

Linea Profile API

Fetch a detailed Linea profile using an Ethereum address or Linea domain.

Endpoints

GET
https://api.web3.bio/profile/linea/{identity}
GET
https://api.web3.bio/ns/linea/{identity}

Parameters

  • identity string
    An Ethereum address or a Linea domain.

Examples

Responses

  // https://api.web3.bio/profile/linea/0xa4d421e743cb9279bfebc008930ce87785940e47
  // https://api.web3.bio/profile/linea/name.linea.eth
  {
    "address": "0xa4d421e743cb9279bfebc008930ce87785940e47",
    "identity": "name.linea.eth",
    "platform": "linea",
    "displayName": "name.linea.eth",
    "avatar": null,
    "description": null,
    "status": null,
    "email": null,
    "location": null,
    "header": null,
    "contenthash": null,
    "links": {},
    "social": {}
  }

  // https://api.web3.bio/ns/linea/0xa4d421e743cb9279bfebc008930ce87785940e47
  // https://api.web3.bio/ns/linea/name.linea.eth
  {
    "address": "0xa4d421e743cb9279bfebc008930ce87785940e47",
    "identity": "name.linea.eth",
    "platform": "linea",
    "displayName": "name.linea.eth",
    "avatar": null,
    "description": null,
    "header": null,
    "status": null
  }

Solana / SNS Profile API

Fetch a detailed Solana Name Service (SNS) profile using a Solana address or Solana Name Service domain

Endpoints

GET
https://api.web3.bio/profile/solana/{identity}
GET
https://api.web3.bio/ns/solana/{identity}

Parameters

  • identity string
    A Solana address or a Solana Name Service domain.

Examples

  // https://api.web3.bio/profile/solana/HKKp49qGWXd639QsuH7JiLijfVW5UtCVY4s1n2HANwEA
  // https://api.web3.bio/profile/solana/bonfida.sol
  {
    "address": "HKKp49qGWXd639QsuH7JiLijfVW5UtCVY4s1n2HANwEA",
    "identity": "bonfida.sol",
    "platform": "sns",
    "displayName": "bonfida.sol",
    "avatar": null,
    "description": null,
    "status": null,
    "email": null,
    "location": null,
    "header": null,
    "contenthash": null,
    "links": {},
    "social": {}
  }

  // https://api.web3.bio/ns/solana/HKKp49qGWXd639QsuH7JiLijfVW5UtCVY4s1n2HANwEA
  // https://api.web3.bio/ns/solana/bonfida.sol
  {
    "address": "Fw1ETanDZafof7xEULsnq9UY6o71Tpds89tNwPkWLb1v",
    "identity": "bonfida.sol",
    "platform": "sns",
    "displayName": "bonfida.sol",
    "avatar": null,
    "description": null,
    "header": null,
    "status": null
  }

Batch Profile Query

Fetch profiles for multiple identities using a list of query IDs.

Endpoints

GET
https://api.web3.bio/profile/batch/{ids}
GET
https://api.web3.bio/ns/batch/{ids}

Parameters

  • ids string[]
    An array of strings where each string is formatted as platform,identity, encoded using encodeURIComponent. The array is limited to a maximum of 30 items per query.
    Supported platforms include Ethereum, ENS, Basenames, Linea Name Service, Farcaster and Lens.
  [
    "ens,vitalik.eth",
    "lens,stani.lens",
    "farcaster,dwr.eth",
    "basenames,tony.base.eth",
    "ethereum,0x7cbba07e31dc7b12bb69a1209c5b11a8ac50acf5",
    "linea,name.linea.eth"
  ]

Examples

Responses

  // https://api.web3.bio/profile/batch/%5B%22ens%2Cvitalik.eth%22%2C%22lens%2Cstani.lens%22%2C%22farcaster%2Cdwr.eth%22%2C%22basenames%2Ctony.base.eth%22%2C%22ethereum%2C0x7cbba07e31dc7b12bb69a1209c5b11a8ac50acf5%22%5D
  [
    {
      "address": "0xd8da6bf26964af9d7eed9e03e53415d37aa96045",
      "identity": "vitalik.eth",
      "platform": "ens",
      "displayName": "vitalik.eth",
      "avatar": "https://euc.li/vitalik.eth",
      "description": "mi pinxe lo crino tcati",
      "status": null,
      "email": null,
      "location": null,
      "header": "https://pbs.twimg.com/profile_banners/295218901/1638557376/1500x500",
      "contenthash": "ipfs://bafybeie734kfgfk66fm2uiygvretlr6nzyf2fdlstzezrqxciwden6zai4",
      "links": {
        "website": {
          "link": "https://vitalik.ca",
          "handle": "vitalik.ca",
          "sources": []
        },
        "github": {
          "link": "https://github.com/vbuterin",
          "handle": "vbuterin",
          "sources": []
        },
        "twitter": {
          "link": "https://x.com/VitalikButerin",
          "handle": "VitalikButerin",
          "sources": []
        }
      },
      "social": {},
      "aliases": [
        "ens,vitalik.eth",
        "ens,0xd8da6bf26964af9d7eed9e03e53415d37aa96045"
      ]
    },
    {
      "address": "0x7241dddec3a6af367882eaf9651b87e1c7549dff",
      "identity": "stani.lens",
      "platform": "lens",
      "displayName": "Stani",
      "avatar": "https://ik.imagekit.io/lens/media-snapshot/98e279526cad20389c0959c26059cc3fe7a35793e8e050b43802916ea0d42d33.png",
      "description": "@Avara (@Aave @Lens @Family)",
      "status": null,
      "email": null,
      "location": null,
      "header": "https://ik.imagekit.io/lens/media-snapshot/b23bb0344546aa064c6aeb39520e148576574113755385e5083465f25d2db098.webp",
      "contenthash": null,
      "links": {
        "lens": {
          "link": "https://www.lensfrens.xyz/stani",
          "handle": "stani",
          "sources": []
        }
      },
      "social": {
        "uid": null,
        "following": 1265,
        "follower": 115084
      },
      "aliases": [
        "lens,stani.lens",
        "lens,0x7241dddec3a6af367882eaf9651b87e1c7549dff"
      ]
    },
    {
      "address": "0xd7029bdea1c17493893aafe29aad69ef892b8ff2",
      "identity": "dwr.eth",
      "platform": "farcaster",
      "displayName": "Dan Romero",
      "avatar": "https://imagedelivery.net/BXluQx4ige9GuW0Ia56BHw/bc698287-5adc-4cc5-a503-de16963ed900/original",
      "description": "Working on Farcaster and Warpcast.",
      "status": null,
      "email": null,
      "location": "Los Angeles, California",
      "header": null,
      "contenthash": null,
      "links": {
        "farcaster": {
          "link": "https://farcaster.xyz/dwr.eth",
          "handle": "dwr.eth",
          "sources": []
        }
      },
      "social": {
        "uid": 3,
        "following": 3534,
        "follower": 493153
      },
      "aliases": [
        "farcaster,#3",
        "farcaster,dwr",
        "farcaster,dwr.eth",
        "farcaster,danromero.eth",
        "farcaster,0xd7029bdea1c17493893aafe29aad69ef892b8ff2"
      ]
    },
    {
      "address": "0x041be0b39a80388364fe223dcd2b733d5a1144c4",
      "identity": "tony.base.eth",
      "platform": "basenames",
      "displayName": "tony.base.eth",
      "avatar": "https://zku9gdedgba48lmr.public.blob.vercel-storage.com/basenames/avatar/tony.base.eth/1724097976538/to-KihxRGRzOZbjF9tW937zYGMLMYQOjz.png",
      "description": "mfer building on base",
      "status": null,
      "email": null,
      "location": null,
      "header": null,
      "contenthash": null,
      "links": {
        "website": {
          "link": "https://mint.club",
          "handle": "mint.club",
          "sources": []
        },
        "github": {
          "link": "https://github.com/tonymfer",
          "handle": "tonymfer",
          "sources": []
        },
        "twitter": {
          "link": "https://x.com/tonmfer",
          "handle": "tonmfer",
          "sources": []
        },
        "farcaster": {
          "link": "https://farcaster.xyz/to",
          "handle": "to",
          "sources": []
        }
      },
      "social": {},
      "aliases": [
        "basenames,tony.base.eth",
        "basenames,0x041be0b39a80388364fe223dcd2b733d5a1144c4"
      ]
    },
    {
      "address": "0x7cbba07e31dc7b12bb69a1209c5b11a8ac50acf5",
      "identity": "sujiyan.eth",
      "platform": "ens",
      "displayName": "sujiyan.eth",
      "avatar": "https://i.imgur.com/rkMlngS_d.webp?maxwidth=640&shape=thumb&fidelity=medium",
      "description": null,
      "status": null,
      "email": "suji.yan@dimension.im",
      "location": null,
      "header": "https://rainbow.mypinata.cloud/ipfs/QmUpk4q82RFMTLU9nLtheenjMn56UMJsAMrHs55PK1iJtW",
      "contenthash": "ipns://k51qzi5uqu5di7afkyk8msyok5bxqlaudfzem68t8jilihitaz6ii523ve9tbw",
      "links": {
        "website": {
          "link": "https://mask.io",
          "handle": "mask.io",
          "sources": []
        },
        "github": {
          "link": "https://github.com/tedko",
          "handle": "tedko",
          "sources": []
        },
        "twitter": {
          "link": "https://x.com/suji_yan",
          "handle": "suji_yan",
          "sources": []
        },
        "instagram": {
          "link": "https://www.instagram.com/suji_yan_",
          "handle": "suji_yan_",
          "sources": []
        }
      },
      "social": {},
      "aliases": [
        "ethereum,0x7cbba07e31dc7b12bb69a1209c5b11a8ac50acf5"
      ]
    }
  ]

  // https://api.web3.bio/ns/batch/%5B%22ens%2Cvitalik.eth%22%2C%22lens%2Cstani.lens%22%2C%22farcaster%2Cdwr.eth%22%2C%22basenames%2Ctony.base.eth%22%2C%22ethereum%2C0x7cbba07e31dc7b12bb69a1209c5b11a8ac50acf5%22%5D
  [
    {
      "address": "0xd8da6bf26964af9d7eed9e03e53415d37aa96045",
      "identity": "vitalik.eth",
      "platform": "ens",
      "displayName": "vitalik.eth",
      "avatar": "https://euc.li/vitalik.eth",
      "description": "mi pinxe lo crino tcati",
      "header": "https://pbs.twimg.com/profile_banners/295218901/1638557376/1500x500",
      "status": null,
      "aliases": [
        "ens,vitalik.eth",
        "ens,0xd8da6bf26964af9d7eed9e03e53415d37aa96045"
      ]
    },
    {
      "address": "0x7241dddec3a6af367882eaf9651b87e1c7549dff",
      "identity": "stani.lens",
      "platform": "lens",
      "displayName": "Stani",
      "avatar": "https://ik.imagekit.io/lens/4f0b6ecae2682c22c38a3f1c12f70e386ec68638b1895e53c969fdc9853f7022_rHSuskh0J.webp",
      "description": "Founder & CEO @Aave",
      "header": "https://ik.imagekit.io/lens/205d97d8c8bbf46058ce9666423fde941883e75d34ceeaedfeb0194fe9ec2407_TPKvCEnc54.webp",
      "status": null,
      "aliases": [
        "lens,stani.lens",
        "lens,0x7241dddec3a6af367882eaf9651b87e1c7549dff"
      ]
    },
    {
      "address": "0x6ce09ed5526de4afe4a981ad86d17b2f5c92fea5",
      "identity": "dwr",
      "platform": "farcaster",
      "displayName": "Dan Romero",
      "avatar": "https://imagedelivery.net/BXluQx4ige9GuW0Ia56BHw/bc698287-5adc-4cc5-a503-de16963ed900/original",
      "description": "Interested in technology and other stuff.",
      "header": null,
      "status": null,
      "aliases": [
        "farcaster,#3",
        "farcaster,dwr",
        "farcaster,dwr.eth",
        "farcaster,danromero.eth",
        "farcaster,0x187c7b0393ebe86378128f2653d0930e33218899",
        "farcaster,ExAqci8uUVKtqHqFW58fmwgMMY9PATfRGGyv6837j9Lx",
        "farcaster,0x6ce09ed5526de4afe4a981ad86d17b2f5c92fea5"
      ]
    },
    {
      "address": "0x041be0b39a80388364fe223dcd2b733d5a1144c4",
      "identity": "tony.base.eth",
      "platform": "basenames",
      "displayName": "tony.base.eth",
      "avatar": "https://ipfs.io/ipfs/bafybeid7wspcdu2m7qtntomflncnyepfstuqym3xc6w6ui7kytomaz5kl4",
      "description": "mfer building on base",
      "header": null,
      "status": null,
      "aliases": [
        "basenames,tony.base.eth"
      ]
    },
    {
      "address": "0x7cbba07e31dc7b12bb69a1209c5b11a8ac50acf5",
      "identity": "sujiyan.eth",
      "platform": "ens",
      "displayName": "sujiyan.eth",
      "avatar": "https://euc.li/sujiyan.eth",
      "description": null,
      "header": "https://rainbow.mypinata.cloud/ipfs/QmUpk4q82RFMTLU9nLtheenjMn56UMJsAMrHs55PK1iJtW",
      "status": null,
      "aliases": [
        "ethereum,0x7cbba07e31dc7b12bb69a1209c5b11a8ac50acf5"
      ]
    }
  ]

Credential Query

Fetch formatted credential information using a query ID.

Endpoints

GET
https://api.web3.bio/credential/{id}

Parameters

  • id string
    A string is formatted as platform,identity

Examples

Responses

  // isHuman - https://api.web3.bio/credential/ens,0xhelena.eth
  {
    "isHuman": [
      {
        "id": "ens,0xhelena.eth",
        "platform": "dentity",
        "category": "isHuman",
        "credentialSource": "dentity",
        "type": "boolean",
        "value": "true",
        "label": "Dentity Humanity Verified",
        "description": "Personhood Verified by Dentity",
        "link": null,
        "updatedAt": 1762956888,
        "expiredAt": null
      },
      {
        "id": "ethereum,0xcd133d337ead9c2ac799ec7524a1e0f8aa30c3b1",
        "platform": "galxe",
        "category": "isHuman",
        "credentialSource": "galxe-passport",
        "type": "boolean",
        "value": "true",
        "label": "Galxe KYC Verified",
        "description": "Proof of KYC by Galxe",
        "link": "https://app.galxe.com/passport",
        "updatedAt": 1734404558,
        "expiredAt": null
      },
      {
        "id": "ethereum,0xcd133d337ead9c2ac799ec7524a1e0f8aa30c3b1",
        "platform": "humanpassport",
        "category": "isHuman",
        "credentialSource": "human-passport",
        "type": "score",
        "value": "47.8",
        "label": "Passport Humanity Verified",
        "description": "Proof of Personhood by Human Passport",
        "link": "https://app.passport.xyz",
        "updatedAt": 1762546524,
        "expiredAt": null
      }
    ],
    "isRisky": [],
    "isSpam": []
  }

  // isRisky & isSpam - https://api.web3.bio/credential/farcaster,ggmonster
  {
    "isHuman": [],
    "isRisky": [
      {
        "id": "farcaster,ggmonster",
        "platform": "farcaster",
        "category": "isRisky",
        "credentialSource": "dmca",
        "type": "boolean",
        "value": "true",
        "label": "Copyright Violation",
        "description": "This profile is in violation of the DMCA (Digital Millennium Copyright Act). It contains copyrighted material without proper authorization. Please refrain from interacting with or sharing any content associated with this profile.",
        "link": "https://web3.bio/p/dmca-notice-policy",
        "updatedAt": 1744387615,
        "expiredAt": null
      }
    ],
    "isSpam": [
      {
        "id": "farcaster,ggmonster",
        "platform": "farcaster",
        "category": "isSpam",
        "credentialSource": "farcaster-spam",
        "type": "score",
        "value": "0",
        "label": "Spam",
        "description": "This profile may exhibit spam-like behavior. Data source: Farcaster.",
        "link": "https://github.com/warpcast/labels",
        "updatedAt": 1752037220,
        "expiredAt": null
      }
    ]
  }

Domain Query

Fetch rich domain-level metadata by querying a supported name service identity.

This endpoint is useful when you need ownership, resolver, contenthash, text records, and lifecycle timestamps (created, updated, expired) in one response.

Endpoints

GET
https://api.web3.bio/domain/{identity}

Parameters

  • identity string
    A domain name from supported services, such as ENS, Basenames, Linea Name Service, or Solana Name Service / SNS.

Examples

Responses

Key fields: resolvedAddress is the address resolved by the current resolver, ownerAddress is on-chain owner, managerAddress is the controller/manager role where applicable.

  // https://api.web3.bio/domain/sujiyan.eth
  {
    "identity": "sujiyan.eth",
    "platform": "ens",
    "resolvedAddress": "0x7cbba07e31dc7b12bb69a1209c5b11a8ac50acf5",
    "ownerAddress": "0x7cbba07e31dc7b12bb69a1209c5b11a8ac50acf5",
    "managerAddress": "0x7cbba07e31dc7b12bb69a1209c5b11a8ac50acf5",
    "resolverAddress": "0x231b0ee14048e9dccd1d247744d114a4eb5e8e63",
    "isPrimary": true,
    "status": "cached",
    "createdAt": "2020-01-30T12:05:30.000Z",
    "firstTxAt": "2020-01-24T16:01:08.000Z",
    "updatedAt": "2026-04-14T05:31:12.000Z",
    "expiredAt": "2029-04-30T04:49:54.000Z",
    "contenthash": "ipns://k51qzi5uqu5di7afkyk8msyok5bxqlaudfzem68t8jilihitaz6ii523ve9tbw",
    "texts": {
      "url": "https://mask.io",
      "email": "suji.yan@dimension.im",
      "avatar": "https://euc.li/sujiyan.eth",
      "header": "https://rainbow.mypinata.cloud/ipfs/QmUpk4q82RFMTLU9nLtheenjMn56UMJsAMrHs55PK1iJtW",
      "snapshot": "ipns://storage.snapshot.page/registry/0x934B510D4C9103E6a87AEf13b816fb080286D649/sujiyan.eth",
      "vnd.github": "tedko",
      "vnd.twitter": "suji_yan",
      "com.instagram": "suji_yan_",
      "verifications": "...",
      "eth.ens.delegate": "https://discuss.ens.domains/t/ens-dao-delegate-applications/815/526?u=sujiyan"
    },
    "addresses": {
      "ethereum": "0x7cbba07e31dc7b12bb69a1209c5b11a8ac50acf5"
    },
    "domains": []
  }

Wallet Query

Fetch a compact identity bundle for a wallet address, including profile basics, trust/risk credentials, and linked identities in the Identity Graph.

This endpoint is optimized for wallet and social surfaces where you need fast identity resolution from raw address to human-readable profile context.

This endpoint requires a valid API key to prevent abuse and ensure fair usage. Please ask for an API key if you want to use this endpoint via Twitter (X) or Telegram group.

Endpoints

GET
https://api.web3.bio/wallet/{identity}

Parameters

  • identity string
    A wallet address or identity. Currently supports EVM addresses, Solana addresses and domain names.

Examples

Responses

domains returns known primary/related domain identities. credential groups trust signals by category. identityGraph returns linked identities and the sources used to infer each link.

    // https://api.web3.bio/wallet/0x5c51b52694719931919aebb2dccf7ca3447d0608
    {
      "identity": "0x5c51b52694719931919aebb2dccf7ca3447d0608",
      "address": "0x5c51b52694719931919aebb2dccf7ca3447d0608",
      "platform": "ethereum",
      "isPrimary": true,
      "displayName": "Web3.bio",
      "avatar": "https://euc.li/web3.bio",
      "description": "Web3 Identity Graph search and Link-in-Bio profile for ENS, Farcaster, Lens, and more, representing your Web3 presence in a rich and informative way.",
      "updatedAt": 1776138042,
      "domains": [
        {
          "identity": "web3.bio",
          "address": "0x5c51b52694719931919aebb2dccf7ca3447d0608",
          "platform": "ens",
          "isPrimary": true,
          "displayName": "Web3.bio",
          "avatar": "https://euc.li/web3.bio",
          "description": "Web3 Identity Graph search and Link-in-Bio profile for ENS, Farcaster, Lens, and more, representing your Web3 presence in a rich and informative way.",
          "updatedAt": 1776138042,
          "domains": []
        },
        {
          "identity": "web3bio.base.eth",
          "address": "0x5c51b52694719931919aebb2dccf7ca3447d0608",
          "platform": "basenames",
          "isPrimary": true,
          "displayName": "web3bio.base.eth",
          "avatar": "https://ipfs.io/ipfs/bafkreif4tujcxyfkajulbvoflmetzfqytsanrepffc2bsz4nqitwajole4",
          "description": "Web3 Identity Graph search and Link-in-Bio profile for ENS, Farcaster, Lens, and more, representing your Web3 presence in a rich and informative way.",
          "updatedAt": 1776138042,
          "domains": []
        }
      ],
      "credential": {
        "isHuman": [
          {
            "platform": "humanpassport",
            "category": "isHuman",
            "credentialSource": "human-passport",
            "type": "score",
            "value": "21.6",
            "label": "Passport Humanity Verified",
            "description": "Proof of Personhood by Human Passport",
            "link": "https://app.passport.xyz",
            "updatedAt": 1776092424,
            "expiredAt": null
          }
        ],
        "isRisky": [],
        "isSpam": []
      },
      "identityGraph": [
        {
          "identity": "web3bio",
          "address": null,
          "platform": "twitter",
          "isPrimary": false,
          "displayName": "Web3.bio",
          "avatar": "https://pbs.twimg.com/profile_images/1836416488137486336/1wAO8RJd_400x400.png",
          "description": "Link-in-Bio for your Web3 Journey. No setup required โžก๏ธ https://t.co/w2CvuuOisN\\n\\nAPIs for developers โžก๏ธ https://t.co/eLT31j45JA",
          "updatedAt": 1776146007,
          "domains": [],
          "sources": [
            "farcaster"
          ]
        },
        {
          "identity": "web3bio.lens",
          "address": "0x5c51b52694719931919aebb2dccf7ca3447d0608",
          "platform": "lens",
          "isPrimary": true,
          "displayName": "Web3.bio",
          "avatar": "https://gw.ipfs-lens.dev/ipfs/bafkreihxmcy37ks6jeuawjpyzdesjtnz3fs2tbyspysfstlx3wkbv553zy",
          "description": "Web3 Identity Graph search and Link-in-Bio profile for ENS, Farcaster, Lens, and more, representing your Web3 presence in a rich and informative way.",
          "updatedAt": 1776228527,
          "domains": [],
          "sources": [
            "lens"
          ]
        },
        {
          "identity": "0xd2d984f5061053ba9feb0035cc41bd2ee427c247",
          "address": "0xd2d984f5061053ba9feb0035cc41bd2ee427c247",
          "platform": "ethereum",
          "isPrimary": false,
          "displayName": null,
          "avatar": null,
          "description": null,
          "updatedAt": 1776138042,
          "domains": [],
          "sources": [
            "privy"
          ]
        },
        {
          "identity": "0xc19c807c86ae2aaeec659bd280baf877145b4dc6",
          "address": "0xc19c807c86ae2aaeec659bd280baf877145b4dc6",
          "platform": "ethereum",
          "isPrimary": false,
          "displayName": null,
          "avatar": null,
          "description": null,
          "updatedAt": 1776138042,
          "domains": [],
          "sources": [
            "farcaster"
          ]
        },
        {
          "identity": "web3bio",
          "address": "0x5c51b52694719931919aebb2dccf7ca3447d0608",
          "platform": "farcaster",
          "isPrimary": false,
          "displayName": "Web3.bio",
          "avatar": "https://imagedelivery.net/BXluQx4ige9GuW0Ia56BHw/d984e36e-e040-4118-9122-b2027955de00/original",
          "description": "Link-in-Bio for your Web3 Journey. No setup required.",
          "updatedAt": 1776138042,
          "domains": [],
          "sources": [
            "farcaster"
          ]
        },
        {
          "identity": "DcAPHi15YntUwZjmpJN6dvaMx1NVi8SHgZL4WUQJsiCq",
          "address": "DcAPHi15YntUwZjmpJN6dvaMx1NVi8SHgZL4WUQJsiCq",
          "platform": "solana",
          "isPrimary": false,
          "displayName": null,
          "avatar": null,
          "description": null,
          "updatedAt": 1776138042,
          "domains": [],
          "sources": [
            "farcaster"
          ]
        },
        {
          "identity": "HUwoXGT8A1aTWzeTwduQTZ4N3eGxQ94Wij7XV6PjXrvJ",
          "address": "HUwoXGT8A1aTWzeTwduQTZ4N3eGxQ94Wij7XV6PjXrvJ",
          "platform": "solana",
          "isPrimary": false,
          "displayName": null,
          "avatar": null,
          "description": null,
          "updatedAt": 1776138042,
          "domains": [],
          "sources": [
            "privy"
          ]
        },
        {
          "identity": "1315716245",
          "address": null,
          "platform": "firefly",
          "isPrimary": false,
          "displayName": null,
          "avatar": null,
          "description": null,
          "updatedAt": null,
          "domains": [],
          "sources": [
            "firefly",
            "privy"
          ]
        }
      ]
  }

Avatar Query

Fetch avatar URL using an identity. This endpoint is designed to provide a simple and efficient way to retrieve an avatar for any given identity, which can be used across various apps and platforms.

We prioritize avatars based on the queried identityโ€™s platform. For example, ENS queries return an ENS avatar first (if available), followed by Farcaster, Lens, and others. Similarly, Lens queries prioritize Lens avatars, then ENS, Farcaster, and so on.

Endpoints

GET
https://api.web3.bio/avatar/{identity}

Parameters

  • identity string
    An Ethereum address, an ENS domain, a Lens handle, a Farcaster username (ends with .farcaster), a Basenames domain, a Linea domain, or a Solana address or SNS domain.

Examples

Responses

  // https://api.web3.bio/avatar/sujiyan.eth
  // https://api.web3.bio/avatar/0x7cbba07e31dc7b12bb69a1209c5b11a8ac50acf5

  https://euc.li/sujiyan.eth

Status and Errors

Successful responses are indicated with a 200 HTTP status code.

Error responses are returned with non-2xx HTTP codes, typically 401 (missing/invalid API key), 404 (not found), 429 (rate limited), or 500 (upstream/internal failure). Most endpoints include an error field with a human-readable reason.

  // https://api.web3.bio/profile/web3bio_example.eth
  {
    "address": null,
    "identity": "web3bio_example.eth",
    "platform": "ens",
    "error": "Not Found"
  }

Release Notes

We are gradually making updates to Web3.bio Profile API. You may expect new features, improvements and bug fixes. If you have any feedback on the features or want to report a bug, please reach out to us on Web3.bio Twitter or Telegram group.

๐Ÿช 2026 March Update

  • Feature Added new field header and status to the Profile API /ns endpoint.

๐Ÿ› ๏ธ 2025 Sept Update

  • Feature Added the new credential endpoint and data.

๐Ÿ› ๏ธ 2025 Aug Update

  • Feature Added the new Profile Kit (Link) for React projects.

๐Ÿ› ๏ธ 2025 June Update

  • Change Deprecated dotbit platform support.

๐ŸŽจ 2025 March Update

  • Feature Added new field status to the Profile API.

๐Ÿ๏ธ 2025 February Update

  • Feature Added Linea Name Service query support to the Profile API.

๐ŸŽŠ 2024 November Update

๐Ÿ๏ธ 2024 October Update

  • Feature Added Basenames query support to the Profile API.

๐Ÿ๏ธ 2024 March Update

  • Feature Added Solana Name Service (Bonfida) query support to the Profile API.

๐Ÿ› ๏ธ 2024 January Update

  • Update Added contenthash field for more complete ENS, Unstoppable Domains and .bit Profile API queries.
  • Update Added offchain query support for ENS Profile API.

๐ŸŽŠ 2023 December Update

  • Feature Added ns basic profile resolution query support to the Profile API.

๐ŸŽŠ 2023 November Update

  • Feature Added Unstoppable Domains query support to the Profile API.
  • Update Added Ethereum address query support to all Profile APIs.

๐Ÿ› ๏ธ 2023 October Update

  • Change Deprecated addresses field for faster ENS API queries.

๐Ÿ”ฎ 2023 August Update

  • Feature Added .bit query support to the Profile API.
  • Update Added ENS username support in the Farcaster Profile API.

๐ŸŽ 2023 June Update

  • Feature Added Universal Profile API. Developers can Fetch universal profiles across supported platforms with a single query.

๐ŸŽ‰ 2023 May Update

  • Feature Added Ethereum Name Service (ENS), Lens, and Farcaster support to the Profile API.
Web3.bio Profile API - ENS, Lens and Farcaster APIs