How to extract FB posts from a FB page and pas them to a Google sheet / Excel ?
Describe the problem/error/question
What is the error message (if any)?
Please share your workflow
(Select the nodes on your canvas and use the keyboard shortcuts CMD+C/CTRL+C and CMD+V/CTRL+V to copy and paste the workflow.)
Share the output returned by the last node
Information on your n8n setup
- n8n version:
- Database (default: SQLite):
- n8n EXECUTIONS_PROCESS setting (default: own, main):
- Running n8n via (Docker, npm, n8n cloud, desktop app):
- Operating system:
Sure it’s possible, you can do this with:
- Facebook Page scraper by Apify with the Apify node
- Edit fields node to turn it into the format you want
- Google Sheets node to push the new rows into the Sheet you’re looking for.
Hey, are you looking to pull posts from a page you own/manage or someone else’s public page? Thatll change teh approach since Facebook’s API is pretty restrictive about what you can access these days
Building on what @Benjamin_Behrens said - the Graph API approach is the way to go (free, no third-party dependency).
One thing to watch out for when using FB Graph API in n8n: the Page Access Token expires after 60 days (long-lived) or 1-2 hours (short-lived). In production this always catches people off guard.
The flow that works well:
- HTTP Request node →
GET /{page-id}/posts?fields=message,created_time,likes.summary(true),comments.summary(true)&access_token={token}
- Loop through results (SplitInBatches)
- Google Sheets node → append rows
For the token issue, you can build a small n8n workflow that auto-refreshes your long-lived token before it expires and stores it in an environment variable or Google Sheets. I’ve dealt with this a lot building FB Messenger bots - the token management is honestly the hardest part, not the API call itself.
If you’re just doing a one-time export, a short-lived token from the Graph API Explorer works fine. For recurring scheduled exports, you’ll need a long-lived token strategy.