# Facebook Reels Scraper (`krazee_kaushik/facebook-reels-scraper`) Actor

Scrape Facebook Reels with comments from multiple profiles and pages. Extract 50+ Reels per minute and collect hundreds of comments for every Reel in seconds with configurable limits and sorting. Costs just $2 per 1,000 Reels. No login, cookies, or API keys required.

- **URL**: https://apify.com/krazee\_kaushik/facebook-reels-scraper.md
- **Developed by:** [Krazee](https://apify.com/krazee_kaushik) (community)
- **Categories:** Social media, Videos, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.00 / 1,000 reel scrapeds

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js/docs.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/integrations/mcp.md).

If your project is in a different language, use 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

### 📘 What is Facebook Reels Scraper?

Facebook Reels Scraper helps you scrape reels from public [Facebook](https://www.facebook.com) profiles and pages. 

By automating the extraction of both reels and their comment threads in a single pass, it allows you to collect content and engagement metrics together without managing separate workflows. 

Simply provide one or more Facebook usernames, profile URLs, or page URLs, choose how many reels to collect, and click **"Save & Start"** to begin scraping Facebook reels and comments.

---

### ⭐ Why Use This Actor?

- 💬 **Reels + Comments Together:** Collect public Reels and their comments in a single run without using a separate comments scraper.

- ⚡ **Fast Comment Collection:** Collect hundreds of comments per Reel in seconds using API-based extraction and optimized session management.

- 🔓 **No Login Required:** No Facebook accounts, cookies, sessions, API keys, or manual setup needed.

- ⏯️ **Built-in Apify Resurrect Support:** Continue interrupted jobs from where they stopped instead of starting over.

- 💰 **Affordable Pricing:** Starting at just **$2 per 1,000 Reels**.

---

### 📊 What Data Can You Extract?

| Category | Included Data |
|---|---|
| **🎥 Reel Basics** | Reel ID, Post ID, video ID, direct Reel URL, downloadable video link, caption text, text mentions/tags, play/view count, engagement metrics (*Likes, Comments, Shares*), and posting/scraping timestamps |
| **👤 Creator Details** | Creator name, username/handle, profile URL, profile picture link, account ID, verification status, and sponsor/brand relationship details |
| **🎵 Audio & Music** | Detailed soundtrack metadata including track ID, soundtrack ID, title, audio type (*Original Audio vs. Library Music*), original audio flags, and owner/creator type |
| **🤖 AI Transparency** | AI-generated content detection metadata and creator self-disclosure labels |
| **💬 Comments** | Comment ID, legacy Facebook comment ID, direct comment URL, comment text, depth, publish timestamp, reply count, attachment metadata, and expansion tokens |
| **👤 Commenter Info** | Commenter name, short name, profile URL, profile picture link, account ID, verification status, and original poster (OP) flag |
| **❤️ Comment Reactions** | Total reaction count and breakdown by reaction type (*Likes, Loves, Cares, Hahas, Wows, Sads, Angries*) per comment |

---

#### 📦 Video & Media Information

Each Reel includes detailed technical metadata to help you stream, view, and analyze video assets:

- **🎬 Video Files**: Direct links to downloadable Reel video files in both High Definition (HD) and Standard Definition (SD) resolutions.
- **🖼️ Cover & Thumbnail**: Direct link to the Reel's thumbnail image.
- **📐 Video Dimensions**: Exact video width and height in pixels.
- **⏱️ Video Duration**: Total playable video length in both seconds (`lengthInSeconds`) and milliseconds (`playableDurationInMs`).
- **🔁 Playback Properties**: Session loop counts, looping flags, and prefetch configuration references (`dashPrefetchExperimental`).
- **ℹ️ Video Metadata**: Additional flags including live-streaming status, concurrent live viewer count, gaming content tags, spherical/360-video status, accessibility captions, available subtitle/caption locales, DASH manifest XML, and original creation timestamps.

---

### 🚀 How to Scrape Facebook Reels

Copy one of the examples below into the actor input, customize it for your needs, and click **"Save & Start"**.

The actor will collect the requested Facebook data and store the results in an Apify dataset that can be exported to JSON, CSV, Excel, XML, RSS, HTML, and other supported formats.

#### Scrape Reels Only

Use this example to collect reels from a public Facebook profile or page.

```json
{
  "profiles": [
    "https://www.facebook.com/facebook/"
    // Facebook profile URLs, page URLs, usernames, or profile.php?id=... URLs are supported
  ]
}
````

#### Scrape Reels With Comments

Enable comments scraping to collect comments together with each post.

```json
{
  "profiles": [
    "https://www.facebook.com/facebook/"
  ],
  "resultsPerProfile": 50,
  "includeComments": true,
  "commentsSortOrder": "RANKED_FILTERED_INTENT_V1",
  "commentsLimit": 20
}
```

***

### 📥 Sample Output

```json
    {
    "postId": "1579570524214962",
    "url": "https://www.facebook.com/reel/1045590568224650/",
    "downloadable_url": "https://video-ord5-1.xx.fbcdn.net/o1/v/t2/f2/m366/AQNAHkBJFmLacaWWBDjjPeRj-Ui3TJdU6asuLrl61ZFUwxGzSnop9UVfyNSe26IwFA6GXF8ChQF2PPL_WjHUAmpJyh3Kg4xP-M-dQ0AAcr9RKQ.mp4?_nc_cat=101&_nc_sid=5e9851&_nc_ht=video-ord5-1.xx.fbcdn.net&_nc_ohc=uUlXBdfoA_UQ7kNvwEPvmFf&efg=eyJ2ZW5jb2RlX3RhZyI6Inhwdl9wcm9ncmVzc2l2ZS5GQUNFQk9PSy4uQzMuNzIwLmRhc2hfaDI2NC1iYXNpYy1nZW4yXzcyMHAiLCJ4cHZfYXNzZXRfaWQiOjEwMDY1MDcxMzg5MjU3MzUsImFzc2V0X2FnZV9kYXlzIjo0LCJ2aV91c2VjYXNlX2lkIjoxMDEyMiwiZHVyYXRpb25fcyI6MjcsInVybGdlbl9zb3VyY2UiOiJ3d3cifQ%3D%3D&ccb=17-1&vs=4e0564a678d37f6d&_nc_vs=HBksFQIYRWZiX2VwaGVtZXJhbC82QjQyNjgxNEU0OURCMDlENjFBQTEwN0ZBNDg2QkJCNF9tdF8xX3ZpZGVvX2Rhc2hpbml0Lm1wNBUAAsgBEgAVAhhAZmJfcGVybWFuZW50LzA0NDI5NDFDQzlCRjNFODhGMUE5NUY5NDFDMTRCOThEX2F1ZGlvX2Rhc2hpbml0Lm1wNBUCAsgBEgAoABgAGwKIB3VzZV9vaWwBMRJwcm9ncmVzc2l2ZV9yZWNpcGUBMRUAACbOktbHttrJAxUCKAJDMywXQDtVP3ztkWgYGWRhc2hfaDI2NC1iYXNpYy1nZW4yXzcyMHARAHUCZZSeAQA&_nc_gid=K4tdtHzRh4ziRZmEyjKEHw&_nc_ss=79289&_nc_zt=28&oh=00_AQDhhawI_6amzG_EpSRlwJn4f4DoQe_MapjEV8qr4mV6Jw&oe=6A6506D3&bitrate=3063403&tag=dash_h264-basic-gen2_720p",
    "createdAt": 1784226345,
    "scrapedAt": "2026-07-21T10:13:54.800222Z",
    "authorId": "100064860875397",
    "authorName": "Facebook",
    "authorUsername": "facebook",
    "authorUrl": "https://www.facebook.com/facebook",
    "authorProfileImage": "https://scontent-ord5-1.xx.fbcdn.net/v/t39.30808-1/380700650_10162533193146729_2379134611963304810_n.jpg?stp=cp0_dst-jpg_s40x40_tt6&_nc_cat=1&ccb=1-7&_nc_sid=2d3e12&_nc_ohc=p1M_vkqs21YQ7kNvwHvCr6c&_nc_oc=Adru9DJIq3KJ7tq8Y0P9g3xlc8tYtVUjUzXGeeBSVG_WKLw_v8Oblra6XCcR5TbEhsWWu5K36ZXT7skXauKEpZ2S&_nc_zt=24&_nc_ht=scontent-ord5-1.xx&_nc_gid=K4tdtHzRh4ziRZmEyjKEHw&_nc_ss=79289&oh=00_AQCjll18TXPnCjvdLmELQ2RV6KafPa2AnmaXKL8PYvftGA&oe=6A6531CE",
    "authorVerified": true,
    "ai_generated_detected_info": [
      {
        "was_detected_as_ai_generated": false,
        "gen_ai_transparency_type": "NONE",
        "ai_character_subtitle": null
      }
    ],
    "ai_generated_self_disclosure_renderer": null,
    "audio": [
      {
        "id": "1045590568224650",
        "soundtrackId": "8387727957994643",
        "title": "Diky Yan · Gasolina",
        "type": "LIBRARY_MUSIC",
        "isOriginalAudio": true,
        "ownerType": "FACEBOOK_USER"
      }
    ],
    "text": "I don't go anywhere without my co-star. We're a franchise\n\nVideo by Benji The Bernedoodle\nMusic by Diky Yan",
    "mentions": [
      {
        "id": "100063586809847",
        "type": "User",
        "url": "https://www.facebook.com/lilmanlife",
        "mobileUrl": "https://m.facebook.com/lilmanlife/",
        "offset": 68,
        "length": 21
      }
    ],
    "playCount": "2.3M",
    "likes": 19094,
    "commentCount": 1660,
    "reducedShareCount": "918",
    "reactionCount": 19094,
    "audioTrack": "Diky Yan · Gasolina",
    "sponsorRelationship": 0,
    "videoId": "1045590568224650",
    "videoLiveViewerCount": null,
    "media": [
      {
        "__typename": "Video",
        "id": "1045590568224650",
        "url": "https://video-ord5-1.xx.fbcdn.net/o1/v/t2/f2/m366/AQNAHkBJFmLacaWWBDjjPeRj-Ui3TJdU6asuLrl61ZFUwxGzSnop9UVfyNSe26IwFA6GXF8ChQF2PPL_WjHUAmpJyh3Kg4xP-M-dQ0AAcr9RKQ.mp4?_nc_cat=101&_nc_sid=5e9851&_nc_ht=video-ord5-1.xx.fbcdn.net&_nc_ohc=uUlXBdfoA_UQ7kNvwEPvmFf&efg=eyJ2ZW5jb2RlX3RhZyI6Inhwdl9wcm9ncmVzc2l2ZS5GQUNFQk9PSy4uQzMuNzIwLmRhc2hfaDI2NC1iYXNpYy1nZW4yXzcyMHAiLCJ4cHZfYXNzZXRfaWQiOjEwMDY1MDcxMzg5MjU3MzUsImFzc2V0X2FnZV9kYXlzIjo0LCJ2aV91c2VjYXNlX2lkIjoxMDEyMiwiZHVyYXRpb25fcyI6MjcsInVybGdlbl9zb3VyY2UiOiJ3d3cifQ%3D%3D&ccb=17-1&vs=4e0564a678d37f6d&_nc_vs=HBksFQIYRWZiX2VwaGVtZXJhbC82QjQyNjgxNEU0OURCMDlENjFBQTEwN0ZBNDg2QkJCNF9tdF8xX3ZpZGVvX2Rhc2hpbml0Lm1wNBUAAsgBEgAVAhhAZmJfcGVybWFuZW50LzA0NDI5NDFDQzlCRjNFODhGMUE5NUY5NDFDMTRCOThEX2F1ZGlvX2Rhc2hpbml0Lm1wNBUCAsgBEgAoABgAGwKIB3VzZV9vaWwBMRJwcm9ncmVzc2l2ZV9yZWNpcGUBMRUAACbOktbHttrJAxUCKAJDMywXQDtVP3ztkWgYGWRhc2hfaDI2NC1iYXNpYy1nZW4yXzcyMHARAHUCZZSeAQA&_nc_gid=K4tdtHzRh4ziRZmEyjKEHw&_nc_ss=79289&_nc_zt=28&oh=00_AQDhhawI_6amzG_EpSRlwJn4f4DoQe_MapjEV8qr4mV6Jw&oe=6A6506D3&bitrate=3063403&tag=dash_h264-basic-gen2_720p",
        "thumbnail": "https://scontent-ord5-2.xx.fbcdn.net/v/t15.5256-10/746557344_1355004372655258_6819556918063074838_n.jpg?stp=dst-jpg_s960x960_tt6&_nc_cat=110&ccb=1-7&_nc_sid=d2b52d&_nc_ohc=oKdOSOOUdPcQ7kNvwEKLNt8&_nc_oc=AdqoYpqkcFB80Gxz4KfeEQridxrGmbHyQ86YxJfi4JycPsmrDs_EHGT639CRN70CqzT2U2iTe0G6eqQjPmNiV2Y8&_nc_zt=23&_nc_ht=scontent-ord5-2.xx&_nc_gid=K4tdtHzRh4ziRZmEyjKEHw&_nc_ss=79289&oh=00_AQD1fDIO9MNg6rsA6O43GjlypeW1aJUI0LmFOoSWoeF_7Q&oe=6A650B43",
        "width": 1080,
        "height": 1920,
        "playableDurationInMs": 27333,
        "lengthInSeconds": 27.333,
        "isLooping": true,
        "accessibilityCaption": null,
        "browserNativeHdUrl": "https://video-ord5-1.xx.fbcdn.net/o1/v/t2/f2/m366/AQNAHkBJFmLacaWWBDjjPeRj-Ui3TJdU6asuLrl61ZFUwxGzSnop9UVfyNSe26IwFA6GXF8ChQF2PPL_WjHUAmpJyh3Kg4xP-M-dQ0AAcr9RKQ.mp4?_nc_cat=101&_nc_sid=5e9851&_nc_ht=video-ord5-1.xx.fbcdn.net&_nc_ohc=uUlXBdfoA_UQ7kNvwEPvmFf&efg=eyJ2ZW5jb2RlX3RhZyI6Inhwdl9wcm9ncmVzc2l2ZS5GQUNFQk9PSy4uQzMuNzIwLmRhc2hfaDI2NC1iYXNpYy1nZW4yXzcyMHAiLCJ4cHZfYXNzZXRfaWQiOjEwMDY1MDcxMzg5MjU3MzUsImFzc2V0X2FnZV9kYXlzIjo0LCJ2aV91c2VjYXNlX2lkIjoxMDEyMiwiZHVyYXRpb25fcyI6MjcsInVybGdlbl9zb3VyY2UiOiJ3d3cifQ%3D%3D&ccb=17-1&vs=4e0564a678d37f6d&_nc_vs=HBksFQIYRWZiX2VwaGVtZXJhbC82QjQyNjgxNEU0OURCMDlENjFBQTEwN0ZBNDg2QkJCNF9tdF8xX3ZpZGVvX2Rhc2hpbml0Lm1wNBUAAsgBEgAVAhhAZmJfcGVybWFuZW50LzA0NDI5NDFDQzlCRjNFODhGMUE5NUY5NDFDMTRCOThEX2F1ZGlvX2Rhc2hpbml0Lm1wNBUCAsgBEgAoABgAGwKIB3VzZV9vaWwBMRJwcm9ncmVzc2l2ZV9yZWNpcGUBMRUAACbOktbHttrJAxUCKAJDMywXQDtVP3ztkWgYGWRhc2hfaDI2NC1iYXNpYy1nZW4yXzcyMHARAHUCZZSeAQA&_nc_gid=K4tdtHzRh4ziRZmEyjKEHw&_nc_ss=79289&_nc_zt=28&oh=00_AQDhhawI_6amzG_EpSRlwJn4f4DoQe_MapjEV8qr4mV6Jw&oe=6A6506D3&bitrate=3063403&tag=dash_h264-basic-gen2_720p",
        "browserNativeSdUrl": "https://video-ord5-1.xx.fbcdn.net/o1/v/t2/f2/m412/AQPZMc4YINOiGiP6cxPF14vO6VdgtKKeKkXV2j1WsSpAy8ysHYQCB21BXB4FXQdxgqY9aJRLLNVu6qiO0j2wrSSXzS0T1mgwgVkol4JWIA.mp4?_nc_cat=106&_nc_sid=8bf8fe&_nc_ht=video-ord5-1.xx.fbcdn.net&_nc_ohc=s2AsVSUvbPoQ7kNvwGwcPEL&efg=eyJ2ZW5jb2RlX3RhZyI6Inhwdl9wcm9ncmVzc2l2ZS5GQUNFQk9PSy4uQzMuMzYwLnN2ZV9zZCIsInhwdl9hc3NldF9pZCI6MTAwNjUwNzEzODkyNTczNSwiYXNzZXRfYWdlX2RheXMiOjQsInZpX3VzZWNhc2VfaWQiOjEwMTIyLCJkdXJhdGlvbl9zIjoyNywidXJsZ2VuX3NvdXJjZSI6Ind3dyJ9&ccb=17-1&_nc_gid=K4tdtHzRh4ziRZmEyjKEHw&_nc_ss=79289&_nc_zt=28&oh=00_AQDAKk8WFTG8oc2sAXiEiFCRcPQg14u-rOOwPFpWbbOl_w&oe=6A6521BC&bitrate=622013&tag=sve_sd",
        "dashManifest": null,
        "dashPrefetchExperimental": [
          "1006516988924750v",
          "1006507498925699a"
        ],
        "captionsAvailableLocales": [],
        "liveViewerCount": null,
        "publishTime": 1784226345,
        "isLiveStreaming": false,
        "isGamingVideo": false,
        "loopCount": 3,
        "isSpherical": false
      }
    ],
    "comments": [   
      {
        "commentId": "Y29tbWVudDoxNTc5NTcwNTI0MjE0OTYyXzM5NTYxNTk2MzQ2Nzc3OTk=",
        "commentFbid": "3956159634677799",
        "url": "https://www.facebook.com/reel/1045590568224650/?comment_id=3956159634677799",
        "text": "Oh Man, Now my dog thinks I have to do the same thing!! Way to go!!",
        "createdAt": 1784231252,
        "depth": 0,
        "authorId": "pfbid02vwUQHD2Spsezag8Qb4kitEME5y6xv31tDrJpS1tdPEybz85X8xdTZVUinYaSZksdl",
        "authorName": "Sandra Van Tol",
        "authorShortName": null,
        "authorUrl": null,
        "authorProfileImage": "https://scontent-ord5-2.xx.fbcdn.net/v/t39.30808-1/475115401_10161229458093601_5026501202404517464_n.jpg?stp=cp6_dst-jpg_s32x32_tt6&_nc_cat=103&ccb=1-7&_nc_sid=e99d92&_nc_ohc=eLYdQGO_5EcQ7kNvwFAywzn&_nc_oc=AdphlAX9zet3-37Qc4XvrD79byluAi1vqih1OmKE8aePSglNY8Bw70a0WZRV6Sp0Dd0&_nc_zt=24&_nc_ht=scontent-ord5-2.xx&_nc_gid=q8n69P1wDzZRytQ_DkKfxA&_nc_ss=79289&oh=00_AQB1SHpWGEjvz4vKat1yKd8xDFkksAW6s88AF9g_aFoMIg&oe=6A651EB1",
        "authorVerified": false,
        "isAuthorOriginalPoster": null,
        "reactionCount": 29,
        "reactionBreakdown": {
          "like": 26,
          "love": 0,
          "care": 0,
          "haha": 3,
          "wow": 0,
          "sad": 0,
          "angry": 0
        },
        "replyCount": 0,
        "attachments": [],
        "hasMoreReplies": true,
        "repliesCursor": null,
        "expansionToken": "MjoxNzg0NjI4ODMxOgF_vQZ21mq6oNDQI01ZdcjErKQFsLbexIhs8qHNJ0jSO23QtSNtbbgqx5JDgLTC1RY9Aae59tPspkp8CWuWq1pV23v1hBfh8yNeLwiLIjNgBeqQRY_Bn9frpIITWtaeZiArtE9P0wIKMIOX9EJUthsESDz-ZZZEo2EA88oOFJR1vYuQtn0vHm4LHGAaZNXds21CA7ztrJD75yfSMF3CXhrkOWqBGg7dN8lOUB16gpeX-eyN48EOjyqp7dDqartCmCcEkunW9BH0sVmsKcs1tsfB6skSaoZxFK4FcncpW53a59bhaDHdH8xVyBhGjHns7wJYkYl5q_ArHbZhf6__A0jhWssQ06VNn3JuofPXtv4ybFMOp0VrdtBxFNzrA5smJG54RshbW5hAK6VZKLHYjCexadlvhzpaGOpyyJce-48TOXI7FTif-iLmQDxpbELqq0ZxJEFCfKftONE5qAEYffbyVDZKZTNHjEQ-UfP5CrK-Mhri8LhcWehAhpBrXdYveviHlBjdJvdlq8Cba3Sx_MvT_scEpiBgrne3ODSg-nUC860JJmyaLX0lrgRFe-qtY6HYNP2jxzNSkZexZql3aTDQByZHjw58vENNkPVkLluODnxyM5NF0cNax3u8Ukw3NkWcZrPpxfczbGiQ9bBfnQo0zGPc2OU",
        "replies": []
      },
      {
        "commentId": "Y29tbWVudDoxNTc5NTcwNTI0MjE0OTYyXzEwMjgzNzcyNDk2NzQ1MDU=",
        "commentFbid": "1028377249674505",
        "url": "https://www.facebook.com/reel/1045590568224650/?comment_id=1028377249674505",
        "text": "Warning: this post may contain excessive cute dog content 🐾",
        "createdAt": 1784228397,
        "depth": 0,
        "authorId": "100024503626503",
        "authorName": "R S Abdullah",
        "authorShortName": null,
        "authorUrl": "https://www.facebook.com/showrabmd60",
        "authorProfileImage": "https://scontent-ord5-1.xx.fbcdn.net/v/t39.30808-1/601850287_2174253423401424_2235171223541996310_n.jpg?stp=cp0_dst-jpg_s32x32_tt6&_nc_cat=108&ccb=1-7&_nc_sid=1d2534&_nc_ohc=_TBBQA5FcAMQ7kNvwHavG-B&_nc_oc=AdrQGY2bcwetRzoExS20YRlULvxnIOqJp82tRTWMKyl2Tb1c53MB8aGAVd3zMyfyHz8&_nc_zt=24&_nc_ht=scontent-ord5-1.xx&_nc_gid=q8n69P1wDzZRytQ_DkKfxA&_nc_ss=79289&oh=00_AQC_2OYLo3MxXmHf_Tv2vrxp7Ssl4ME3Fc5dpnTe6ev3Tw&oe=6A64FD71",
        "authorVerified": false,
        "isAuthorOriginalPoster": null,
        "reactionCount": 29,
        "reactionBreakdown": {
          "like": 26,
          "love": 3,
          "care": 0,
          "haha": 0,
          "wow": 0,
          "sad": 0,
          "angry": 0
        },
        "replyCount": 0,
        "attachments": [],
        "hasMoreReplies": true,
        "repliesCursor": null,
        "expansionToken": "MjoxNzg0NjI4ODMxOgF_RXjJ9wr_EIaOWzLcxhMluY8RnqXy964gjgueidZAVHlHfpz3NSPhsgHfU3qoe8d4Xq3gpF39FpUH9BKg6doxA_AC4LfLoewKYayOh_QiWioX4eCbgbQQhgH3oVKmiPbXESDpbuFnfDTn63lnrLKke3Hzfcme9s8aKrrYC-GuofGja3wCObIvOmuhi27_4pAvmxuSyqFjdsfO-csOEyouotns5tJkDyyyz7KnaoaIEXvkHGc7mALHh39gebNQjDgBQFzpjzS8xTaA6060qG4HnMDhcksM_1nIfvww1NVE2wHlfPRQkNqDfnYdlwCJRrCTJzByJNFQRjPBNLCQu-_xx7-QHRJTBjBG-bMtQhJvj3RhHM6DVe1Xj7kqGOFve8N_qwbgGcw_L7wGJ6x6mVGKcyFqM34IFWsnf4f9u8svHvKjRqvqzbtNDICjJ97drKeR93XRNyjfxirUpVjfzBLkEngaGtr2OuiH5rchT2eAGSAuNFJZCWnYn1HysSc2YGjG48e5EmCMXYe3l-6EDuaetP6TSeGrUOoGbt_t4rJsbXXeLOzz_SlT6FSz5dwpLoW9ZHH-rdoR0eHSnQcX5YwE5wTHFwSQxPPFksPZt7VZC7nUUuhsydvSw1LKS66Ry3THNYXgieMgVgkmvbv3si2CKqFvPmI",
        "replies": []
      }    
    ]
  }
```

***

### ⚙️ Input Options

| Input | Type | Description |
|---|---|---|
| `profiles` | array | Facebook usernames (e.g. `facebook`), profile URLs, page URLs, or `profile.php?id=...` URLs |
| `resultsPerProfile` | number | Maximum number of reels to collect from each profile or page |
| `includeComments` | boolean | Enable comments scraping for collected reels |
| `commentsSortOrder` | string | Sort comments by most relevant, newest, or collect all available comments |
| `commentsLimit` | number | Maximum number of comments to collect per post |

***

### 💬 Comments Scraping

Comments scraping is optional and can be enabled using `includeComments`.

Use `commentsLimit` to control how many comments are collected per post and `commentsSortOrder` to choose how comments are sorted.

Currently, the actor collects top-level comments for each post. Nested replies are not included in the returned comments dataset.

***

### ⚡ Apify Resurrect Run Support

The actor supports Apify resurrect runs for interrupted or partially completed scraping jobs.

If a run stops unexpectedly, the resurrected run can continue from the same scraping position instead of starting over.

***

### 💰 How Much Does It Cost?

| Feature | Free Apify Users | Paid Apify Users |
|----------|----------|----------|
| Reels Scraping | $4 per 1,000 results | $2 per 1,000 results |
| Comments Scraping | $2.50 per comments | $1.50 per 1,000 comments |
| Profile Limit | Includes 2 profiles for testing | Unlimited profiles |
| Reels Limit | 20 Reels per profile | Unlimited |
| Comments Limit | 20 comments per reel | Unlimited |

💡 Start with a small test run to verify the output structure and estimate usage before launching larger scraping jobs.

Free users can unlock comments scraping, unlimited profiles, and higher limits by upgrading their Apify subscription: https://apify.com/pricing

***

### ⚠️ Limitations & Troubleshooting

- **No results returned**\
  Only public Facebook profiles, pages, and publicly accessible content can be scraped.

- **Delayed output appearance**\
  For runs with large post or comment limits, results may take longer to appear in the dataset while reels are enriched with their associated comments.

- **Fewer comments than requested**\
  If a post contains fewer comments than the configured `commentsLimit`, only the available comments can be returned.

- **Missing data**\
  Available fields, engagement metrics, comments, and media information may vary depending on Facebook's response and content availability.

- **Unable to access some content**\
  Deleted, unavailable, private, age-restricted, region-restricted, or removed content cannot be accessed.

- **Top-level comments only**\
  The actor currently collects top-level comments for each post. Nested replies are not included in the returned comments dataset.

***

### ❓ Frequently Asked Questions

#### Can I scrape Facebook comments along with reels?

Yes. The actor can optionally collect comments together with each scraped reel, eliminating the need to run a separate comments scraper and manually combine datasets.

#### Can I scrape Facebook pages and personal profiles?

Yes. Simply provide one or more public Facebook page or profile URLs and the actor will process them within a single run.

#### Does this scraper require Facebook login, cookies, or API access?

No. The actor works without Facebook account logins, cookies, access tokens, API keys, or manual session management.

#### Can I export Facebook data to CSV or Excel?

Yes. Data collected by the actor is stored in an Apify dataset and can be exported to CSV, Excel, JSON, XML, HTML, RSS, and other formats supported by Apify.

***

### 💬 Support

Check the troubleshooting section above before opening an issue.

For bug reports, scraping issues, or feature requests, please open an [issues](https://console.apify.com/organization/XjtvaC9MoQZuFl4Da/actors/GuEcd6hMuhxlrXRVG/issues) on the actor page.

If you need custom scraper modifications, automation workflows, or additional extraction features, feel free to contact:

📧 kamakrazeekaushik@gmail.com

When reporting issues, please include the Actor Run ID or relevant run logs to help speed up debugging.

***

### 🔗 Related Actors

- 📘 [Facebook Posts & Comments Scraper](https://apify.com/krazee_kaushik/facebook-posts-and-comments-scraper) - Scrape Facebook posts from one or multiple public Facebook pages, including comments for every post. Configure comment limits and sorting options without using a separate comments scraper.

- 📢 [Facebook Ads Library Scraper](https://apify.com/krazee_kaushik/facebook-ads-library-scraper) - Scrape Facebook Ads Library using Ads Library search URLs. Get the complete result set for any search URL with automatic monthly date partitioning. Extract creatives, media, delivery, and optional reach/spend data.

- 🎬 [Instagram Profile Reels Scraper](https://apify.com/krazee_kaushik/instagram-profile-reels-scraper) - Scrape Instagram Reels from multiple profiles using direct Instagram endpoints. Extract videos, thumbnails, captions, creators, audio, hashtags, mentions, engagement metrics, and more. Starts at $0.50/1,000 Reels.

- 📸 [Instagram Profile Posts & Comments Scraper](https://apify.com/krazee_kaushik/instagram-profile-posts-and-comments-scraper) - Scrape Instagram posts from multiple profiles in one run, including comments for every post. Configure comment limits and sorting options without using a separate comments scraper.

# Actor input Schema

## `profiles` (type: `array`):

Enter one or more Facebook usernames, profile URLs, page URLs, or profile.php?id=... URLs. Post URLs are not supported.

## `resultsPerProfile` (type: `integer`):

Number of reels to scrape for each profile or page.

## `includeComments` (type: `boolean`):

Fetch comments for each reel.

## `commentsSortOrder` (type: `string`):

Choose how comments should be ordered before scraping.

## `commentsLimit` (type: `integer`):

Number of comments to scrape per reel. Used only when Include Comments? is enabled.

## Actor input object example

```json
{
  "profiles": [
    "facebook"
  ],
  "resultsPerProfile": 50,
  "includeComments": false,
  "commentsSortOrder": "RANKED_FILTERED_INTENT_V1",
  "commentsLimit": 20
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# 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 = {
    "profiles": [
        "facebook"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("krazee_kaushik/facebook-reels-scraper").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 = { "profiles": ["facebook"] }

# Run the Actor and wait for it to finish
run = client.actor("krazee_kaushik/facebook-reels-scraper").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 '{
  "profiles": [
    "facebook"
  ]
}' |
apify call krazee_kaushik/facebook-reels-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Facebook Reels Scraper",
        "description": "Scrape Facebook Reels with comments from multiple profiles and pages. Extract 50+ Reels per minute and collect hundreds of comments for every Reel in seconds with configurable limits and sorting. Costs just $2 per 1,000 Reels. No login, cookies, or API keys required.",
        "version": "0.0",
        "x-build-id": "ov0zAUKjfojS9dIig"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/krazee_kaushik~facebook-reels-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-krazee_kaushik-facebook-reels-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/krazee_kaushik~facebook-reels-scraper/runs": {
            "post": {
                "operationId": "runs-sync-krazee_kaushik-facebook-reels-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/krazee_kaushik~facebook-reels-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-krazee_kaushik-facebook-reels-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "profiles": {
                        "title": "Facebook Profiles, Pages, or Usernames",
                        "type": "array",
                        "description": "Enter one or more Facebook usernames, profile URLs, page URLs, or profile.php?id=... URLs. Post URLs are not supported.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "resultsPerProfile": {
                        "title": "Results Per Profile",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Number of reels to scrape for each profile or page.",
                        "default": 50
                    },
                    "includeComments": {
                        "title": "Include Comments?",
                        "type": "boolean",
                        "description": "Fetch comments for each reel.",
                        "default": false
                    },
                    "commentsSortOrder": {
                        "title": "Comments Sort Order",
                        "enum": [
                            "RANKED_FILTERED_INTENT_V1",
                            "REVERSE_CHRONOLOGICAL_UNFILTERED_INTENT_V1",
                            "RANKED_UNFILTERED_CHRONOLOGICAL_REPLIES_INTENT_V1"
                        ],
                        "type": "string",
                        "description": "Choose how comments should be ordered before scraping.",
                        "default": "RANKED_FILTERED_INTENT_V1"
                    },
                    "commentsLimit": {
                        "title": "Number of Comments",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Number of comments to scrape per reel. Used only when Include Comments? is enabled.",
                        "default": 20
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
