# Scrape a Facebook page's posts with engagement, without a scraper

Give your agent a Facebook page URL. RouterGrowth reads the page's recent public posts and reels and returns rows with text, link, date, likes, comments, shares and, for video, views. No browser automation, no account and no proxy setup on your side.

HTML page: https://www.routergrowth.com/tools/facebook/posts-scraper
Part of: [Facebook tools](https://www.routergrowth.com/tools/facebook.md)

## The call

[`social.posts`](https://www.routergrowth.com/catalog/social.posts): Recent public posts for a social handle.

Price on this network: $0.007 per post plus $0.00175 per call, $0.002 minimum a call. The exact quote is shown before every run.

## What a real run returned

Run on 2026-10-19: 5 records in 8.3 s for $0.03675. Personal fields are masked. Five recent posts from LEGO's Facebook page: four reels with view counts and one photo post.

| text | created_at | likes | replies | views |
|---|---|---|---|---|
| Don’t be fooled by a house in daylight. After midnight, you never know what weird things might appear. Mwahahaha! 🕰️ 📸: sdphoto_bricks (IG) | 2026-10-18 | 768 | 28 | None |
| Swapping bricks for bobbins 🧵 📍 | 2026-10-14 | 6675 | 330 | 650301 |
| What your skyline would look like in the Marvel Universe 👀 | 2026-10-12 | 3379 | 71 | 275115 |

## How to do it

1. **Connect RouterGrowth once.** Add the MCP server to Claude, ChatGPT, Claude Code, Codex or Cursor. A new workspace starts with $1 of credit, enough to run this example many times.
2. **Give the page.** Paste the Facebook page URL and the number of posts to read.
3. **Get the posts.** social.posts returns each post with its link, text, date, a video flag and engagement.
4. **Find what works.** Ask which posts drew the most comments per view, or compare reels with photo posts.

## Ask it like this

- Scrape LEGO's last 20 Facebook posts and rank them by comments per thousand views. (`social.posts`)
- Compare the Facebook posting rhythm of these four toy brands over their last 15 posts. (`social.posts`)
- Find Facebook posts about our product category and the brand pages that posted most. (`social.search`, `social.posts`)

## Connect

MCP server: `https://api.routergrowth.com/mcp`

```bash
claude mcp add --transport http routergrowth https://api.routergrowth.com/mcp
```

```bash
npm install -g routergrowth && routergrowth setup
routergrowth run -c social.posts -i '{"platform": "facebook", "handle": "https://www.facebook.com/lego", "limit": 5}'
```

```bash
curl -X POST https://api.routergrowth.com/v1/run \
  -H "Authorization: Bearer $ROUTERGROWTH_API_KEY" \
  -d '{"capability": "social.posts", "input": {"platform": "facebook", "handle": "https://www.facebook.com/lego", "limit": 5}}'
```

## Worth knowing

- **Reels and posts together.** Both come back in one list; is_video tells them apart.
- **Nothing to maintain.** Facebook changes its markup often. That is handled behind the call, not in your code.
- **Comments are a count here.** The rows carry the number of comments, not their text.

## Questions

### Can I scrape any public Facebook page?

Yes, pages whose posts are public. Private profiles and closed groups are not read.

### Do I need a Facebook login?

No. The call uses your RouterGrowth key only.

### Are reel views included?

Yes. Video posts carry a view count; photo posts leave it empty.

### Is the charge per post?

Yes. The quote is shown before the run and the charge covers the posts that come back.

## Related

- [Read a Facebook page's posts from Python without a scraping package](https://www.routergrowth.com/tools/facebook/scraper-python.md)
- [Scrape public Facebook posts for a keyword, with no scraper to run](https://www.routergrowth.com/tools/facebook/scraper.md)
- [Scrape a Facebook business page's profile: followers, category, website](https://www.routergrowth.com/tools/facebook/profile-scraper.md)
