## Documentation Index

Fetch the complete documentation index at: [/llms.txt](https://docs.neynar.com/llms.txt)

Use this file to discover all available pages before exploring further.

From source FID

### cURL

```
curl --request GET \
  --url 'https://snapchain-api.neynar.com/v1/linksByFid?link_type=follow' \
  --header 'x-api-key: NEYNAR_API_DOCS'
```

### Python

```python
import requests

url = "https://snapchain-api.neynar.com/v1/linksByFid?link_type=follow"

headers = {"x-api-key": "NEYNAR_API_DOCS"}

response = requests.get(url, headers=headers)

print(response.text)
```

### JavaScript

```javascript
const options = {method: 'GET', headers: {'x-api-key': 'NEYNAR_API_DOCS'}};

fetch('https://snapchain-api.neynar.com/v1/linksByFid?link_type=follow', options)
  .then(res => res.json())
  .then(res => console.log(res))
  .catch(err => console.error(err));
```

### PHP

```php
<?php

$curl = curl_init();

curl_setopt_array($curl, [\
  CURLOPT_URL => "https://snapchain-api.neynar.com/v1/linksByFid?link_type=follow",\
  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;
}
?>
```

### Go

```go
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

url := "https://snapchain-api.neynar.com/v1/linksByFid?link_type=follow"

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))
}
```

### Unirest

```java
HttpResponse<String> response = Unirest.get("https://snapchain-api.neynar.com/v1/linksByFid?link_type=follow")
  .header("x-api-key", "NEYNAR_API_DOCS")
  .asString();
```

### Ruby

```ruby
require 'uri'
require 'net/http'

url = URI("https://snapchain-api.neynar.com/v1/linksByFid?link_type=follow")

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
```

### Response Example

200

```json
{
  "messages": [
    {
      "hash": "0xd2b1ddc6c88e865a33cb1a565e0058d757042974",
      "hashScheme": "HASH_SCHEME_BLAKE3",
      "signature": "aSDinaTvuI8gbWludGxpZnk=",
      "signatureScheme": "SIGNATURE_SCHEME_ED25519",
      "signer": "<string>",
      "data": {
        "type": "MESSAGE_TYPE_CAST_ADD",
        "fid": 2,
        "timestamp": 48994466,
        "network": "FARCASTER_NETWORK_MAINNET",
        "linkBody": {
          "type": "follow",
          "targetFid": 1,
          "displayTimestamp": 48994466
        }
      }
    }
  ],
  "nextPageToken": "AuzO1V0DtaItCwwa10X6YsfStlynsGWT"
}
```

#### Authorizations

**x-api-key**  
Type: string  
Location: header  
Default: NEYNAR_API_DOCS  
Description: API key to authorize requests

#### Query Parameters

- **fid**: integer<uint64>  
  Required: The FID of the link's originator. Farcaster ID (FID). A unique identifier assigned to each user in the Farcaster network. This number is permanent and cannot be changed. FIDs are assigned sequentially when users register on the network.
  Required range: `x >= 1`
  Example: `1`

- **link_type**: enum<string>  
  Default: follow  
  Defines the type of social connection between users.  
  - **follow**: Establishes a following relationship where the user will receive updates from the target user in their feed  
  Available options: 
  `follow`  
  Example: `"follow"`

- **pageSize**: integer  
  Maximum number of messages to return in a single response

- **reverse**: boolean  
  Reverse the sort order, returning latest messages first

- **pageToken**: string  
  The page token returned by the previous query, to fetch the next page. If this parameter is empty, fetch the first page

#### Response

200  
**application/json**  
The requested Links.

- **messages**: object[]  
  Required

- **nextPageToken**: string<byte>  
  Required  
  Base64-encoded pagination token for fetching the next page of results. An empty value indicates there are no more pages to return. Used in conjunction with the pageSize parameter to implement pagination across large result sets.
  Example: `"AuzO1V0DtaItCwwa10X6YsfStlynsGWT"`
