# Link Facebook photos to their albums and source posts

**Use case:** 

Collect album identifiers, related post links, post text, and owner information from known public Facebook photos. Prepare relationship records that connect an image to the context Facebook exposes, without crawling the full album or neighboring photos.

## Input

```json
{
  "inputList": [
    "https://www.facebook.com/photo/?fbid=1100421822647027"
  ]
}
```

## Output

```json
{
  "input": {
    "label": "Input",
    "format": "string"
  },
  "status": {
    "label": "Status",
    "format": "string"
  },
  "id": {
    "label": "ID",
    "format": "string"
  },
  "url": {
    "label": "URL",
    "format": "string"
  },
  "type": {
    "label": "Type",
    "format": "string"
  },
  "image_url": {
    "label": "Image URL",
    "format": "string"
  },
  "thumbnail_url": {
    "label": "Thumbnail URL",
    "format": "string"
  },
  "alt_text": {
    "label": "Alt Text",
    "format": "string"
  },
  "width": {
    "label": "Width",
    "format": "integer"
  },
  "height": {
    "label": "Height",
    "format": "integer"
  },
  "timestamp": {
    "label": "Timestamp",
    "format": "integer"
  },
  "published_at": {
    "label": "Published At",
    "format": "string"
  },
  "owner.id": {
    "label": "Owner / ID",
    "format": "text"
  },
  "owner.page_id": {
    "label": "Owner / Page ID",
    "format": "text"
  },
  "owner.username": {
    "label": "Owner / Username",
    "format": "text"
  },
  "owner.name": {
    "label": "Owner / Name",
    "format": "text"
  },
  "owner.url": {
    "label": "Owner / URL",
    "format": "link"
  },
  "owner.profile_picture_url": {
    "label": "Owner / Profile Picture URL",
    "format": "image"
  },
  "owner.is_verified": {
    "label": "Owner / Is Verified",
    "format": "boolean"
  },
  "caption": {
    "label": "Caption",
    "format": "string"
  },
  "post_id": {
    "label": "Post ID",
    "format": "string"
  },
  "post_url": {
    "label": "Post URL",
    "format": "string"
  },
  "album_id": {
    "label": "Album ID",
    "format": "string"
  },
  "album_type": {
    "label": "Album Type",
    "format": "string"
  },
  "reactions_count": {
    "label": "Reactions Count",
    "format": "integer"
  },
  "comments_count": {
    "label": "Comments Count",
    "format": "integer"
  },
  "shares_count": {
    "label": "Shares Count",
    "format": "integer"
  },
  "reactions.id": {
    "label": "Reactions / ID",
    "format": "array"
  },
  "reactions.type": {
    "label": "Reactions / Type",
    "format": "array"
  },
  "reactions.count": {
    "label": "Reactions / Count",
    "format": "array"
  },
  "tags.id": {
    "label": "Tags / ID",
    "format": "array"
  },
  "tags.page_id": {
    "label": "Tags / Page ID",
    "format": "array"
  },
  "tags.username": {
    "label": "Tags / Username",
    "format": "array"
  },
  "tags.name": {
    "label": "Tags / Name",
    "format": "array"
  },
  "tags.url": {
    "label": "Tags / URL",
    "format": "array"
  },
  "tags.profile_picture_url": {
    "label": "Tags / Profile Picture URL",
    "format": "array"
  },
  "tags.is_verified": {
    "label": "Tags / Is Verified",
    "format": "array"
  },
  "tags.x": {
    "label": "Tags / X",
    "format": "array"
  },
  "tags.y": {
    "label": "Tags / Y",
    "format": "array"
  },
  "product_tags.id": {
    "label": "Product Tags / ID",
    "format": "array"
  },
  "product_tags.name": {
    "label": "Product Tags / Name",
    "format": "array"
  },
  "product_tags.url": {
    "label": "Product Tags / URL",
    "format": "array"
  },
  "previous_photo.id": {
    "label": "Previous Photo / ID",
    "format": "text"
  },
  "previous_photo.type": {
    "label": "Previous Photo / Type",
    "format": "text"
  },
  "previous_photo.url": {
    "label": "Previous Photo / URL",
    "format": "link"
  },
  "next_photo.id": {
    "label": "Next Photo / ID",
    "format": "text"
  },
  "next_photo.type": {
    "label": "Next Photo / Type",
    "format": "text"
  },
  "next_photo.url": {
    "label": "Next Photo / URL",
    "format": "link"
  },
  "post.id": {
    "label": "Post / ID",
    "format": "text"
  },
  "post.story_id": {
    "label": "Post / Story ID",
    "format": "text"
  },
  "post.url": {
    "label": "Post / URL",
    "format": "link"
  },
  "post.type": {
    "label": "Post / Type",
    "format": "text"
  },
  "post.message": {
    "label": "Post / Message",
    "format": "text"
  },
  "post.timestamp": {
    "label": "Post / Timestamp",
    "format": "number"
  },
  "post.published_at": {
    "label": "Post / Published At",
    "format": "date"
  },
  "post.reactions_count": {
    "label": "Post / Reactions Count",
    "format": "number"
  },
  "post.comments_count": {
    "label": "Post / Comments Count",
    "format": "number"
  },
  "post.shares_count": {
    "label": "Post / Shares Count",
    "format": "number"
  },
  "post.views_count": {
    "label": "Post / Views Count",
    "format": "number"
  },
  "post.image_url": {
    "label": "Post / Image URL",
    "format": "image"
  },
  "post.thumbnail_url": {
    "label": "Post / Thumbnail URL",
    "format": "image"
  },
  "post.video_url": {
    "label": "Post / Video URL",
    "format": "link"
  },
  "post.feedback_id": {
    "label": "Post / Feedback ID",
    "format": "text"
  },
  "post.is_sponsored": {
    "label": "Post / Is Sponsored",
    "format": "boolean"
  },
  "post.is_pinned": {
    "label": "Post / Is Pinned",
    "format": "boolean"
  },
  "post.author.id": {
    "label": "Post / Author / ID",
    "format": "text"
  },
  "post.author.page_id": {
    "label": "Post / Author / Page ID",
    "format": "text"
  },
  "post.author.username": {
    "label": "Post / Author / Username",
    "format": "text"
  },
  "post.author.name": {
    "label": "Post / Author / Name",
    "format": "text"
  },
  "post.author.url": {
    "label": "Post / Author / URL",
    "format": "link"
  },
  "post.author.profile_picture_url": {
    "label": "Post / Author / Profile Picture URL",
    "format": "image"
  },
  "post.author.is_verified": {
    "label": "Post / Author / Is Verified",
    "format": "boolean"
  },
  "post.reactions.id": {
    "label": "Post / Reactions / ID",
    "format": "array"
  },
  "post.reactions.type": {
    "label": "Post / Reactions / Type",
    "format": "array"
  },
  "post.reactions.count": {
    "label": "Post / Reactions / Count",
    "format": "array"
  },
  "post.media.id": {
    "label": "Post / Media / ID",
    "format": "array"
  },
  "post.media.type": {
    "label": "Post / Media / Type",
    "format": "array"
  },
  "post.media.url": {
    "label": "Post / Media / URL",
    "format": "array"
  },
  "post.media.image_url": {
    "label": "Post / Media / Image URL",
    "format": "array"
  },
  "post.media.thumbnail_url": {
    "label": "Post / Media / Thumbnail URL",
    "format": "array"
  },
  "post.media.video_url_hd": {
    "label": "Post / Media / Video URL HD",
    "format": "array"
  },
  "post.media.video_url_sd": {
    "label": "Post / Media / Video URL SD",
    "format": "array"
  },
  "post.media.dash_manifest_url": {
    "label": "Post / Media / Dash Manifest URL",
    "format": "array"
  },
  "post.media.dash_manifest": {
    "label": "Post / Media / Dash Manifest",
    "format": "array"
  },
  "post.media.duration_ms": {
    "label": "Post / Media / Duration Ms",
    "format": "array"
  },
  "post.media.width": {
    "label": "Post / Media / Width",
    "format": "array"
  },
  "post.media.height": {
    "label": "Post / Media / Height",
    "format": "array"
  },
  "post.media.alt_text": {
    "label": "Post / Media / Alt Text",
    "format": "array"
  },
  "post.media.captions_url": {
    "label": "Post / Media / Captions URL",
    "format": "array"
  }
}
```

## About this Actor

This example demonstrates how to use [Facebook Photo Details Scraper – Captions & Tags](https://apify.com/scrapingmonkey/facebook-photo-details-scraper.md) with a specific input configuration. Visit the [Actor detail page](https://apify.com/scrapingmonkey/facebook-photo-details-scraper.md) to learn more, explore other use cases, and run it yourself.


## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
This Task's input is already configured above — use it as-is rather than inventing a new one.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For full API examples (JavaScript, Python, CLI, MCP, OpenAPI), see this Task's Actor page: https://apify.com/scrapingmonkey/facebook-photo-details-scraper.md

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).
