All posts

Facebook Post Scrapers: 5 Ways to Get Public Page Posts

November 8, 2026

You want the posts from a Facebook Page you don't run: a competitor, a news outlet, a brand you study. There are five ways to get them. Each one trades effort, coverage and risk differently. This post compares them and gives you a checklist for the fields worth keeping.

The five options

OptionGood atLimits
Graph API Page feedOfficial, stable, well documentedPages you don't manage need the Page Public Content Access feature, App Review and business verification. About 600 ranked posts a year per Page, 100 per request.
Meta Content LibraryDeep public archive of Pages, groups and eventsOnly for researchers at academic or non-profit institutions.
Open-source scrapersFree, full controlBreak when Facebook changes its pages. You maintain them.
Manual copyFine for 20 postsSlow, no numbers history, error prone.
Hosted APINo app review, JSON in one callCosts money per call; you depend on a vendor.

1. The Graph API

The Page feed endpoint is the official route. To read a Page you don't own or manage, Meta says you need the Page Public Content Access feature Page feed docs. That feature requires App Review and business verification, and before review your app can only read Pages whose admins also have a role on your app PPCA docs. Even when approved, the feed returns at most 100 posts per request and "approximately 600 ranked, published posts per year" source. If you have a registered business and a clear use case such as brand monitoring, this is the most durable choice.

2. Meta Content Library

If you are a researcher, Meta's Content Library covers public posts to Pages, groups and events, plus public Marketplace listings. Access is limited to people affiliated with an academic institution or a qualifying non-profit doing research Meta Content Library. It is not open to companies doing marketing work.

3. Open-source libraries

The best-known Python option is facebook-scraper. It reads public Pages without an API key GitHub. When we checked, its last code push was in June 2024 and it had more than 400 open issues, so expect breakage. It also accepts your Facebook cookies, which turns it into a logged-in tool. Read the terms section below before you do that.

4. Manual copy

For a one-off audit of a few posts, open the Page, scroll, and copy the post URL, date and counts into a sheet. It is free and honest. It does not scale, and you can't go back later to see how numbers changed.

5. Hosted APIs

A hosted API takes a Page URL and returns posts as JSON. You skip app review and parsing. You pay per call. Check that failed calls are free, that the vendor reads only public data, and that the output has stable field names.

What Facebook's terms say

Facebook's terms say: "You may not access or collect data from our Products using automated means (without our prior permission)" Facebook Terms, section 3.2. Meta's separate Automated Data Collection Terms say you need Meta's express written permission first Automated Data Collection Terms. In Meta Platforms v. Bright Data, a federal judge in California ruled on 23 January 2024 that Meta's terms did not cover Bright Data's logged-off scraping of public data Farella Braun + Martel summary. That ruling is about one contract and one set of facts. Two practical rules follow from it: stay logged out, and stay on public data.

This is not legal advice. Terms and case law change, and the answer depends on where you are and what you do with the data. Talk to a lawyer before you build a business on it.

Checklist: fields to keep for each post

  • Post URL and post id (your join key)
  • Created time, stored in UTC
  • Type: text, image, video, reel, link
  • Caption text and any links in it
  • Reactions, comments, shares, and views for video
  • The time you collected the numbers. Counts keep growing, so a count without a collection time is hard to compare.

A simple engagement number per post is reactions + comments + shares. To compare Pages of different sizes, divide by followers and multiply by 1,000 to get engagement per 1,000 followers.

How to do it with ScrapeIO

The Facebook profile posts API takes a Page URL and returns posts with likes (reactions), comments, shares and created_at, 1 credit per page of results. Use the Facebook post API for one post by URL, and Facebook profile API for the follower count you need for the ratio above. It reads only public data while logged out, and failed calls cost nothing.

curl "https://scrapeio.com/v1/facebook/profile/posts?url=https://www.facebook.com/nintendo" \
  -H "x-api-key: YOUR_KEY"

Sources

Checked on 8 November 2026 from each vendor's own pages. Prices and limits change; follow the links before you decide.

100 free credits, no card. Credits never expire.

Get API key