Suggest Follows
curl --request GET \
--url https://api.neynar.com/v2/farcaster/following/suggested/ \
--header 'x-api-key: <api-key>'import requests
url = "https://api.neynar.com/v2/farcaster/following/suggested/"
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/following/suggested/', 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/following/suggested/",
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/following/suggested/"
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/following/suggested/")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.neynar.com/v2/farcaster/following/suggested/")
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{
"next": {
"cursor": "<string>"
},
"users": [
{
"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
}
}
]
}{
"message": "<string>",
"code": "<string>",
"property": "<string>",
"status": 123
}{
"message": "<string>",
"code": "<string>",
"property": "<string>",
"status": 123
}Follow
Suggest Follows
Fetch a list of suggested users to follow. Used to help users discover new users to follow
GET
/
v2
/
farcaster
/
following
/
suggested
/
Suggest Follows
curl --request GET \
--url https://api.neynar.com/v2/farcaster/following/suggested/ \
--header 'x-api-key: <api-key>'import requests
url = "https://api.neynar.com/v2/farcaster/following/suggested/"
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/following/suggested/', 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/following/suggested/",
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/following/suggested/"
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/following/suggested/")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.neynar.com/v2/farcaster/following/suggested/")
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{
"next": {
"cursor": "<string>"
},
"users": [
{
"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
}
}
]
}{
"message": "<string>",
"code": "<string>",
"property": "<string>",
"status": 123
}{
"message": "<string>",
"code": "<string>",
"property": "<string>",
"status": 123
}Node.js SDK
🔗 SDK Method: fetchFollowSuggestions 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
FID of the user whose following you want to fetch.
Providing this will return a list of users that respects this user's mutes and blocks and includes viewer_context.
Number of results to fetch
Required range:
1 <= x <= 100Related topics
fetchFollowSuggestionsSDK v1 to v2 migration guideSupercharge EVM & Solana Sign-inRelevant mini appsFollow userWas this page helpful?
⌘I