Farcaster Casts Scraper: Posts, Authors & Engagement avatar

Farcaster Casts Scraper: Posts, Authors & Engagement

Pricing

from $6.80 / 1,000 results

Go to Apify Store
Farcaster Casts Scraper: Posts, Authors & Engagement

Farcaster Casts Scraper: Posts, Authors & Engagement

Scrape Farcaster casts (posts) by username, FID or keyword search. Each cast has the text, timestamp, author profile (username, display name, follower count, bio, avatar), and engagement (replies, reactions, recasts, quotes, views), plus embeds and a Warpcast URL. Export to JSON, CSV or Excel.

Pricing

from $6.80 / 1,000 results

Rating

0.0

(0)

Developer

Scrapers Lat

Scrapers Lat

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

12 days ago

Last modified

Share

Farcaster Casts Scraper: Posts, Authors & Engagement

Farcaster Casts Scraper: Posts, Authors & Engagement

Here is one real result, with every field the actor returns:

{
"hash": "0x90e7296b09e080603ae64d844ad33ba3c168f7a2",
"text": "degenfers (degen-EFF-ers) are mfers who have put on their top hats. They are /degen. They live on /base. 10,000+ unique PFPs minting via /farcaster Frame. This the first 10K PFP mint via Frame. 1 free (no gas) mint per user. Recast first. Be degen. https://degenfers.art/f.html",
"castedAt": "2024-03-14T13:37:40.000Z",
"timestamp": 1710423460000,
"authorFid": 8685,
"authorUsername": "markcarey",
"authorDisplayName": "Mark Carey 🎩🫂",
"authorFollowerCount": 10032,
"authorFollowingCount": 1555,
"authorBio": "mini app developer, web3 developer, long distance runner /streme /pixelnouns /frm /degendogs /degenfers /toka /maxis",
"authorPfpUrl": "https://imagedelivery.net/BXluQx4ige9GuW0Ia56BHw/75d9d223-c4c7-4b40-f6f4-f1bc9548cc00/original",
"replyCount": 96,
"reactionCount": 7471,
"recastCount": 8238,
"quoteCount": 318,
"watchCount": 0,
"viewCount": 62900,
"combinedRecastCount": 8556,
"isReply": false,
"parentHash": null,
"threadHash": "0x90e7296b09e080603ae64d844ad33ba3c168f7a2",
"imageCount": 0,
"firstImageUrl": null,
"embedUrlCount": 1,
"firstEmbedUrl": "https://degenfers.art/f.html",
"tags": ["degenfers"],
"warpcastUrl": "https://warpcast.com/markcarey/0x90e7296b",
"sourceType": "search",
"sourceValue": "base",
"source": "Farcaster (Warpcast)",
"observedAt": "2026-08-06T17:40:12.485Z"
}

The most complete Farcaster cast scraper available. It returns every field a public cast exposes, including full author profile and follower counts, all engagement metrics with a combined recast total, thread and reply structure, embedded images and links, channel tags, plus optional AI enrichment, and gives you username, FID and keyword inputs to target exactly the casts you need.

📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples

Apify Coverage Output Billing

Table of contents

What it does

The actor collects public Farcaster casts by username, by numeric FID, or by keyword search, and writes one normalized record per cast to the run's dataset. Each record carries the cast hash and text, the cast time (ISO and epoch), the full author profile (FID, username, display name, follower and following counts, bio, avatar), all engagement metrics (replies, reactions, recasts, quotes, watches, views, and a combined recast total), the thread and reply structure, embedded image and link counts with the first of each, channel tags, and the Warpcast URL. You can require a minimum reaction count and choose whether replies are included. Missing source values are returned as null.

Two opt-in AI add-ons (paid Apify plans only) can classify each cast's sentiment (withAiSentiment) and tag it with topics (withAiTopics).

Quickstart

Open the actor, paste this into the input, and press Run. It returns up to 15 recent casts from two accounts plus a keyword search, replies included.

{
"usernames": ["dwr.eth", "vitalik.eth"],
"searchQueries": ["base"],
"maxCasts": 15,
"includeReplies": true
}

Provide at least one of usernames, fids, or searchQueries. All inputs combine into one run, and each record is tagged with the sourceType/sourceValue that produced it.

Input reference

FieldTypeRequiredDefaultDescription
usernamesstring[]no["dwr.eth"]Farcaster usernames to fetch casts from, with or without @. One run does the whole list.
fidsstring[]no(empty)Farcaster IDs (numeric) to fetch casts from, as an alternative to usernames.
searchQueriesstring[]no(empty)Keywords or phrases to search casts for, for example base, ethereum, AI agents.
includeRepliesbooleannotrueInclude reply casts. Turn off to keep only top-level casts.
minReactionsintegerno(none)Keep only casts with at least this many reactions (likes).
maxCastsintegerno50Maximum casts to collect across all inputs. Free Apify plans are capped at 10 per run.
withAiSentimentbooleannofalsePaid AI add-on. Classify each cast's sentiment (positive/neutral/negative) with a score.
withAiTopicsbooleannofalsePaid AI add-on. Tag each cast with 1 to 5 topics.

Provide at least one of usernames, fids, or searchQueries.

Output reference

One dataset item per cast. Types: string, integer, boolean, string[], or null when the source value is absent.

FieldTypeDescription
hashstringCast hash (unique per cast).
textstringFull cast text.
castedAtstringISO 8601 time the cast was published.
timestampintegerCast time as epoch milliseconds.
authorFidintegerAuthor Farcaster ID.
authorUsernamestringAuthor username.
authorDisplayNamestringAuthor display name.
authorFollowerCountintegerAuthor follower count.
authorFollowingCountintegerAuthor following count.
authorBiostringAuthor bio text.
authorPfpUrlstringAuthor profile picture URL.
replyCountintegerNumber of replies.
reactionCountintegerNumber of reactions (likes).
recastCountintegerNumber of recasts.
quoteCountintegerNumber of quote casts.
watchCountintegerNumber of watches.
viewCountintegerNumber of views.
combinedRecastCountintegerRecasts plus quotes combined.
isReplybooleanWhether the cast is a reply.
parentHashstringHash of the parent cast when it is a reply, else null.
threadHashstringHash of the thread root.
imageCountintegerNumber of embedded images.
firstImageUrlstringURL of the first embedded image, or null.
embedUrlCountintegerNumber of embedded links.
firstEmbedUrlstringFirst embedded link URL, or null.
tagsstring[]Channel tags the cast is posted in.
warpcastUrlstringWarpcast permalink for the cast.
sourceTypestringWhich input produced the cast: username, fid, or search.
sourceValuestringThe specific username, FID, or keyword that produced the cast.
sourcestringAlways Farcaster (Warpcast).
observedAtstringISO 8601 timestamp of when the record was collected.
aiSentimentstringAI sentiment label (only with withAiSentiment), else absent.
aiTopicsstring[]AI topic tags (only with withAiTopics), else absent.
errorstringPresent only on a failed run: a single item with a populated error field is written instead.

Example output record

Real record from a live run (input {"usernames": ["dwr.eth", "vitalik.eth"], "searchQueries": ["base"], "maxCasts": 15, "includeReplies": true}):

{
"hash": "0x90e7296b09e080603ae64d844ad33ba3c168f7a2",
"text": "degenfers (degen-EFF-ers) are mfers who have put on their top hats. They are /degen. They live on /base. 10,000+ unique PFPs minting via /farcaster Frame. This the first 10K PFP mint via Frame. 1 free (no gas) mint per user. Recast first. Be degen. https://degenfers.art/f.html",
"castedAt": "2024-03-14T13:37:40.000Z",
"timestamp": 1710423460000,
"authorFid": 8685,
"authorUsername": "markcarey",
"authorDisplayName": "Mark Carey 🎩🫂",
"authorFollowerCount": 10032,
"authorFollowingCount": 1555,
"authorBio": "mini app developer, web3 developer, long distance runner /streme /pixelnouns /frm /degendogs /degenfers /toka /maxis",
"authorPfpUrl": "https://imagedelivery.net/BXluQx4ige9GuW0Ia56BHw/75d9d223-c4c7-4b40-f6f4-f1bc9548cc00/original",
"replyCount": 96,
"reactionCount": 7471,
"recastCount": 8238,
"quoteCount": 318,
"watchCount": 0,
"viewCount": 62900,
"combinedRecastCount": 8556,
"isReply": false,
"parentHash": null,
"threadHash": "0x90e7296b09e080603ae64d844ad33ba3c168f7a2",
"imageCount": 0,
"firstImageUrl": null,
"embedUrlCount": 1,
"firstEmbedUrl": "https://degenfers.art/f.html",
"tags": ["degenfers"],
"warpcastUrl": "https://warpcast.com/markcarey/0x90e7296b",
"sourceType": "search",
"sourceValue": "base",
"source": "Farcaster (Warpcast)",
"observedAt": "2026-08-06T17:40:12.485Z"
}

Run via API and CLI

Start a run and wait for it to finish, then read the dataset. Replace <TOKEN> with your Apify API token.

Run synchronously and get dataset items in one call:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~farcaster-casts-scraper/run-sync-get-dataset-items?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"usernames":["dwr.eth"],"maxCasts":25,"includeReplies":false}'

Start a run asynchronously:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~farcaster-casts-scraper/runs?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"searchQueries":["base","AI agents"],"minReactions":50,"maxCasts":200}'

Apify CLI:

apify call scrapers_lat/farcaster-casts-scraper \
--input '{"usernames":["vitalik.eth"],"maxCasts":10}'

Fetch results

Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:

# JSON
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"
# CSV
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"
# Paginate large datasets
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"

<DATASET_ID> is returned as defaultDatasetId in the run object. Use offset and limit to page through large result sets. clean=true drops empty and internal fields.

Billing and limits

  • Pay per result. You are charged per cast returned (result event). See the pricing tab for the current per-result price.
  • AI add-ons bill separately. Sentiment and topics are opt-in, off by default, and each carry their own per-item charge.
  • No charge on failure. If a run errors, the actor writes a single item with a populated error field and does not charge for it. Empty runs cost nothing.
  • Spend cap respected. Set maxTotalChargeUsd on the run; once reached, the actor stops emitting and charging further billable results.
  • Free Apify plans are capped at 10 records per run. Upgrade for higher maxCasts.

FAQ and troubleshooting

A run returned 0 records. Why? The usernames or FIDs may have no matching casts under your filters (for example minReactions too high, or replies excluded), or the keyword matched nothing. Loosen the filters. Zero-result runs are not charged.

Can I mix usernames, FIDs and keywords? Yes. All three inputs combine into one run and each record is tagged with the sourceType and sourceValue that produced it.

How do I get only high-engagement casts? Set minReactions to a threshold; only casts with at least that many reactions are kept.

What is combinedRecastCount? Recasts plus quote casts, so you can rank by total amplification in one number.

Is this an official Farcaster or Warpcast tool? No. This actor is independent and has no affiliation with Farcaster or Warpcast. It reads only publicly available cast data.

More scrapers at scrapers.lat

Built and maintained by scrapers.lat, where we publish scrapers for US and Latin American public platforms: company registries, government data, finance, e-commerce and more. Browse the catalog or request a custom scraper at scrapers.lat.


Independent tool, not affiliated with Farcaster or Warpcast. Accesses only publicly available cast data.