Skip to main content
facebook collects the posts of public Facebook pages. One result is one row. For page details only, use facebook_profile.

Run it

facebook_posts is another name for facebook.

Inputs

Groups, events, Watch, Marketplace and other links that are not pages are skipped; the job fails only if no link is usable. A date filter within the last 29 days makes the job a recent crawl, which is billed at its own rate; see Billing. A recent crawl reads the recent part of each page’s timeline, and reports in completeness any stretch of dates it could not cover.

Output

The job returns one profile_info row per page (the fields of page details) and one row per post. Both are billed as results. A real post row from a job for The Met:

What logged-out means here

You get: posts from public pages, with their text, reaction, comment and share counts, as a signed-out visitor sees them. Not available: pages behind a login wall or with no public timeline, groups, events, and anything only a signed-in user can see. A page that returned no posts is listed in scraper_metadata.targets_failed:

Completeness

Page details

facebook_profile returns one row per page with its details. It takes the same page links, and bills one result per page that answered, including a page that answers it is not available. limit and date filters do not apply.
A real row for NASA’s page (the links to stored images are masked here):
A page that answers it is not available returns {"url", "error": "not_available", "errorDescription"}. Pages that do not answer at all are listed in targets_failed, not returned as rows. For this type, completeness reports no pages and can be ignored.