facebook-post
One public Facebook post as one row: id, URL, author, text, time posted, reactions in total and by type, comments, shares, photos and videos, and where it was posted. post is the post's facebook.com URL (/posts/, permalink.php, photo, videos, reel or share link). About 5-25 s; when the page fails, a slower second source answers (about 40 s). session (optional) = your c_user and xs cookies. You supply your own session. Crawl4AI uses it for this run only and does not store it. Your account and the site's terms are your responsibility.
Recipes are not open yet.
What this recipe returned on its last run. No key needed to look.
Fields
14 columns on every row. null means the site does not state it.| field | type | meaning |
|---|---|---|
| post_id | string | Facebook's id of the post (digits, as a string). |
| url | string | The post's own address on facebook.com. |
| author_name | string | The name of the profile or page that posted it. |
| author_id | string | Facebook's id of that profile or page. |
| author_url | string | The address of that profile or page; null on a reel's page, which names the author only by id. |
| page_id | string | The id of the Facebook Page behind the author (a page, or a person in professional mode); null for a plain personal profile and for a reel read from our page. |
| text | string | The post's whole text; null for a post with no text. |
| created_at | string | When it was posted, ISO 8601 UTC. |
| reactions | integer | All reactions together, as Facebook counts them. |
| reactions_by_type | object | Reactions per type in Facebook's names ({"Like": 2341, "Love": 1519}); a type nobody used is absent; empty for a reel read from our page (its page shows only the total). |
| comments | integer | How many comments, replies included, as Facebook counts them. |
| shares | integer | How many times it was shared; for a reel, as Facebook shortens it ("1.1K" read as 1100); null when Facebook shows no count. |
| media | object[] | Each photo or video as {type, id, url, video_url}: url is the picture (a video's still image), video_url the playable file; signed by Facebook, they stop working after some days. |
| posted_to | Where it was posted when that is not the author's own timeline, {name, id, url}; null otherwise, and on the second source. |
null means the site does not state it.
How it behaves
Cost. 1-2 pages; 1 record when it falls back. A failed run costs 0.
Freshness 30 min. The same input within 30 min is served from cache at 0 units.
How it answers. Answers at once for one input; a large run goes as a job you poll.
Questions about this recipeQuestions
Short answers. The API reference has the long ones.
Call POST /recipes/facebook-post with your key and post. You get rows with the 14 fields above. The recipe is tested against the live site every 6 hours.
1-2 pages; 1 record when it falls back. A failed run costs 0. The same input within 30 min costs 0.
Yes. Sign up with Google, GitHub or email for a free key with 1,000 credits every month. No credit card.
The health check runs every 6 hours against the live site. A failing recipe shows as failing on this page until we fix it.
Extra fields, higher volume, or a private copy with a freshness SLA. We build it on Enterprise.
Request a changeMore for social listening
All 24 recipes →The latest messages of a public Telegram channel, from its web preview page: text, time, view count, the message's link and id, newest…
A public Facebook page's posts as its first load carries them (no paging): one row per post with id, URL, text (first 1000 chars), time…
One public Facebook profile or page as one row: name, ids, category, intro, followers, contact lines (website, e-mail, phone, address)…
For developers
Get a free API key and run your first crawl.
1,000 credits every month. No credit card. Your self-hosted setup keeps working.
For teams
Talk to us about volume, regions and an SLA.
A 30-minute call with the team that writes the crawler. DPA on request, invoice billing, your choice of US, EU or Singapore.