Facebook Page Photos Scraper โ Image Data Export
Pricing
from $1.00 / 1,000 results
Facebook Page Photos Scraper โ Image Data Export
Collect public Facebook Page photos with pagination. Export photo and image URLs, dimensions, accessibility text, publication times, owners, and source Page details in one row per photo.
Pricing
from $1.00 / 1,000 results
Rating
0.0
(0)
Developer
ScrapingMonkey
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Collect the public photos visible on a Facebook Page and keep each image linked to its source. Facebook Page Photos Scraper accepts Page usernames or URLs and returns photo links, image URLs, dimensions, accessibility text, publication time, and owner details.
Use it to discover a Page's visual content before selecting individual photos for deeper analysis. Choose how many result pages to request, then export one photo per row to JSON, CSV, or Excel. No Facebook login or cookies are required.
| At a glance | Details |
|---|---|
| ๐ฅ Input | Facebook Page usernames or Page URLs |
| ๐ค Output | Photo, image, owner, and source Page fields |
| ๐ Pagination | 1โ100 pages per Page; default 1 |
| ๐ Login required | No |
| ๐พ Delivery | One table, one row per returned photo |
What the Facebook Page photos scraper collects ๐ธ
The Actor collects photos from the Page's publicly available photo collection. Each result includes the Facebook photo URL and the direct image and thumbnail URLs supplied by Facebook, along with width, height, alternative text, and publication time when available.
Owner fields identify the account attached to the photo. Separate source Page fields retain the Page you queried, which is useful when combining several Pages in one dataset. For captions, reactions, tags, album identifiers, and related post details, follow selected photo URLs with Photo Details Scraper.
How to scrape photos from Facebook Pages ๐
- Add Page usernames or URLs to
inputList. - Set
pagesPerProfileto the number of photo pages to attempt. - Run the Actor and review the returned photo rows.
- Export the dataset or pass selected photo URLs to another workflow.
{"inputList": ["Meta", "https://www.facebook.com/NASA/"],"pagesPerProfile": 2}
The page setting limits requests, not the exact number of photos returned.
Page photo data fields and output ๐ฆ
| Field group | Included data |
|---|---|
| Result and identity | Original input, status, photo ID, Facebook URL, type |
| Image | Image and thumbnail URLs, alternative text, dimensions |
| Publication | Unix timestamp and UTC publication time |
| Owner | IDs, username, name, URL, profile picture, verification flag |
| Source Page | Queried Page's identity, URL, picture, and verification flag |
Complete illustrative success row. Harbor Workshop and the media URLs below are examples, not a live run.
{"input": "harborworkshop","status": "success","id": "123456789012346","url": "https://www.facebook.com/photo/?fbid=123456789012346","type": "photo","image_url": "https://example.com/media/workshop-open-day.jpg","thumbnail_url": "https://example.com/media/workshop-open-day-thumb.jpg","alt_text": "Visitors making a wooden stool at the workshop open day.","width": 1200,"height": 800,"timestamp": 1788256800,"published_at": "2026-09-01T10:00:00Z","owner.id": "100012345678901","owner.page_id": "100012345678901","owner.username": "harborworkshop","owner.name": "Harbor Workshop","owner.url": "https://www.facebook.com/harborworkshop/","owner.profile_picture_url": "https://example.com/media/harbor-workshop.jpg","owner.is_verified": false,"source_profile.id": "100012345678901","source_profile.page_id": "100012345678901","source_profile.username": "harborworkshop","source_profile.name": "Harbor Workshop","source_profile.url": "https://www.facebook.com/harborworkshop/","source_profile.profile_picture_url": "https://example.com/media/harbor-workshop.jpg","source_profile.is_verified": false}
There is one output table, and JSON uses the same flat column names, including owner.name and source_profile.name. Missing values can be empty strings, 0, false, or null, depending on the field. A failed row preserves input, sets status to failed, and makes all photo-data columns null.
Input requirements and coverage โ๏ธ
| Parameter | Type | Required | Default | Rules |
|---|---|---|---|---|
inputList | Array of strings | Yes | None | At least one Page username or Page URL |
pagesPerProfile | Integer | No | 1 | From 1 to 100 |
Use a plain Page username without @, a Page URL, or a numeric Page ID. URLs using profile.php?id=... and older /pages/NAME/ID forms are recognized when they contain a valid numeric ID. Individual post, photo, Reel, group, and event links are not Page inputs.
The initial response counts as page 1. Later requests ask for up to 8 photos each and continue while Facebook supplies a usable next page. Duplicate photo IDs are removed within each Page's collection. Not every photo on a Page is necessarily publicly accessible.
Facebook Page photo use cases ๐ฏ
Visual content inventories
Build an index of photo IDs, URLs, dimensions, and publication dates for a set of public Pages.
Creative research
Compare visible image formats and accessibility descriptions across campaigns or organizations, then select relevant photos for closer review.
Photo enrichment pipelines
Discover photo URLs in bulk and send a subset to Photo Details Scraper for captions, engagement, and tags.
Recurring content reports
Schedule repeat runs and compare stable photo IDs to identify newly returned material in your own reporting system.
Pricing and billable photo rows ๐ฐ
Check the Actor's Pricing tab for the current model and rate. Under dataset-item pricing, each saved success or failed row can be billable. Each returned photo is one success row; owner and source Page fields do not create extra rows.
Invalid inputs, unavailable Pages, an initial response with no photos, or a page that fails after retries can produce a failed row. Retry attempts do not independently add rows. More requested pages can produce more saved results.
Facebook Page photos API and integrations ๐
Replace $ACTOR_ID with the ID from the Actor's API tab and $APIFY_TOKEN with your Apify token.
curl -X POST "https://api.apify.com/v2/acts/$ACTOR_ID/runs?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"inputList":["Meta"],"pagesPerProfile":2}'
Use Apify schedules for recurring discovery, webhooks for completion notifications, and integrations for Google Sheets, Make, Zapier, cloud storage, or your own application.
Reliability and limits โ ๏ธ
Temporary request failures are retried. Photos already saved remain available if a later page fails. Public coverage can vary by Page, region, age restrictions, or Facebook's access requirements.
The Actor returns media URLs; it does not download image files. These URLs can expire. Missing timestamps or dimensions do not establish that a photo has no publication date or size.
Frequently asked questions โ
Does it download every image?
It returns image URLs and metadata. Downloading files is a separate step in your authorized workflow.
Can I choose an exact photo count?
You choose pages. The unique photo count depends on Facebook's response and where pagination ends.
Does it include captions and reactions?
This Actor focuses on image and owner metadata. Use Photo Details Scraper for captions, reactions, tags, and associated post data.
Why can owner and source Page fields differ?
The owner belongs to the photo; the source Page is the Page whose collection you requested. Both are retained for context.
Why can a public Page return a failed row?
Its photo collection may be empty, restricted, or inaccessible without login. Check the run log and test a currently accessible public Page.
Support, responsible use, and related actors ๐
For support, share the run ID, a safe public Page input, the page setting, and your expected result. Keep credentials private.
Collect public data lawfully, respecting privacy, copyright, and applicable platform terms.