Farcaster users can connect their FID (Farcaster ID) with an Ethereum or Solana address. This guide demonstrates how to get information about a user given their address.
Check out this Getting started guide to learn how to set up your environment and get an API key.
First, initialize the client:
// npm i @neynar/nodejs-sdk
import { NeynarAPIClient, Configuration } from "@neynar/nodejs-sdk";
// make sure to set your NEYNAR_API_KEY .env
// don't have an API key yet? get one at neynar.com
const config = new Configuration({
apiKey: process.env.NEYNAR_API_KEY,
});
const client = new NeynarAPIClient(config);
To get vitalik.eth’s Farcaster profile:
// vitalik.eth
const addr = "0xd8da6bf26964af9d7eed9e03e53415d37aa96045";
const user = await client.fetchBulkUsersByEthOrSolAddress({addresses: [addr]});
console.log(user);
Example output:
{
result: {
user: {
fid: 5650,
custodyAddress: "0xadd746be46ff36f10c81d6e3ba282537f4c68077",
username: "vitalik.eth",
displayName: "Vitalik Buterin",
pfp: [Object ...],
profile: [Object ...],
followerCount: 14769,
followingCount: 70,
verifications: [ "0xd8da6bf26964af9d7eed9e03e53415d37aa96045" ],
activeStatus: "active"
}
}
}
For addresses with multiple verifications, it will all resolve to the same user:
// dwr.eth
const addr1 = "0xd7029bdea1c17493893aafe29aad69ef892b8ff2";
const addr2 = "0xa14b4c95b5247199d74c5578531b4887ca5e4909";
// use Promise.all to make multiple requests in parallel
const users = await Promise.all([
client.fetchBulkUsersByEthOrSolAddress({addresses: [addr1]}),
client.fetchBulkUsersByEthOrSolAddress({addresses: [addr2]}),
]);
console.log(users[0] === users[1]); // true
console.log(users[0]);
They both resolve to:
{
result: {
user: {
fid: 3,
custodyAddress: "0x6b0bda3f2ffed5efc83fa8c024acff1dd45793f1",
username: "dwr.eth",
displayName: "Dan Romero",
pfp: [Object ...],
profile: [Object ...],
followerCount: 19326,
followingCount: 2702,
verifications: [ "0xd7029bdea1c17493893aafe29aad69ef892b8ff2", "0xa14b4c95b5247199d74c5578531b4887ca5e4909",
"0xb877f7bb52d28f06e60f557c00a56225124b357f", "0x8fc5d6afe572fefc4ec153587b63ce543f6fa2ea"
],
activeStatus: "active"
}
}
}
Ready to start building?
Get your subscription at neynar.com and reach out to us on Telegram with any questions!