---
title: "Search for casts"
method: GET
path: "/v2/farcaster/cast/search/"
tags: ["Cast"]
---

# Search for casts

`GET /v2/farcaster/cast/search/`

Search for casts based on a query string, with optional AND filters

## Query parameters

- `q` string, required
- `mode` 'literal' | 'semantic' | 'hybrid'
- `sort_type` 'desc_chron' | 'chron' | 'algorithmic'
- `author_fid` integer
- `viewer_fid` integer
- `parent_url` string
- `channel_id` string
- `limit` integer
- `cursor` string

## Headers

- `x-neynar-experimental` boolean

## Response `200`

Success

- CastsSearchResponse
  - `result` object, required
    - `casts` Cast[], required
      - `app` UserDehydrated
        - `custody_address` string — Ethereum address
        - `display_name` string, nullable
        - `fid` integer, required — The unique identifier of a farcaster user or app (unsigned integer)
        - `object` 'user_dehydrated', required
        - `pfp_url` string, nullable
        - `score` number
        - `username` string
      - `author` User, required
        - `auth_addresses` object[], required
          - `address` string, required — Ethereum address
          - `app` UserDehydrated, required
            - `custody_address` string — Ethereum address
            - `display_name` string, nullable
            - `fid` integer, required — The unique identifier of a farcaster user or app (unsigned integer)
            - `object` 'user_dehydrated', required
            - `pfp_url` string, nullable
            - `score` number
            - `username` string
        - `custody_address` string, required — Ethereum address
        - `display_name` string, nullable
        - `experimental` object
          - `deprecation_notice` string
          - `neynar_user_score` number, double, required — Score that represents the probability that the account is not spam.
        - `fid` integer, required — The unique identifier of a farcaster user or app (unsigned integer)
        - `follower_count` integer, required — The number of followers the user has.
        - `following_count` integer, required — The number of users the user is following.
        - `object` 'user', required
        - `pfp_url` string, nullable — The URL of the user's profile picture
        - `pro` object
          - `expires_at` string, date-time, required
          - `status` 'subscribed' | 'unsubscribed', required — The subscription status of the user
          - `subscribed_at` string, date-time, required
        - `profile` object, required
          - `banner` object
            - `url` string, uri — The URL of the user's banner image
          - `bio` object, required
            - `mentioned_channels` ChannelDehydrated[]
              - …
            - `mentioned_channels_ranges` TextRange[] — Positions within the text (inclusive start, exclusive end) where each mention occurs. Each index within this list corresponds to the same-numbered index in the mentioned_channels list.
              - …
            - `mentioned_profiles` UserDehydrated[]
              - …
            - `mentioned_profiles_ranges` TextRange[] — Positions within the text (inclusive start, exclusive end) where each mention occurs. Each index within this list corresponds to the same-numbered index in the mentioned_profiles list.
              - …
            - `text` string, required
          - `live_at` object
            - `is_live` boolean, required
            - `updated_at` string, date-time, required
            - `url` string, required — The URL of the user's current live activity
          - `location` Location — Coordinates and place names for a location
            - `address` LocationAddress
              - …
            - `latitude` number, double, required
            - `longitude` number, double, required
            - `radius` number — The radius in meters for the location search. Any location within this radius will be returned.
        - `registered_at` string, date-time, required
        - `score` number, double — Score that represents the probability that the account is not spam.
        - `username` string, required
        - `verifications` EthAddress[], required
        - `verified_accounts` object[], required
          - `platform` 'x' | 'github'
          - `username` string
        - `verified_addresses` object, required
          - `eth_addresses` EthAddress[], required — List of verified Ethereum addresses of the user sorted by oldest to most recent.
          - `primary` object, required
            - `eth_address` string, required — Ethereum address
            - `sol_address` string, required — Solana address
          - `sol_addresses` SolAddress[], required — List of verified Solana addresses of the user sorted by oldest to most recent.
        - `viewer_context` UserViewerContext — Adds context on the viewer's follow relationship with the user.
          - `blocked_by` boolean, required — Indicates if the viewer is blocked by the user.
          - `blocking` boolean, required — Indicates if the viewer is blocking the user.
          - `followed_by` boolean, required — Indicates if the viewer is followed by the user.
          - `following` boolean, required — Indicates if the viewer is following the user.
      - `author_channel_context` ChannelUserContext — Adds context on the viewer's or author's role in the channel.
        - `following` boolean, required — Indicates if the user is following the channel.
        - `role` 'member' | 'moderator' | 'owner' — The role of a channel member
      - `channel` union, required
        - object
          - `created_at` string, date-time, required
          - `description` string
          - `description_mentioned_profiles` UserDehydrated[]
            - `custody_address` string — Ethereum address
            - `display_name` string, nullable
            - `fid` integer, required — The unique identifier of a farcaster user or app (unsigned integer)
            - `object` 'user_dehydrated', required
            - `pfp_url` string, nullable
            - `score` number
            - `username` string
          - `description_mentioned_profiles_ranges` TextRange[] — Positions within the text (inclusive start, exclusive end) where each mention occurs.
            - `end` number, required
            - `start` number, required
          - `external_link` object — Channel's external link.
            - `title` string
            - `url` string
          - `follower_count` number — Number of followers the channel has.
          - `hosts` User[]
            - `auth_addresses` object[], required
              - …
            - `custody_address` string, required — Ethereum address
            - `display_name` string, nullable
            - `experimental` object
              - …
            - `fid` integer, required — The unique identifier of a farcaster user or app (unsigned integer)
            - `follower_count` integer, required — The number of followers the user has.
            - `following_count` integer, required — The number of users the user is following.
            - `object` 'user', required
            - `pfp_url` string, nullable — The URL of the user's profile picture
            - `pro` object
              - …
            - `profile` object, required
              - …
            - `registered_at` string, date-time, required
            - `score` number, double — Score that represents the probability that the account is not spam.
            - `username` string, required
            - `verifications` EthAddress[], required
            - `verified_accounts` object[], required
              - …
            - `verified_addresses` object, required
              - …
            - `viewer_context` UserViewerContext — Adds context on the viewer's follow relationship with the user.
              - …
          - `id` string, required
          - `image_url` string
          - `lead` User
            - `auth_addresses` object[], required
              - …
            - `custody_address` string, required — Ethereum address
            - `display_name` string, nullable
            - `experimental` object
              - …
            - `fid` integer, required — The unique identifier of a farcaster user or app (unsigned integer)
            - `follower_count` integer, required — The number of followers the user has.
            - `following_count` integer, required — The number of users the user is following.
            - `object` 'user', required
            - `pfp_url` string, nullable — The URL of the user's profile picture
            - `pro` object
              - …
            - `profile` object, required
              - …
            - `registered_at` string, date-time, required
            - `score` number, double — Score that represents the probability that the account is not spam.
            - `username` string, required
            - `verifications` EthAddress[], required
            - `verified_accounts` object[], required
              - …
            - `verified_addresses` object, required
              - …
            - `viewer_context` UserViewerContext — Adds context on the viewer's follow relationship with the user.
              - …
          - `member_count` integer
          - `moderator` User
            - `auth_addresses` object[], required
              - …
            - `custody_address` string, required — Ethereum address
            - `display_name` string, nullable
            - `experimental` object
              - …
            - `fid` integer, required — The unique identifier of a farcaster user or app (unsigned integer)
            - `follower_count` integer, required — The number of followers the user has.
            - `following_count` integer, required — The number of users the user is following.
            - `object` 'user', required
            - `pfp_url` string, nullable — The URL of the user's profile picture
            - `pro` object
              - …
            - `profile` object, required
              - …
            - `registered_at` string, date-time, required
            - `score` number, double — Score that represents the probability that the account is not spam.
            - `username` string, required
            - `verifications` EthAddress[], required
            - `verified_accounts` object[], required
              - …
            - `verified_addresses` object, required
              - …
            - `viewer_context` UserViewerContext — Adds context on the viewer's follow relationship with the user.
              - …
          - `moderator_fids` Fid[]
          - `name` string
          - `object` 'channel', required
          - `parent_url` string, uri
          - `pinned_cast_hash` string
          - `url` string, required
          - `viewer_context` ChannelUserContext — Adds context on the viewer's or author's role in the channel.
            - `following` boolean, required — Indicates if the user is following the channel.
            - `role` 'member' | 'moderator' | 'owner' — The role of a channel member
        - object
          - `id` string, required
          - `image_url` string
          - `name` string, required
          - `object` 'channel_dehydrated', required
          - `viewer_context` ChannelUserContext — Adds context on the viewer's or author's role in the channel.
            - `following` boolean, required — Indicates if the user is following the channel.
            - `role` 'member' | 'moderator' | 'owner' — The role of a channel member
      - `embeds` Embed[], required
        - union
          - CastEmbed
            - `castId` CastId, required — A unique identifier for a cast (post) in the Farcaster network, consisting of the creator's FID and a hash of the cast's content. This combination ensures global uniqueness across all casts.
              - …
          - UrlEmbed
            - `url` string, uri, required
      - `hash` string, required
      - `mentioned_channels` ChannelDehydrated[], required
        - `id` string, required
        - `image_url` string
        - `name` string, required
        - `object` 'channel_dehydrated', required
        - `viewer_context` ChannelUserContext — Adds context on the viewer's or author's role in the channel.
          - `following` boolean, required — Indicates if the user is following the channel.
          - `role` 'member' | 'moderator' | 'owner' — The role of a channel member
      - `mentioned_channels_ranges` TextRange[], required — Positions within the text (inclusive start, exclusive end) where each mention occurs. Each index within this list corresponds to the same-numbered index in the mentioned_channels list.
        - `end` number, required
        - `start` number, required
      - `mentioned_profiles` User[], required
        - `auth_addresses` object[], required
          - `address` string, required — Ethereum address
          - `app` UserDehydrated, required
            - `custody_address` string — Ethereum address
            - `display_name` string, nullable
            - `fid` integer, required — The unique identifier of a farcaster user or app (unsigned integer)
            - `object` 'user_dehydrated', required
            - `pfp_url` string, nullable
            - `score` number
            - `username` string
        - `custody_address` string, required — Ethereum address
        - `display_name` string, nullable
        - `experimental` object
          - `deprecation_notice` string
          - `neynar_user_score` number, double, required — Score that represents the probability that the account is not spam.
        - `fid` integer, required — The unique identifier of a farcaster user or app (unsigned integer)
        - `follower_count` integer, required — The number of followers the user has.
        - `following_count` integer, required — The number of users the user is following.
        - `object` 'user', required
        - `pfp_url` string, nullable — The URL of the user's profile picture
        - `pro` object
          - `expires_at` string, date-time, required
          - `status` 'subscribed' | 'unsubscribed', required — The subscription status of the user
          - `subscribed_at` string, date-time, required
        - `profile` object, required
          - `banner` object
            - `url` string, uri — The URL of the user's banner image
          - `bio` object, required
            - `mentioned_channels` ChannelDehydrated[]
              - …
            - `mentioned_channels_ranges` TextRange[] — Positions within the text (inclusive start, exclusive end) where each mention occurs. Each index within this list corresponds to the same-numbered index in the mentioned_channels list.
              - …
            - `mentioned_profiles` UserDehydrated[]
              - …
            - `mentioned_profiles_ranges` TextRange[] — Positions within the text (inclusive start, exclusive end) where each mention occurs. Each index within this list corresponds to the same-numbered index in the mentioned_profiles list.
              - …
            - `text` string, required
          - `live_at` object
            - `is_live` boolean, required
            - `updated_at` string, date-time, required
            - `url` string, required — The URL of the user's current live activity
          - `location` Location — Coordinates and place names for a location
            - `address` LocationAddress
              - …
            - `latitude` number, double, required
            - `longitude` number, double, required
            - `radius` number — The radius in meters for the location search. Any location within this radius will be returned.
        - `registered_at` string, date-time, required
        - `score` number, double — Score that represents the probability that the account is not spam.
        - `username` string, required
        - `verifications` EthAddress[], required
        - `verified_accounts` object[], required
          - `platform` 'x' | 'github'
          - `username` string
        - `verified_addresses` object, required
          - `eth_addresses` EthAddress[], required — List of verified Ethereum addresses of the user sorted by oldest to most recent.
          - `primary` object, required
            - `eth_address` string, required — Ethereum address
            - `sol_address` string, required — Solana address
          - `sol_addresses` SolAddress[], required — List of verified Solana addresses of the user sorted by oldest to most recent.
        - `viewer_context` UserViewerContext — Adds context on the viewer's follow relationship with the user.
          - `blocked_by` boolean, required — Indicates if the viewer is blocked by the user.
          - `blocking` boolean, required — Indicates if the viewer is blocking the user.
          - `followed_by` boolean, required — Indicates if the viewer is followed by the user.
          - `following` boolean, required — Indicates if the viewer is following the user.
      - `mentioned_profiles_ranges` TextRange[], required — Positions within the text (inclusive start, exclusive end) where each mention occurs. Each index within this list corresponds to the same-numbered index in the mentioned_profiles list.
        - `end` number, required
        - `start` number, required
      - `object` 'cast', required
      - `parent_author` object, required
        - `fid` integer, required — The unique identifier of a farcaster user or app (unsigned integer)
      - `parent_hash` string, nullable, required
      - `parent_url` string, nullable, required
      - `reactions` CastReactions, required
        - `likes` ReactionLike[], required — This has been deprecated and will always be an empty array. The property will be removed in the future
          - `fid` integer, required — The unique identifier of a farcaster user or app (unsigned integer)
          - `fname` string, required
        - `likes_count` integer, required
        - `recasts` ReactionRecast[], required — This has been deprecated and will always be an empty array. The property will be removed in the future
          - `fid` integer, required — The unique identifier of a farcaster user or app (unsigned integer)
          - `fname` string, required
        - `recasts_count` integer, required
      - `replies` CastReplies, required
        - `count` integer, required
      - `root_parent_url` string, nullable, required
      - `text` string, required
      - `thread_hash` string, nullable, required
      - `timestamp` string, date-time, required
      - `type` 'cast-mention' | 'cast-reply' — The notification type of a cast.
      - `viewer_context` CastViewerContext — Adds context on interactions the viewer has made with the cast.
        - `liked` boolean, required — Indicates if the viewer liked the cast.
        - `recasted` boolean, required — Indicates if the viewer recasted the cast.
    - `next` NextCursor, required — Returns next cursor
      - `cursor` string, nullable, required

## Other responses

- `400` — Bad Request

---

[API](https://skmtc.dev/neynar/apis/neynar-api.md) · [All operations](https://skmtc.dev/neynar/apis/neynar-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/neynar/neynar-api/revisions/dbb91bfb0d1a/schema)
