Warpcast API Reference
This page documents public APIs provided by Warpcast with information that is not available on the protocol.
Authentication: All endpoints are unauthenticated.
Pagination: paginated endpoints return a next.cursor
property next to the result
object. To fetch the next page, send the value as a cursor
query parameter. An optional limit
query parameter can be used to specify the page size.
{
"result": {
...
},
"next": {
"cursor": "eyJwYWdlIjoxLCJsaW1pdCI6MTAwfQ"
}
}
Channel APIs
Warpcast has the concept of channels which build upon FIP-2 (setting parentUrl
on casts). You can read more about channels in the documentation.
Get All Channels
List all Warpcast channels. There are no parameters and no pagination.
curl https://api.warpcast.com/v2/all-channels | jq
Returns: an array of channel objects:
{
"result": {
"channels": [
{
"id": "welcome",
"url": "chain://eip155:7777777/erc721:0x8f0055447ffae257e9025b781643127ca604baaa",
"name": "Welcome",
"description": "A place to welcome new users to Farcaster! Share how you know each other, tag folks that should meet them, and add a photo or two!",
"imageUrl": "https://ipfs.decentralized-content.com/ipfs/bafkreieraqfkny7bttxd7h7kmnz6zy76vutst3qbjgjxsjnvrw7z3i2n7i",
"leadFid": 1593,
"moderatorFid": 5448,
"createdAt": 1691015606,
"followerCount": 3622
},
...
]
}
}
Channel object properties:
id
- unique channel id that cannot be changed (called 'Name' when creating a channel)url
- FIP-2parentUrl
used for main casts in the channelname
- friendly name displayed to users (called 'Display name' when editing a channel)description
- description of the channel, if presentimageUrl
- URL to the channel avatarleadFid
- fid of the user who created the channel, if presentmoderatorFid
- fid of the user who moderates the main channel feed, if presentcreatedAt
- UNIX time when channel was created, in secondsfollowerCount
- number of users following the channel
Get Channel
Get a single Warpcast channel.
curl 'https://api.warpcast.com/v1/channel?channelId=welcome' | jq
Parameters:
channelId
- the id of the channel
Returns: a single channel object, as documented in the "Get All Channels" endpoint above.
{
"result": {
"channel": {
"id": "welcome",
"url": "chain://eip155:7777777/erc721:0x8f0055447ffae257e9025b781643127ca604baaa",
"name": "Welcome",
"description": "A place to welcome new users to Farcaster! Share how you know each other, tag folks that should meet them, and add a photo or two!",
"imageUrl": "https://ipfs.decentralized-content.com/ipfs/bafkreieraqfkny7bttxd7h7kmnz6zy76vutst3qbjgjxsjnvrw7z3i2n7i",
"leadFid": 1593,
"moderatorFid": 5448,
"createdAt": 1691015606,
"followerCount": 3622
}
}
}
Get Channel Followers
List the followers of a Warpcast channel. Ordered by the time when the channel was followed, descending. Paginated.
curl 'https://api.warpcast.com/v1/channel-followers?channelId=books' | jq
Parameters:
channelId
- the id of the channel
Returns: two arrays:
users
- objects with properties:fid
- the fid of the userfollowedAt
- UNIX time when channel was followed, in seconds
- (DEPRECATED, will be removed soon)
fids
- the fids of the users
{
"result": {
"users": [
{
"fid": 466624,
"followedAt": 1712685183
},
{
"fid": 469283,
"followedAt": 1712685067
},
...
],
"fids": [
466624,
469283,
...
]
},
"next": { "cursor": "..." }
}
Get User Following Channels
List all Warpcast channels a user is following. Ordered by the time when the channel was followed, descending. Paginated.
curl 'https://api.warpcast.com/v1/user-following-channels?fid=3' | jq
Parameters:
fid
- the fid of the user
Returns: an array of objects:
{
"result": {
"channels": [
{
"id": "fc-updates",
"url": "https://warpcast.com/~/channel/fc-updates",
"name": "fc-updates",
"description": "Important updates about things happening in Farcaster",
"imageUrl": "https://i.imgur.com/YnnrPaH.png",
"leadFid": 2,
"moderatorFid": 5448,
"createdAt": 1712162074,
"followerCount": 17034,
"followedAt": 1712162620
},
...
]
},
"next": { "cursor": "..." }
}
Object properties:
- All properties documented in the "Get All Channels" endpoint above
followedAt
- UNIX time when channel was followed, in seconds
Get User Following Channel Status
Check whether a user is following a channel.
curl 'https://api.warpcast.com/v1/user-channel?fid=3&channelId=books' | jq
Parameters:
fid
- the fid of the userchannelId
- the id of the channel
Returns: 2 properties:
{
"result": {
"following": true,
"followedAt": 1687943747
}
}
Properties:
following
- indicates whether the channel is followedfollowedAt
- UNIX time when channel was followed, in seconds (optional, only present when channel is followed)
Get All Power Badge Users
Warpcast grants power badges to users who are active, interesting to others and not spammy. You can read more about power badges in the documentation.
This endpoint provides the list of all users who currently hold a power badge. The endpoint has no parameters and does not paginate.
curl https://api.warpcast.com/v2/power-badge-users | jq
Returns: a JSON array with fids of users who currently hold a power badge:
{
"result": {
"fids": [
1,
2,
...
]
}
}
Warpcast recalculates badge ownership once every week, on Tuesdays at 12:00:00 UTC.
Get Farcaster actions
Retrieve a list of Farcaster actions. Paginated.
curl 'https://api.warpcast.com/v2/discover-actions?list=top&limit=10' | jq
Parameters:
list
- the list to retrieve. Must be'top'
, a list ordered by total users.
Returns: An array of action objects:
{
"result": {
"actions": [
{
"name": "Upthumb",
"icon": "thumbsup",
"description": "Give casts 'upthumbs' and see them on a leaderboard.",
"aboutUrl": "https://github.com/horsefacts/upthumbs",
"actionUrl": "https://upthumbs.app/api/upthumb",
"action": {
"actionType": "post",
"postUrl": "https://upthumbs.app/api/upthumb"
}
}
]
},
"next": { "cursor": "..." }
}
Properties:
name
- action nameicon
- an Octicon identifying the actiondescription
- a short text description of the actionaboutUrl
- external link to a page with additional instructions or source codeactionUrl
- action metadata URL. Clients retrieve metadata with a GET to this URL.action.actionType
- action type, only'post'
action.postUrl
- action POST URL. Clients POSt signed messages to this URL.
Get Farcaster composer actions
Retrieve a list of Farcaster composer actions. Paginated.
curl 'https://api.warpcast.com/v2/discover-composer-actions?list=top&limit=10' | jq
Parameters:
list
- the list to retrieve. Must be one of:'top'
, a list ordered by total users.'featured'
, a list curated by Warpcast.
Returns: An array of composer action objects:
{
"result": {
"actions": [
{
"name": "Poll",
"icon": "list-unordered",
"description": "Create a poll",
"aboutUrl": "https://poll.example.com/",
"imageUrl": "https://poll.example.com/images/logo.png",
"actionUrl": "https://poll.example.com/api/action/",
"action": {
"actionType": "post",
"postUrl": "https://poll.ecample.com/api/action/"
}
}
]
},
"next": { "cursor": "..." }
}
Properties:
name
- action nameicon
- an Octicon identifying the actiondescription
- a short text description of the actionaboutUrl
- external link to a page with additional instructions or source codeimageUrl
- external link to an action logo image.actionUrl
- action metadata URL. Clients retrieve metadata with a GET to this URL.action.actionType
- action type, only'post'
action.postUrl
- action POST URL. Clients POSt signed messages to this URL.
Get Blocked Users
Warpcast allows users to block others from replying, quoting and mentioning them.
This endpoint provides access to all blocked users. Paginated, in reverse chronological order by block creation time.
curl https://api.warpcast.com/v1/blocked-users | jq
Parameters:
blockerFid
(optional) - limit the response to only blocks by a specific user
Returns: an array of blocked users:
{
"result": {
"blockedUsers": [
{
"blockerFid": 5,
"blockedFid": 10,
"createdAt": 1724854521
},
...
]
},
"next": { "cursor": "..." }
}
Properties:
blockerFid
- the user who created the blockblockedFid
- the user who is blocked (cannot reply to, quote or mention theblockerFid
)createdAt
- UNIX time when channel was created, in seconds