Documentation Index
Fetch the complete documentation index at: /llms.txt
Use this file to discover all available pages before exploring further.
By username
cURL
curl --request GET
--url https://api.neynar.com/v2/farcaster/user/by_username/
--header 'x-api-key: NEYNAR_API_DOCS'
import requests
url = "https://api.neynar.com/v2/farcaster/user/by_username/"
headers = {"x-api-key": "NEYNAR_API_DOCS"}
response = requests.get(url, headers=headers)
print(response.text)
const options = {method: 'GET', headers: {'x-api-key': 'NEYNAR_API_DOCS'}};
fetch('https://api.neynar.com/v2/farcaster/user/by_username/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
"https://api.neynar.com/v2/farcaster/user/by_username/",\
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: NEYNAR_API_DOCS"\
],\
]);
$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/user/by_username/"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "NEYNAR_API_DOCS")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}
HttpResponse response = Unirest.get("https://api.neynar.com/v2/farcaster/user/by_username/")
.header("x-api-key", "NEYNAR_API_DOCS")
.asString();
require 'uri'
require 'net/http'
url = URI("https://api.neynar.com/v2/farcaster/user/by_username/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = 'NEYNAR_API_DOCS'
response = http.request(request)
puts response.read_body
200
400
404
500
{
"user": {
"auth_addresses": [\
{\
"address": "0x5a927ac639636e534b678e81768ca19e2c6280b7",\
"app": {\
"fid": 3,\
"object": "user_dehydrated",\
"custody_address": "0x5a927ac639636e534b678e81768ca19e2c6280b7",\
"display_name": "",\
"pfp_url": "",\
"score": 123,\
"username": ""\
}\
}\
],
"custody_address": "0x5a927ac639636e534b678e81768ca19e2c6280b7",
"fid": 3,
"follower_count": 123,
"following_count": 123,
"object": "user",
"profile": {
"bio": {
"text": "",
"mentioned_channels": [\
{\
"id": "",\
"name": "",\
"object": "channel_dehydrated",\
"image_url": "",\
"viewer_context": {\
"following": true\
}\
}\
],
"mentioned_channels_ranges": [\
{\
"end": 1,\
"start": 1\
}\
],
"mentioned_profiles": [\
{\
"fid": 3,\
"object": "user_dehydrated",\
"custody_address": "0x5a927ac639636e534b678e81768ca19e2c6280b7",\
"display_name": "",\
"pfp_url": "",\
"score": 123,\
"username": ""\
}\
],
"mentioned_profiles_ranges": [\
{\
"end": 1,\
"start": 1\
}\
]
},
"banner": {
"url": ""
},
"live_at": {
"is_live": true,
"updated_at": "2023-11-07T05:31:56Z",
"url": ""
},
"location": {
"latitude": 0,
"longitude": 0,
"address": {
"city": "",
"country": "",
"country_code": "",
"state": "",
"state_code": ""
},
"radius": 1
}
},
"registered_at": "2023-11-07T05:31:56Z",
"username": "",
"verifications": [\
"0x5a927ac639636e534b678e81768ca19e2c6280b7"\
],
"verified_accounts": [\
{\
"username": ""\
}\
],
"verified_addresses": {
"eth_addresses": [\
"0x5a927ac639636e534b678e81768ca19e2c6280b7"\
],
"primary": {
"eth_address": "0x5a927ac639636e534b678e81768ca19e2c6280b7",
"sol_address": ""
},
"sol_addresses": [\
""\
]
},
"display_name": "",
"experimental": {
"neynar_user_score": 123,
"deprecation_notice": ""
},
"pfp_url": "",
"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": "",
"code": "",
"property": "",
"status": 123
}
{
"message": "",
"code": "",
"property": "",
"status": 123
}
{
"message": "",
"code": "",
"property": "",
"status": 123
}
## Node.js SDK
๐ **SDK Method:** [lookupUserByUsername](https://docs.neynar.com/nodejs-sdk/user-apis/lookupUserByUsername)Use this API endpoint with the Neynar Node.js SDK for typed responses and better developer experience.
#### Authorizations
x-api-key
string
header
default:NEYNAR_API_DOCS
required
API key to authorize requests
#### Headers
x-neynar-experimental
boolean
default:false
Enables experimental features including filtering based on the Neynar score. See [docs](https://neynar.notion.site/Experimental-Features-1d2655195a8b80eb98b4d4ae7b76ae4a) for more details.
#### Query Parameters
username
string
required
Username of the user to fetch
Example:
`"neynar"`
viewer_fid
integer
Required range: `x >= 1`
#### Response
200
application/json
Success
user
User ยท object
required
Showchild attributes
Related topics
[Usernames](https://docs.neynar.com/farcaster/learn/what-is-farcaster/usernames) [By X username](https://docs.neynar.com/reference/lookup-users-by-x-username) [Proof for a username](https://docs.neynar.com/reference/fetch-username-proof-by-name) [Search for Usernames](https://docs.neynar.com/reference/search-user) [Username Proofs API](https://docs.neynar.com/snapchain/grpcapi/usernameproof)