# Facebook Thumbnail Downloader (`solid-scraper/facebook-thumbnail-downloader`) Actor

📥 Facebook Thumbnail Downloader helps you save HD thumbnails fast and effortlessly! 🚀 Download, organize, and share visuals in seconds—perfect for marketers, creators, and social media managers. Get started now!

- **URL**: https://apify.com/solid-scraper/facebook-thumbnail-downloader.md
- **Developed by:** [SolidScraper](https://apify.com/solid-scraper) (community)
- **Categories:** Social media, Automation, Other
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.99 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

- **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 usage examples, see the [API](#api) section below.

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).

# README

### Facebook Thumbnail Downloader 📸

**Facebook Thumbnail Downloader** is an Apify actor that extracts thumbnail metadata from Facebook Reel URLs so you can quickly **download Facebook video thumbnail assets** and reuse them in previews, dashboards, reports, and content libraries. Whether you’re a marketer, analyst, or researcher looking for a reliable **Facebook post thumbnail downloader** workflow, this actor helps you find and save thumbnail URLs at scale—saving you hours of manual work.

***

### Why choose Facebook Thumbnail Downloader?

| Feature | Benefit |
| --- | --- |
| ✅ All-in-one Reel URL metadata scraping | Extracts thumbnail-related metadata directly from the Reel pages you provide |
| ✅ Built-in proxy support for reliable scraping | Improves consistency by letting you use Apify Proxy (recommended) |
| ✅ Structured dataset output | Saves results in a predictable dataset schema (including `thumbnail_url`) |
| ✅ Scale-friendly batch processing | Processes each URL from your `startUrls` list and pushes results to the dataset as it goes |
| ✅ Automation-ready output | Designed to feed downstream workflows that need **Facebook thumbnail URL** values |
| ✅ Resilient execution with error rows | Records failures per URL with an `error` field when metadata can’t be extracted |

***

### Key features

- 📥 **Reel URL input support**: Feed the actor a list of Facebook Reel URLs and it scrapes thumbnail metadata for each one
- 🌐 **Thumbnail URL extraction**: Returns a `thumbnail_url` field when available, making it easy to **extract Facebook thumbnail** links
- 🧾 **Clear uploader metadata**: Includes `uploader` derived from available source fields (e.g., uploader/channel)
- 💾 **Real-time dataset saving**: Each URL result is pushed immediately to the dataset so you don’t lose progress mid-run
- 🛡️ **Proxy configuration option**: Use `proxyConfiguration` to enable Apify Proxy (residential group is prefilled) for more reliable runs
- 🔄 **Multiple thumbnails handling**: Captures thumbnail candidates into a `thumbnails` array, including a duplication behavior when only one thumbnail is found
- 🚨 **Failure transparency**: If extraction fails for a specific URL, the actor still pushes an error record with the URL and error details

***

### Input

Provide input via an `input.json` file. Example structure:

```json
{
  "startUrls": [
    {
      "url": "https://www.facebook.com/reel/961695579768224"
    }
  ],
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

#### Input Fields

| Field | Required | Description |
| --- | --- | --- |
| `startUrls` | Yes | A list of Facebook Reel URLs (for example, `https://www.facebook.com/reel/961695579768224`). The actor iterates over this list and scrapes metadata per URL. |
| `proxyConfiguration` | No | Proxy settings to be used by the crawler. If enabled, the actor creates a proxy URL for the run. |
| `proxyConfiguration.proxy support` | No | When `true`, the actor uses Apify Proxy for scraping. |
| `proxyConfiguration.proxy support` | No | Proxy group selection used when creating the Apify Proxy configuration (pre-filled with `RESIDENTIAL` in the template). |

> Tip: If your goal is “download Facebook video thumbnail” at scale, enabling `proxyConfiguration` is recommended (the template already suggests residential proxies).

***

### Output

After execution, the actor saves each URL’s result in the dataset as JSON items (pushed with `Actor.push_data`).

Example output (success + multiple thumbnails handling):

```json
[
  {
    "url": "https://www.facebook.com/reel/961695579768224",
    "description": "Some reel description text here",
    "uploader": "Channel or uploader name",
    "thumbnail_url": "https://example.com/thumbnail.jpg",
    "thumbnails": [
      {
        "url": "https://example.com/thumbnail.jpg"
      },
      {
        "url": "https://example.com/thumbnail.jpg"
      }
    ]
  }
]
```

Example output (error record when metadata cannot be extracted):

```json
[
  {
    "url": "https://www.facebook.com/reel/961695579768224",
    "error": "No metadata returned"
  }
]
```

#### Output Fields

| Field | Type | Description |
| --- | --- | --- |
| `url` | string | The Reel URL used in the result (uses `info.webpage_url` when available, otherwise the input URL). |
| `description` | string | Description text extracted from the Reel page (empty string if missing). |
| `uploader` | string | Uploader name pulled from available fields (falls back to `Unknown` if none are present). |
| `thumbnail_url` | string | Primary thumbnail URL extracted from the source metadata (if available). |
| `thumbnails` | array | Array of thumbnail objects, each with a `url` key. |
| `thumbnails[].url` | string | Thumbnail URL candidate. |
| `error` | string | Present on failure records; contains the error message (or `No metadata returned` when nothing is returned). |

You can export the dataset from the Apify UI as JSON or CSV depending on your workflow needs.

***

### How to use Facebook Thumbnail Downloader (via Apify Console)

1. **Open Apify Console**\
   Log in at https://console.apify.com and go to the **Actors** section.

2. **Find Facebook Thumbnail Downloader**\
   Search for **Facebook Thumbnail Downloader** in the marketplace and open the actor details page.

3. **Add your Facebook Reel URLs**\
   In the **INPUT** panel, fill `startUrls` with one or more Facebook Reel URLs (the actor expects objects like `{ "url": "https://www.facebook.com/reel/..." }`).

4. **(Optional) Configure proxies**\
   Use `proxyConfiguration` if you want proxy support for your run. The template is prefilled to enable Apify Proxy with the `RESIDENTIAL` group.

5. **Click Run**\
   Start the actor. You’ll see logs indicating how many URLs it will scrape and which URLs are being processed.

6. **Monitor progress**\
   Results are pushed as each URL is processed, so you’ll get dataset items even if some URLs fail.

7. **Open the dataset output**\
   After the run finishes, go to the **OUTPUT** tab to view the dataset (table columns include `url`, `description`, `uploader`, and `thumbnail_url`).

8. **Export for downstream use**\
   Export your dataset to **JSON** or **CSV** and use the `thumbnail_url` values for your thumbnail gallery, previews, or content workflows.

No coding required—get accurate thumbnail URLs in minutes with **Facebook thumbnail download online** workflows.

***

### Advanced features & SEO optimization

- 🚀 **Facebook thumbnail download tool for Reel pages**: Optimized specifically around extracting thumbnail metadata from Facebook Reel URLs—useful when you need a **Facebook reel thumbnail downloader** workflow
- 🔍 **Designed to return `thumbnail_url` and thumbnails list**: Great for **Facebook thumbnail URL** lookups, thumbnail viewers, and automated thumbnail extraction pipelines
- 🧱 **Proxy-aware scraping configuration**: Lets you enable Apify Proxy via `proxyConfiguration`, which is helpful when processing larger batches
- 📝 **Structured output for easy reuse**: Results land in a predictable schema (`thumbnail_url`, `thumbnails`, `uploader`)—ideal for **Facebook post thumbnail downloader** use cases
- 💾 **Immediate persistence**: Each processed URL is pushed to the dataset as it completes, so the run is safer to interrupt and resume in practice

***

### Best use cases

- 📈 **Marketing teams building thumbnail libraries**: Quickly save Facebook thumbnails for campaign previews and creative QA
- 🧠 **Content researchers analyzing engagement assets**: Compare thumbnails and uploader metadata across many reels using consistent structured data
- 🛠️ **Analysts enriching datasets**: Attach `thumbnail_url` to your reel-level dataset for reporting dashboards
- 🔁 **Automation engineers powering media pipelines**: Feed **Facebook thumbnail extractor** results into downstream systems that render thumbnail previews
- 🎬 **Creators curating reposts and collections**: Build a repeatable list of thumbnail URLs for featured reel collections
- 🗂️ **Brand ops / social listening**: Maintain an up-to-date cache of thumbnails for recent reel topics and trends
- 📦 **Workflow designers making thumb viewers**: Use `thumbnails[].url` and `thumbnail_url` to build thumbnail viewer pages quickly

***

### Technical specifications

**Supported Input Formats**

- ✅ `startUrls` as an array of objects with a `url` field (Facebook Reel URLs like `https://www.facebook.com/reel/...`)
- ✅ Bulk processing by providing multiple `startUrls` entries in one run

**Proxy Support**

- ✅ `proxyConfiguration` object
- ✅ `proxyConfiguration.proxy support` to enable Apify Proxy
- ✅ `proxyConfiguration.proxy support` for proxy group selection (pre-filled with `RESIDENTIAL`)

**Retry Mechanism**

- ❌ Not specified in the available actor code/schema. (The actor does push error results per URL when extraction fails.)

**Dataset Structure**

- ✅ Saved to Apify Dataset named **Facebook Reel Data**
- ✅ Default view shows: `url`, `description`, `uploader`, `thumbnail_url`

**Rate Limits & Performance**

- ✅ Batch size scales with how many items you put into `startUrls`
- ✅ Each URL is processed and pushed to the dataset as it completes

**Limitations**

- ❌ If thumbnail metadata can’t be extracted for a URL, the actor pushes an item containing `error` (and `thumbnail_url` won’t be present for that record)

***

### FAQ

#### Does Facebook Thumbnail Downloader download the actual image files?

No. The actor extracts and saves thumbnail URLs and related metadata (for example `thumbnail_url` and the `thumbnails` list) into the dataset. You can then use the URLs in your own download or rendering workflow.

#### What do I need to provide as input?

You need to provide `startUrls`, which is a list of Facebook Reel URLs. Each item should include the `url` field (for example `https://www.facebook.com/reel/961695579768224`).

#### How does the proxyConfiguration help?

The actor lets you pass `proxyConfiguration` to enable Apify Proxy. When enabled, it creates a proxy URL used for the run, which can improve reliability for larger batches.

#### Where can I see the results?

Open the **OUTPUT** tab in Apify Console to view the **Facebook Reel Data** dataset. The default dataset table includes `url`, `description`, `uploader`, and `thumbnail_url`.

#### Can I get thumbnails from multiple reels in one run?

Yes. Add multiple Reel URLs to the `startUrls` array. The actor processes each one and pushes results to the dataset as it goes.

#### What happens if a Reel URL fails to extract metadata?

For that specific URL, the actor still pushes a dataset item containing `url` and an `error` field (for example `"No metadata returned"` or the exception message).

#### Can I integrate this into an API or Python workflow?

Yes. Since the actor pushes structured items to the Apify dataset, you can export the dataset or connect it to your existing automation pipeline using Apify’s standard dataset output approach.

#### Is it meant for Facebook thumbnail URL extraction only?

It’s specifically built around extracting thumbnail-related metadata from provided Facebook Reel URLs—useful for **Facebook thumbnail extractor** and **Facebook thumbnail download tool** style workflows, including cover-style thumbnail use cases in your own downstream processing.

***

### Support & feature requests

Want to improve **Facebook Thumbnail Downloader** for your **Facebook thumbnail downloader** workflow? Share your feedback and ideas!

- 💡 **Feature Requests**: For example, adding easier-to-consume exports (like richer CSV formatting), additional thumbnail fields, or enhancements to better normalize uploader/description formatting for downstream tools
- 📧 **Contact**: Email <dataforleads@gmail.com> for help or questions
- Your feedback helps shape the roadmap for future improvements to this Facebook thumbnail download online experience

***

### Closing CTA / Final thoughts

*Get the most complete, structured results for Facebook thumbnail extraction—fast.* With **Facebook Thumbnail Downloader**, your **download Facebook video thumbnail** and preview workflows can scale with minimal effort.

***

### Disclaimer

**This tool only accesses publicly accessible sources.** It does not access private profiles, authenticated data, or password-protected pages.

You are responsible for complying with applicable laws and regulations (including GDPR and CCPA where relevant), as well as platform terms of service, spam regulations, and any other applicable usage policies. Use this actor responsibly, ethically, and for legitimate purposes only.

For data removal requests, contact <dataforleads@gmail.com>.

# Actor input Schema

## `startUrls` (type: `array`):

List of Facebook Reel URLs (e.g., https://www.facebook.com/reel/961695579768224).

## `proxyConfiguration` (type: `object`):

Select proxies to be used by your crawler.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://www.facebook.com/reel/961695579768224"
    }
  ],
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "startUrls": [
        {
            "url": "https://www.facebook.com/reel/961695579768224"
        }
    ],
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("solid-scraper/facebook-thumbnail-downloader").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "startUrls": [{ "url": "https://www.facebook.com/reel/961695579768224" }],
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("solid-scraper/facebook-thumbnail-downloader").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "startUrls": [
    {
      "url": "https://www.facebook.com/reel/961695579768224"
    }
  ],
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}' |
apify call solid-scraper/facebook-thumbnail-downloader --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=solid-scraper/facebook-thumbnail-downloader",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/z83p5cQyFwxFf3pq2/builds/gVQpLowJvcs7tEZqf/openapi.json
