Facebook Pages + Posts Scraper
Pricing
from $4.00 / 1,000 facebook page or post results
Facebook Pages + Posts Scraper
Scrape Facebook Pages and posts together. Extract Page details, contacts, followers, captions, reactions, comments, shares, photos, videos, reels, links, and engagement data. Supports Page URLs, direct posts, mixed lists, date filters, and optional encrypted cookies.
Pricing
from $4.00 / 1,000 facebook page or post results
Rating
0.0
(0)
Developer
DataForge
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Collect Facebook Page details and posts in one run. Get business contacts, audience numbers, engagement, captions, links, profile and cover images, post photos, videos, and more in structured rows ready for export or automation.
Use public mode without a Facebook account, or add optional encrypted cookies when you need content visible only to your signed-in account.
๐ก Why this Actor
Most Facebook tools scrape either Pages or posts. This one returns both in a single run โ plus the business contacts that lead-generation and outreach teams actually pay for.
- ๐ Pages + posts together โ one Page URL returns the Page profile and its recent posts, with no second Actor and no manual merging
- ๐ Contacts built in โ emails, phone numbers, websites, and addresses, ready for a lead list
- ๐ No account needed for public data; add encrypted cookies only when you want signed-in content
- ๐ฏ Four focused modes โ full research, contacts-only, posts-only, or single post / photo / video / reel URLs
- ๐งน Clean, deduplicated rows that export straight to CSV, Excel, Google Sheets, Make, or Zapier
๐ธ Sample output

A real run's output โ exportable to JSON, CSV, or Excel.
๐ What you can collect
- Facebook Page metadata and business contacts
- Posts from one or many Pages
- Individual posts, photos, videos, reels, and
fb.watchlinks - Profile pictures, cover photos, post images, video URLs, and thumbnails
- Reactions, comments, shares, views, and reaction breakdowns
- Mentions and external links
- Posts filtered by publication date or caption text
- Mixed lists containing both Page and direct post URLs
- Optional raw Facebook JSON for advanced workflows
The Actor deduplicates repeated inputs and post records automatically.
๐ฏ Choose the right mode
| Mode | Best for | Returned rows |
|---|---|---|
| Pages + Posts | Complete Page research and mixed URL lists | Page rows and post rows |
| Page details only | Lead generation, Page discovery, and contact lists | Page rows only |
| Posts from Pages | Content and engagement analysis | Post rows only |
| Direct post URLs | Individual posts, photos, videos, reels, or fb.watch links | Up to one post row per URL |
Pages + Posts is the recommended universal mode. A Page URL can return one Page row plus matching post rows, while a direct content URL returns a post row.
๐ Page data
Available Page fields can include:
- Page name, username, Page ID, and Facebook ID
- Page URL and Messenger URL
- Category, description, intro, and additional information
- Followers, following, and likes
- Verified status and confirmed owner
- Email addresses and phone numbers
- Websites and physical addresses
- Rating and rating count
- Profile picture URL and dimensions
- Cover photo URL and dimensions
- Facebook Ad Library URL
- Collection timestamp
๐ Post data
Available post fields can include:
- Post ID, URL, type, author, and publication time
- Caption and post text
- Total reactions, comments, shares, and views
- Like, Love, Care, Haha, Wow, Sad, and Angry counts
- Mentioned names and Facebook links
- External links
- Photo URLs
- Video URLs and thumbnails
- Media IDs, types, dimensions, and accessibility text
- Optional raw JSON
Facebook controls which fields are publicly visible. Values that are unavailable for a particular Page or post are omitted instead of being filled with misleading placeholders.
๐ธ Photos and videos
Media extraction covers:
- Page profile pictures
- Page cover photos
- Single-photo posts
- Multi-photo attachments
- Video and reel URLs when exposed
- Video thumbnails
- Available media dimensions and accessibility descriptions
Facebook CDN links may expire later. Download important files soon after collecting them.
โ๏ธ Main input options
| Input | Description |
|---|---|
startUrls | Facebook Page, profile, post, photo, video, reel, or fb.watch URLs |
scrapeType | Selects one of the four scraping modes |
maxPostsPerPage | Maximum matching posts collected from each Page |
startDate / endDate | Optional publication date range in YYYY-MM-DD format |
captionText | Keeps posts whose text contains the supplied phrase |
maxItems | Hard result limit across the whole run |
includePageMedia | Uses available Page photo and video publications when the normal post feed is limited |
includeRawJson | Adds the source JSON as a string for advanced integrations |
facebookCookies | Optional encrypted Facebook session cookies |
cookieFormat | Automatic detection, Cookie header, JSON export, or Netscape format |
The input also contains advanced request and concurrency limits. The defaults are designed for normal runs.
โ Example: Page details and posts
{"startUrls": [{ "url": "https://www.facebook.com/NASA/" },{ "url": "https://www.facebook.com/Meta/" }],"scrapeType": "PAGES_AND_POSTS","maxPostsPerPage": 20,"maxItems": 100,"startDate": "2026-01-01","includePageMedia": true,"includeRawJson": false}
๐ฌ Example: direct content URLs
{"startUrls": [{ "url": "https://www.facebook.com/watch/?v=1376651124309650" },{ "url": "https://www.facebook.com/NASA/photos/1583701686458535" }],"scrapeType": "DIRECT_POSTS","maxItems": 2}
๐ฆ Example Page result
{"recordType": "page","pageName": "Example Page","pageId": "123456789","category": "Organization","followers": 1250000,"email": "hello@example.com","website": "https://example.com","profilePictureUrl": "https://scontent...fbcdn.net/...","coverPhotoUrl": "https://scontent...fbcdn.net/...","pageUrl": "https://www.facebook.com/example","scrapedAt": "2026-07-23T12:00:00Z"}
๐ Example Post result
{"recordType": "post","postId": "987654321","pageName": "Example Page","postType": "photo","text": "Post caption","time": "2026-07-20T18:30:00Z","likes": 4821,"comments": 193,"shares": 88,"photoUrls": ["https://scontent...fbcdn.net/..."],"mediaWidths": [2048],"mediaHeights": [1365],"postUrl": "https://www.facebook.com/example/posts/987654321","scrapedAt": "2026-07-23T12:00:01Z"}
๐๏ธ Output and exports
Each saved dataset item is either:
- one
pageresult, or - one
postresult.
The Output tab provides focused views:
- Pages
- Posts
- Photos & videos
- Contacts
- All fields
Download results as JSON, CSV, Excel, XML, or RSS. You can also send them to Google Sheets, databases, Make, Zapier, webhooks, or your own API integration.
The OUTPUT key-value record contains a compact run summary with counts and one of these statuses:
completedโ results were collected normallycompleted_no_dataโ the run was valid but no matching rows were visiblecompleted_with_issuesโ available rows were saved, while one or more URLs had no accessible datarejectedโ invalid input was stopped before any Facebook request
๐ณ Pricing and budget control
The Actor uses pay-per-result pricing shown in the Store pricing panel. A Page row and a post row each count as one result.
Use maxItems to set a hard result limit. You can also set Apify's maximum charge for an individual run. The Actor stops saving additional rows when either limit is reached.
Rejected input produces no dataset results and makes no Facebook requests.
๐ Optional cookies
Cookies are not required for public Pages and posts. For content visible only to a signed-in account, the Actor accepts:
- a browser
Cookieheader, - a JSON browser export, or
- a Netscape
cookies.txtexport.
The input is marked as secret in Apify. Cookie values are never written to the dataset, run summary, or logs. An authenticated session must contain valid c_user and xs cookies.
For a more stable account session, keep maxConcurrency at 1 or 2 and avoid running the same cookies in many simultaneous jobs.
โ Frequently asked questions
Why did a valid URL return no row?
The content may be unavailable to logged-out visitors, removed, region-limited, age-limited, or returned without enough structured data. The run summary identifies empty and inaccessible URLs without discarding successful results from the rest of the batch.
Why are some columns missing?
Facebook exposes different fields for different Pages and post types. Missing values mean the source did not provide that field.
Can I scrape Page URLs and direct posts together?
Yes. Use Pages + Posts mode for mixed input lists.
Can I collect only contacts?
Use Page details only, then open the Contacts output view.
Can I filter posts?
Yes. Use startDate, endDate, and captionText. Filters apply to post rows, not Page rows.
Can I export the results?
Yes. The default dataset supports the standard Apify downloads and integrations, including CSV, Excel, JSON, Google Sheets, Make, Zapier, webhooks, and API access.