Web3.bio Profile API

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

Web3.bio Profile API enables developers to easily and quickly integrate Web3 universal profiles from Ethereum / ENS, Farcaster, Lens, Basenames, Linea Name Service, 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

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

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 across multiple platforms.

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 Basenames domain, a Linea Name Service domain, a Farcaster username (ends with .farcaster), or a Lens handle.

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": []
        }
      },
      "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://api.hey.xyz/avatar?id=100275",
      "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://api.hey.xyz/avatar?id=100275",
      "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
Basenames Profile API
Endpoints
GET
Linea Profile API
Endpoints
GET
Farcaster Profile API
Endpoints
GET
Lens 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": []
      }
    },
    "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
  }

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
  }

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
  }

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
  }

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
      }
    ]
  }

Status and Errors

Successful responses are indicated with a 200 HTTP status code.

Error responses are served with a non-200-series HTTP code, specifically 404 or 500. Typical error responses contain an error node indicating a human-readable description of the error.

  // 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, Farcaster and Lens Resolver API