Relevant followers
curl --request GET \
--url https://api.neynar.com/v2/farcaster/followers/relevant/ \
--header 'x-api-key: <api-key>'import requests
url = "https://api.neynar.com/v2/farcaster/followers/relevant/"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.neynar.com/v2/farcaster/followers/relevant/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.neynar.com/v2/farcaster/followers/relevant/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.neynar.com/v2/farcaster/followers/relevant/"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.neynar.com/v2/farcaster/followers/relevant/")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.neynar.com/v2/farcaster/followers/relevant/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"all_relevant_followers_dehydrated": [
{
"object": "follower_dehydrated",
"user": {
"fid": 3,
"object": "user_dehydrated",
"custody_address": "0x5a927ac639636e534b678e81768ca19e2c6280b7",
"display_name": "<string>",
"pfp_url": "<string>",
"score": 123,
"username": "<string>"
}
}
],
"top_relevant_followers_hydrated": [
{
"object": "follower",
"user": {
"auth_addresses": [
{
"address": "0x5a927ac639636e534b678e81768ca19e2c6280b7",
"app": {
"fid": 3,
"object": "user_dehydrated",
"custody_address": "0x5a927ac639636e534b678e81768ca19e2c6280b7",
"display_name": "<string>",
"pfp_url": "<string>",
"score": 123,
"username": "<string>"
}
}
],
"custody_address": "0x5a927ac639636e534b678e81768ca19e2c6280b7",
"fid": 3,
"follower_count": 123,
"following_count": 123,
"object": "user",
"profile": {
"bio": {
"text": "<string>",
"mentioned_channels": [
{
"id": "<string>",
"name": "<string>",
"object": "channel_dehydrated",
"image_url": "<string>",
"viewer_context": {
"following": true
}
}
],
"mentioned_channels_ranges": [
{
"end": 1,
"start": 1
}
],
"mentioned_profiles": [
{
"fid": 3,
"object": "user_dehydrated",
"custody_address": "0x5a927ac639636e534b678e81768ca19e2c6280b7",
"display_name": "<string>",
"pfp_url": "<string>",
"score": 123,
"username": "<string>"
}
],
"mentioned_profiles_ranges": [
{
"end": 1,
"start": 1
}
]
},
"banner": {
"url": "<string>"
},
"live_at": {
"is_live": true,
"updated_at": "2023-11-07T05:31:56Z",
"url": "<string>"
},
"location": {
"latitude": 0,
"longitude": 0,
"address": {
"city": "<string>",
"country": "<string>",
"country_code": "<string>",
"state": "<string>",
"state_code": "<string>"
},
"radius": 1
}
},
"registered_at": "2023-11-07T05:31:56Z",
"username": "<string>",
"verifications": [
"0x5a927ac639636e534b678e81768ca19e2c6280b7"
],
"verified_accounts": [
{
"username": "<string>"
}
],
"verified_addresses": {
"eth_addresses": [
"0x5a927ac639636e534b678e81768ca19e2c6280b7"
],
"primary": {
"eth_address": "0x5a927ac639636e534b678e81768ca19e2c6280b7",
"sol_address": "<string>"
},
"sol_addresses": [
"<string>"
]
},
"display_name": "<string>",
"experimental": {
"neynar_user_score": 123,
"deprecation_notice": "<string>"
},
"pfp_url": "<string>",
"pro": {
"expires_at": "2023-11-07T05:31:56Z",
"subscribed_at": "2023-11-07T05:31:56Z"
},
"score": 123,
"viewer_context": {
"blocked_by": true,
"blocking": true,
"followed_by": true,
"following": true
}
},
"app": {
"fid": 3,
"object": "user_dehydrated",
"custody_address": "0x5a927ac639636e534b678e81768ca19e2c6280b7",
"display_name": "<string>",
"pfp_url": "<string>",
"score": 123,
"username": "<string>"
}
}
]
}{
"message": "<string>",
"code": "<string>",
"property": "<string>",
"status": 123
}Follow
Relevant followers
Returns a list of relevant followers for a specific FID. This usually shows on a profile as “X, Y and Z follow this user”.
GET
/
v2
/
farcaster
/
followers
/
relevant
/
Relevant followers
curl --request GET \
--url https://api.neynar.com/v2/farcaster/followers/relevant/ \
--header 'x-api-key: <api-key>'import requests
url = "https://api.neynar.com/v2/farcaster/followers/relevant/"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.neynar.com/v2/farcaster/followers/relevant/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.neynar.com/v2/farcaster/followers/relevant/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.neynar.com/v2/farcaster/followers/relevant/"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.neynar.com/v2/farcaster/followers/relevant/")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.neynar.com/v2/farcaster/followers/relevant/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"all_relevant_followers_dehydrated": [
{
"object": "follower_dehydrated",
"user": {
"fid": 3,
"object": "user_dehydrated",
"custody_address": "0x5a927ac639636e534b678e81768ca19e2c6280b7",
"display_name": "<string>",
"pfp_url": "<string>",
"score": 123,
"username": "<string>"
}
}
],
"top_relevant_followers_hydrated": [
{
"object": "follower",
"user": {
"auth_addresses": [
{
"address": "0x5a927ac639636e534b678e81768ca19e2c6280b7",
"app": {
"fid": 3,
"object": "user_dehydrated",
"custody_address": "0x5a927ac639636e534b678e81768ca19e2c6280b7",
"display_name": "<string>",
"pfp_url": "<string>",
"score": 123,
"username": "<string>"
}
}
],
"custody_address": "0x5a927ac639636e534b678e81768ca19e2c6280b7",
"fid": 3,
"follower_count": 123,
"following_count": 123,
"object": "user",
"profile": {
"bio": {
"text": "<string>",
"mentioned_channels": [
{
"id": "<string>",
"name": "<string>",
"object": "channel_dehydrated",
"image_url": "<string>",
"viewer_context": {
"following": true
}
}
],
"mentioned_channels_ranges": [
{
"end": 1,
"start": 1
}
],
"mentioned_profiles": [
{
"fid": 3,
"object": "user_dehydrated",
"custody_address": "0x5a927ac639636e534b678e81768ca19e2c6280b7",
"display_name": "<string>",
"pfp_url": "<string>",
"score": 123,
"username": "<string>"
}
],
"mentioned_profiles_ranges": [
{
"end": 1,
"start": 1
}
]
},
"banner": {
"url": "<string>"
},
"live_at": {
"is_live": true,
"updated_at": "2023-11-07T05:31:56Z",
"url": "<string>"
},
"location": {
"latitude": 0,
"longitude": 0,
"address": {
"city": "<string>",
"country": "<string>",
"country_code": "<string>",
"state": "<string>",
"state_code": "<string>"
},
"radius": 1
}
},
"registered_at": "2023-11-07T05:31:56Z",
"username": "<string>",
"verifications": [
"0x5a927ac639636e534b678e81768ca19e2c6280b7"
],
"verified_accounts": [
{
"username": "<string>"
}
],
"verified_addresses": {
"eth_addresses": [
"0x5a927ac639636e534b678e81768ca19e2c6280b7"
],
"primary": {
"eth_address": "0x5a927ac639636e534b678e81768ca19e2c6280b7",
"sol_address": "<string>"
},
"sol_addresses": [
"<string>"
]
},
"display_name": "<string>",
"experimental": {
"neynar_user_score": 123,
"deprecation_notice": "<string>"
},
"pfp_url": "<string>",
"pro": {
"expires_at": "2023-11-07T05:31:56Z",
"subscribed_at": "2023-11-07T05:31:56Z"
},
"score": 123,
"viewer_context": {
"blocked_by": true,
"blocking": true,
"followed_by": true,
"following": true
}
},
"app": {
"fid": 3,
"object": "user_dehydrated",
"custody_address": "0x5a927ac639636e534b678e81768ca19e2c6280b7",
"display_name": "<string>",
"pfp_url": "<string>",
"score": 123,
"username": "<string>"
}
}
]
}{
"message": "<string>",
"code": "<string>",
"property": "<string>",
"status": 123
}See related guide: Mutual follows/followers
Node.js SDK
🔗 SDK Method: fetchRelevantFollowers Use this API endpoint with the Neynar Node.js SDK for typed responses and better developer experience.Authorizations
API key to authorize requests
Headers
Query Parameters
User who's profile you are looking at
Required range:
x >= 1The FID of the user to customize this response for. Providing this will also return a list of followers that respects this user's mutes and blocks and includes viewer_context.
Required range:
x >= 1Related topics
Relevant followersfetchRelevantFollowersfetchRelevantFollowersForAChannelSDK v1 to v2 migration guideRelevant ownersWas this page helpful?
⌘I