Searchcaster

Unofficial indexer and search API for the Farcaster protocol.

Search casts

All casts on the protocol are indexed every minute, and accessible via the /api/search endpoint.

Cast endpoint parameters:

  • count - the number of casts to be returned (max 200, default 25)
  • engagement - changes the sorting of any search query to engagement metrics. Options are "reactions", "recasts", "replies", "watches"
  • media - the type of media to be returned. Options are "image", "music", "youtube", "url". (overwrites all other parameters)
  • merkleRoot - the unique identifier of a cast which returns a cast and all of its direct replies (overwrites all other parameters)
  • page - the number of casts to offset the response by in relation to count
  • text - return casts by text matching (case insensitive)
  • username - return all casts, including replies, from a certain user

This website follows the same URL structure as the API, so it's easy to switch between HTML and JSON responses.

Simply add /api/ between the domain and /search from any results page.

For example:

Search profiles

Fetch Farcaster profiles by username, connected address or bio via /api/profiles.

Profiles endpoint parameters:

  • connected_address - the Ethereum address or ENS name the user has connected to their Farcaster profile
  • username - the username associated with the profile
  • bio - substring of a user's bio
  • address - a user's Farcaster address

"Drop your ENS"

Easily scrape the replies of a cast for .eth names using the /api/ens endpoint.

ENS endpoint parameters:

  • parent - the merkle root of the cast to scrape the replies of (example)