Alfalfa

Track a Facebook page's posts in Google Sheets every day

Choose a public page, including a competitor's. This n8n workflow collects its recent posts each morning and keeps one spreadsheet row per post. Later runs refresh the likes, comments, shares and views in that row.

Prepared September 2026. Public pages and profiles only; no Facebook login needed.

Download the n8n workflow Download Sheet headers Open the scraper

What appears in the Sheet

Each row has the page name, post date, text, link, media URLs and engagement counts. The postKey column identifies the row across runs, so a post already in the Sheet is updated when its counts change. The workflow preserves long postId values as text. lastSeenAt shows the latest collection time. The complete result, including reaction breakdowns and top comments, stays in the Apify dataset.

Set it up in n8n

  1. Create a new Google Sheet and put the header CSV in its first row. Keep the postKey header; the workflow uses it to match existing rows.
  2. Import the workflow JSON into n8n. Add your Apify credential to both Apify nodes and your Google Sheets credential to Upsert posts by key. Paste the Sheet URL and choose its tab.
  3. In Settings, replace the example NASA URL with the public page you want to monitor. The default cap is 100 posts, with a two-day lookback. Raise the cap if the page can publish more than 100 posts in two days.
  4. Run manually twice. A post returned on both runs should keep one row while lastSeenAt and its engagement counts refresh. If the example page has no posts in the last two days, widen the lookback for your test. Then publish the workflow to start its daily 9:00 AM schedule in the workflow or instance timezone.
postKey,postId,page,postedAt,text,url,likes,comments,shares,isVideo,views,link,media,lastSeenAt

What it costs

The Facebook Posts Scraper costs $2 per 1,000 returned posts on Apify Free, including platform usage and residential proxies, with no start fee. The workflow leaves the optional video transcript lookup off. At the default cap, one run costs at most $0.20 in Actor result charges; a page with three recent posts costs about $0.006 for that run.

The two-day window intentionally overlaps daily runs so a late run can still catch posts. A repeated post updates its Sheet row, but Apify charges for that result again. After a longer outage, widen the lookback; for a busy page, increase the cap. Your n8n and Google accounts have their own terms.

What this monitors. It reads posts visible on a public page or profile without signing in. It cannot show private groups, hidden posts, or posts Facebook no longer exposes. The Sheet is a monitoring table; for a one-time archive, use the CSV export guide.