Facebook Page Photos Scraper โ€“ Image Data Export avatar

Facebook Page Photos Scraper โ€“ Image Data Export

Pricing

from $1.00 / 1,000 results

Go to Apify Store
Facebook Page Photos Scraper โ€“ Image Data Export

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

ScrapingMonkey

Maintained by Community

Actor 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 glanceDetails
๐Ÿ“ฅ InputFacebook Page usernames or Page URLs
๐Ÿ“ค OutputPhoto, image, owner, and source Page fields
๐Ÿ“„ Pagination1โ€“100 pages per Page; default 1
๐Ÿ” Login requiredNo
๐Ÿ’พ DeliveryOne 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 ๐Ÿš€

  1. Add Page usernames or URLs to inputList.
  2. Set pagesPerProfile to the number of photo pages to attempt.
  3. Run the Actor and review the returned photo rows.
  4. 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 groupIncluded data
Result and identityOriginal input, status, photo ID, Facebook URL, type
ImageImage and thumbnail URLs, alternative text, dimensions
PublicationUnix timestamp and UTC publication time
OwnerIDs, username, name, URL, profile picture, verification flag
Source PageQueried 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 โš™๏ธ

ParameterTypeRequiredDefaultRules
inputListArray of stringsYesNoneAt least one Page username or Page URL
pagesPerProfileIntegerNo1From 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.

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.