diff --git a/lib/utils/neynar-client.js b/lib/utils/neynar-client.js
--- a/lib/utils/neynar-client.js
+++ b/lib/utils/neynar-client.js
@@ -24,6 +24,10 @@
   },
 };
 
+type FetchFarcasterChannelByNameResponse = {
+  +channels: $ReadOnlyArray<FarcasterChannel>,
+};
+
 const neynarBaseURL = 'https://api.neynar.com/';
 const neynarURLs = {
   '1': `${neynarBaseURL}v1/farcaster/`,
@@ -143,6 +147,44 @@
 
     return farcasterChannels;
   }
+
+  async fetchFarcasterChannelByName(
+    channelName: string,
+  ): Promise<?FarcasterChannel> {
+    const params: { [string]: string } = {
+      q: channelName,
+    };
+
+    const url = getNeynarURL('2', 'channel/search', params);
+
+    try {
+      const response = await fetch(url, {
+        method: 'GET',
+        headers: {
+          Accept: 'application/json',
+          api_key: this.apiKey,
+        },
+      });
+
+      const json: FetchFarcasterChannelByNameResponse = await response.json();
+
+      const { channels } = json;
+
+      for (const channel of channels) {
+        if (channel.name.toLowerCase() === channelName.toLowerCase()) {
+          return channel;
+        }
+      }
+
+      return null;
+    } catch (error) {
+      console.log(
+        'Failed to search Farcaster channel by name:',
+        getMessageForException(error) ?? 'unknown',
+      );
+      throw error;
+    }
+  }
 }
 
 export { NeynarClient };