# Facebook Reels Play Count Scraper (`parsebird/facebook-reels-play-count-scraper`) Actor

Get the exact play count of any Facebook reel or video URL, plus views, reactions, comments, owner, caption, duration, and publish date. Bulk URLs, no login. Export JSON, CSV, Excel.

- **URL**: https://apify.com/parsebird/facebook-reels-play-count-scraper.md
- **Developed by:** [ParseBird](https://apify.com/parsebird) (community)
- **Stats:** 3 total users, 2 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.39 / 1,000 play counts

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/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

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

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

### Facebook Reels Play Count Scraper

Facebook Reels Play Count Scraper gets the **exact play count** of any public [Facebook](https://www.facebook.com/) reel or video URL, along with view count, reactions, comments, owner, caption, duration, and publish date. You don't need a login or Facebook API access.

<table><tr>
<td style="border-left:4px solid #1877F2;padding:12px 16px;font-weight:600">
Paste reel, watch, /videos/, video.php, m.facebook.com, or fb.watch links in bulk and get one row per video: the full play count (558,533, not "558K"), matched to that exact video ID, plus views, reactions, comments, and a clear status for every URL.
</td>
</tr></table>

<br>

<table>
<tr>
<td colspan="3" style="padding:10px 14px;background:#1877F2;border:none;border-radius:4px 4px 0 0">
<span style="color:#FFFFFF;font-size:14px;font-weight:700;letter-spacing:0.5px">ParseBird Facebook Suite</span>
<span style="color:#D8E6FD;font-size:13px">&nbsp;&nbsp;&bull;&nbsp;&nbsp;Pages, posts, groups, reviews, ads &amp; media</span>
</td>
</tr>
<tr>
<td style="padding:10px 14px;border:1px solid #E7E5E4;border-right:none;border-top:none;vertical-align:top;width:33%;background:#FFFFFF">
<a href="https://apify.com/parsebird/facebook-user-posts-scraper" style="color:#1C1917;text-decoration:none;font-weight:700;font-size:13px">Facebook User Posts Scraper</a><br>
<span style="color:#78716C;font-size:11px">Posts from profiles and Pages</span>
</td>
<td style="padding:10px 14px;border:1px solid #E7E5E4;border-right:none;border-top:none;vertical-align:top;width:33%;background:#FFFFFF">
<a href="https://apify.com/parsebird/facebook-page-video-downloader" style="color:#1C1917;text-decoration:none;font-weight:700;font-size:13px">Facebook Page Video Downloader</a><br>
<span style="color:#78716C;font-size:11px">Every video on a Page, MP4 links</span>
</td>
<td style="padding:10px 14px;border:1px solid #E7E5E4;border-top:none;vertical-align:top;width:33%;background:#FFFFFF">
<a href="https://apify.com/parsebird/facebook-media-downloader" style="color:#1C1917;text-decoration:none;font-weight:700;font-size:13px">Facebook Media Downloader</a><br>
<span style="color:#78716C;font-size:11px">HD/SD links for videos, reels, photos</span>
</td>
</tr>
<tr>
<td style="padding:10px 14px;border:1px solid #E7E5E4;border-right:none;border-top:none;vertical-align:top;width:33%;background:#FFFFFF">
<a href="https://apify.com/parsebird/facebook-group-posts-scraper" style="color:#1C1917;text-decoration:none;font-weight:700;font-size:13px">Facebook Public Group Posts Scraper</a><br>
<span style="color:#78716C;font-size:11px">Group posts, reactions, photos</span>
</td>
<td style="padding:10px 14px;border:1px solid #E7E5E4;border-right:none;border-top:none;vertical-align:top;width:33%;background:#FFFFFF">
<a href="https://apify.com/parsebird/facebook-group-profile-scraper" style="color:#1C1917;text-decoration:none;font-weight:700;font-size:13px">Facebook Group Profile Scraper</a><br>
<span style="color:#78716C;font-size:11px">Members, activity, admins, rules</span>
</td>
<td style="padding:10px 14px;border:1px solid #E7E5E4;border-top:none;vertical-align:top;width:33%;background:#FFFFFF">
<a href="https://apify.com/parsebird/facebook-reviews-scraper" style="color:#1C1917;text-decoration:none;font-weight:700;font-size:13px">Facebook Page Reviews Scraper</a><br>
<span style="color:#78716C;font-size:11px">Recommendations, tags, comments</span>
</td>
</tr>
<tr>
<td style="padding:10px 14px;border:1px solid #E7E5E4;border-radius:0 0 0 4px;border-right:none;border-top:none;vertical-align:top;width:33%;background:#FFFFFF">
<a href="https://apify.com/parsebird/facebook-group-posts-comments-scraper" style="color:#1C1917;text-decoration:none;font-weight:700;font-size:13px">Facebook Group Posts &amp; Comments Scraper</a><br>
<span style="color:#78716C;font-size:11px">Group posts with comments &amp; replies</span>
</td>
<td style="padding:10px 14px;border:1px solid #E7E5E4;border-right:none;border-top:none;vertical-align:top;width:33%;background:#FFFFFF">
<a href="https://apify.com/parsebird/facebook-ads-library-scraper" style="color:#1C1917;text-decoration:none;font-weight:700;font-size:13px">Meta | Facebook Ads Library Scraper</a><br>
<span style="color:#78716C;font-size:11px">Ad Library ads, EU reach &amp; payers</span>
</td>
<td style="padding:10px 14px;border:1px solid #E7E5E4;border-radius:0 0 4px 0;border-top:none;vertical-align:top;width:33%;background:#E7F0FE">
<a href="https://apify.com/parsebird/facebook-reels-play-count-scraper" style="color:#1877F2;text-decoration:none;font-weight:700;font-size:13px">Facebook Reels Play Count Scraper</a><br>
<span style="color:#1877F2;font-size:11px;font-weight:600">You are here</span>
</td>
</tr>
</table>

##### Copy to your AI assistant

Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this actor.

```text
Use Apify Actor parsebird/facebook-reels-play-count-scraper to get exact Facebook reel and video play counts. Example with ApifyClient: client.actor("parsebird/facebook-reels-play-count-scraper").call(run_input={"startUrls":[{"url":"https://www.facebook.com/reel/1358040539510776"}]}). Inputs: startUrls array of {url} (reel, watch?v=, /videos/, video.php, m./web.facebook.com, fb.watch or /share/ links); urlsText string, one URL per line, alternative or addition to startUrls; maxConcurrency integer default 12; requestTimeoutSecs integer default 20; maxRetriesPerUrl integer default 3, each retry uses a fresh proxy IP; useProxy boolean default true; proxyConfiguration object default {"useApifyProxy":true,"apifyProxyGroups":[]}. Output: one row per URL with url (canonical watch URL), video_id, play_count, status (ok, invalid_video_id, video_unavailable, play_count_not_found, request_failed: <reason>), view_count, reaction_count, comment_count, title, caption, owner_name, owner_id, published_at, duration_seconds, is_reel, permalink, input_url, scraped_at. Only rows with status ok are charged ($3.99 per 1,000 on the Free plan). API docs: https://docs.apify.com/api/client/python/ and https://docs.apify.com/api/client/js/. Token: https://console.apify.com/account/integrations.
```

### What is Facebook Reels Play Count Scraper?

**Facebook Reels Play Count Scraper** is a Facebook play count checker and **Facebook video views API alternative**. Give it a list of reel or video links and it returns each video's play count as an exact number. It reads the same public watch page any logged-out visitor sees, so you don't need a Facebook account, cookies, or a Graph API token.

To try it, open the actor, keep the two prefilled reel URLs, and click **Start**. Both play counts are ready in a few seconds.

### What can Facebook Reels Play Count Scraper do?

- 🎯 **Exact play counts, matched to the right video.** A Facebook watch page also contains play counts for about 30 recommended videos. The actor only returns the count that Facebook ties to your video's ID, so it never picks up a neighbour's number.
- 🔗 **Works with any video link format:** `/reel/{id}`, `/watch/?v={id}`, `/{page}/videos/{slug}/{id}`, `video.php?v={id}`, `m.facebook.com`, `web.facebook.com`, `fb.watch` short links, and `/share/` links. Reel links are converted to their watch page, because Facebook's reel page doesn't include counts.
- 📊 **More than plays:** view count, reaction count, comment count, owner name and ID, caption, title, duration, publish date, and whether the video is a reel.
- 🚦 **A status for every URL**, so you can tell a bad link from a removed video or a network failure.
- 🔁 **Fresh proxy IP on every retry**, and automatic retries when Facebook sends a page without counts.
- ♻️ **Duplicate videos are fetched once.** If the same video appears under several link formats, it's scraped and charged only once.
- ⏰ Track counts over time with [Apify schedules](https://docs.apify.com/platform/schedules), connect results to Google Sheets, Make, Zapier, or Slack through [integrations](https://apify.com/integrations), or call it from the [Apify API](https://docs.apify.com/api/v2). Export to JSON, CSV, Excel, XML, or HTML.

### What data can you extract from Facebook reels and videos?

| Field | Description |
|-------|-------------|
| `url` | Canonical watch URL (`https://www.facebook.com/watch/?v={id}`) |
| `video_id` | Numeric Facebook video ID |
| `play_count` | Exact play count |
| `status` | `ok` or the reason no play count was returned (see below) |
| `view_count` | Facebook's separate video view count |
| `reaction_count` / `comment_count` | Total reactions and comments |
| `title` / `caption` | Video title (when set) and post caption |
| `owner_name` / `owner_id` | Page or profile that posted the video |
| `published_at` | Publish time (ISO 8601, UTC) |
| `duration_seconds` | Video length in seconds |
| `is_reel` | `true` if Facebook files the video as a reel |
| `permalink` | Facebook's own permalink for the video |
| `input_url` | The URL exactly as you entered it |
| `scraped_at` | When the row was captured |

**Status values:**

- `ok`: play count found.
- `invalid_video_id`: the URL has no recognizable Facebook video ID (for example, a group or profile link).
- `video_unavailable`: Facebook says the video doesn't exist or isn't available. It may be deleted, private, or region-restricted.
- `play_count_not_found`: the page loaded, but Facebook didn't include a play count for this video, even after retries.
- `request_failed: <reason>`: every attempt failed. The reason is the last error, for example `http_429`, `timeout`, or `login_redirect`.

### How to scrape Facebook reels play counts

1. Open [Facebook Reels Play Count Scraper](https://apify.com/parsebird/facebook-reels-play-count-scraper) and go to the Input tab.
2. Add your reel or video links under **Facebook reel or video URLs**, or paste them one per line into **URLs as text**. To copy a link on Facebook, open the reel and click **Share → Copy link**.
3. Leave the **Advanced** settings at their defaults. The default Apify datacenter proxy works for public videos.
4. Click **Start**. Each URL becomes one row in the **Dataset** tab. Rows appear as they finish, so their order can differ from your input.
5. Filter by `status` to see which links need attention, then export as JSON, CSV, or Excel, or read the results through the [Apify API](https://docs.apify.com/api/v2).

### Input parameters

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `startUrls` | array of `{url}` | No\* | — | Facebook reel or video URLs |
| `urlsText` | string | No\* | — | URLs one per line. Can be combined with `startUrls` |
| `maxConcurrency` | integer | No | `12` | URLs fetched in parallel (1–50) |
| `requestTimeoutSecs` | integer | No | `20` | Timeout per request, in seconds (5–120) |
| `maxRetriesPerUrl` | integer | No | `3` | Retries per URL, each with a fresh proxy IP (0–10) |
| `useProxy` | boolean | No | `true` | Turn off to send requests from the run's own IP |
| `proxyConfiguration` | object | No | `{"useApifyProxy": true, "apifyProxyGroups": []}` | Apify Proxy settings, used when `useProxy` is on |

\* Provide at least one URL in `startUrls` or `urlsText`.

Example input:

```json
{
  "startUrls": [
    { "url": "https://www.facebook.com/reel/1358040539510776" },
    { "url": "https://www.facebook.com/watch/?v=1467263565193775" }
  ],
  "urlsText": "https://www.facebook.com/facebook/videos/10153231379946729/\nhttps://fb.watch/dKiwp3Km3F/"
}
```

### Output example

```json
{
  "url": "https://www.facebook.com/watch/?v=1358040539510776",
  "video_id": "1358040539510776",
  "play_count": 558533,
  "status": "ok",
  "view_count": 191540,
  "reaction_count": 4317,
  "comment_count": 843,
  "title": null,
  "caption": "@jackedjumper is bringing viewers directly into the game, capturing high-energy beach volleyball matches from his first-person perspective with Oakley Meta glasses...",
  "owner_name": "Meta",
  "owner_id": "108824017345866",
  "published_at": "2026-06-15T13:55:39.000Z",
  "duration_seconds": 14.17,
  "is_reel": true,
  "permalink": "https://www.facebook.com/reel/1358040539510776/",
  "input_url": "https://www.facebook.com/reel/1358040539510776",
  "scraped_at": "2026-10-18T03:20:44.547Z"
}
```

A row for a link without a video ID:

```json
{
  "url": "https://www.facebook.com/groups/abc",
  "video_id": null,
  "play_count": null,
  "status": "invalid_video_id",
  "input_url": "https://www.facebook.com/groups/abc"
}
```

Rows that aren't `ok` keep the same columns, with `null` values. Download the dataset as JSON, CSV, Excel, XML, or HTML.

### Python API example

```python
from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")

run = client.actor("parsebird/facebook-reels-play-count-scraper").call(run_input={
    "startUrls": [
        {"url": "https://www.facebook.com/reel/1358040539510776"},
        {"url": "https://www.facebook.com/watch/?v=1467263565193775"},
    ],
})

for row in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(row["video_id"], row["status"], row["play_count"], row["view_count"])
```

### JavaScript API example

```javascript
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });

const run = await client.actor('parsebird/facebook-reels-play-count-scraper').call({
    startUrls: [
        { url: 'https://www.facebook.com/reel/1358040539510776' },
        { url: 'https://www.facebook.com/watch/?v=1467263565193775' },
    ],
});

const { items } = await client.dataset(run.defaultDatasetId).listItems();
for (const row of items) console.log(row.video_id, row.status, row.play_count);
```

See Apify's [Python client](https://docs.apify.com/api/client/python/) and [JavaScript client](https://docs.apify.com/api/client/js/) docs for more options.

### Use cases

- **Influencer and creator vetting.** Check real play counts on a creator's reels before you sign a deal.
- **Campaign reporting.** Track sponsored reels on a schedule and send play, view, reaction, and comment counts to a spreadsheet or dashboard.
- **Competitor benchmarking.** Compare how a competitor's reels perform against yours, video by video.
- **Content research.** Find which formats and topics get the most plays in your niche.
- **Data enrichment.** Add exact play counts to video URLs you already collected with another scraper.

### How it works

1. The actor reads every URL from `startUrls` and `urlsText`, finds the numeric video ID, and follows `fb.watch` and `/share/` links to the video they point to.
2. It loads the video's public watch page through the proxy, using a fresh IP for each attempt.
3. It finds the play counter Facebook ties to that exact video ID, and reads the view, reaction, comment, and owner data next to it.
4. If Facebook returns an error, a login wall, or a page without counts, the actor retries up to `maxRetriesPerUrl` times on new IPs. Then it saves the row with a clear status.

`fb.watch` and share links redirect datacenter IPs to Facebook's login page. When that happens, the actor retries only those small redirect requests through Apify residential proxy. The video page itself always loads through your selected proxy.

### How much does it cost to scrape Facebook reel play counts?

**What is the price per Facebook play count?**

| Plan | Price per play count | Price per 1,000 play counts |
|------|----------------------|-----------------------------|
| Free | $0.00399 | **$3.99** |
| Bronze | $0.00379 | **$3.79** |
| Silver | $0.00359 | **$3.59** |
| Gold | $0.00339 | **$3.39** |

You're charged one `play-count-scraped` event only for rows with status `ok`. Invalid links, unavailable videos, failed requests, and duplicates are free. Compute and proxy usage are included in the event price. For example, checking 1,000 reels costs $3.99 on the Free plan or $3.39 on Gold.

**Can I cap my spend?**

Yes. Set a maximum cost per run in the run options. The actor stops starting new URLs once your limit is reached, so it never fetches videos you won't be charged for.

### Is it legal to scrape Facebook play counts?

**Is scraping Facebook legal?**

Facebook Reels Play Count Scraper only reads public video pages that any logged-out visitor can open. It doesn't log in, access private content, or collect personal data beyond what the video's owner made public. Scraping publicly available data is generally allowed in many jurisdictions, but you should review [Meta's Terms of Service](https://www.facebook.com/terms.php) and make sure your use case complies with applicable laws, such as GDPR when you handle data about individuals. For more background, read Apify's guide: [Is web scraping legal?](https://blog.apify.com/is-web-scraping-legal/)

### Other Facebook scrapers / Related Actors

| Actor | Best for |
|-------|----------|
| [Facebook User Posts Scraper](https://apify.com/parsebird/facebook-user-posts-scraper) | Posts from public Facebook profiles and Pages |
| [Facebook Page Video Downloader](https://apify.com/parsebird/facebook-page-video-downloader) | Videos from a Page's Videos tab with MP4 links |
| [Facebook Media Downloader](https://apify.com/parsebird/facebook-media-downloader) | HD and SD links for single videos, reels, and photos |
| [Facebook Public Group Posts Scraper](https://apify.com/parsebird/facebook-group-posts-scraper) | Posts from public Facebook groups |
| [Facebook Group Profile Scraper](https://apify.com/parsebird/facebook-group-profile-scraper) | Members, activity, admins, and rules of groups |
| [Facebook Page Reviews Scraper](https://apify.com/parsebird/facebook-reviews-scraper) | Reviews and recommendations on Facebook Pages |
| [Facebook Group Posts & Comments Scraper](https://apify.com/parsebird/facebook-group-posts-comments-scraper) | Group posts with full comment threads and replies |
| [Meta | Facebook Ads Library Scraper](https://apify.com/parsebird/facebook-ads-library-scraper) | Ads from the Meta Ad Library with EU reach and payer data |
| [Spotify Play Count Scraper](https://apify.com/parsebird/spotify-play-count-scraper) | Exact Spotify stream counts for tracks, albums, and artists |

### FAQ

**Do I need a Facebook account or access token?**

No. The actor reads public watch pages without logging in, so you don't need cookies, an account, or Graph API access.

**What's the difference between play_count and view_count?**

Facebook keeps two counters for each video. `play_count` is its play counter. `view_count` is a separate view counter, and on reels it's usually much lower. For example, the Meta reel above has 558,533 plays and 191,540 views. On the long-form video we tested, the two numbers were the same.

**Why are reel URLs converted to watch URLs?**

Facebook's `/reel/{id}` page doesn't include play counts in its HTML, but the `/watch/?v={id}` page for the same video does. The `url` column always holds the watch URL, and `input_url` keeps the link you entered.

**Why is the number different from what the Facebook app shows?**

The app rounds big numbers (for example "558K"). The actor returns the full count. Counts also change while a video is still getting plays, so two runs a few minutes apart can differ slightly.

**Can I get play counts for every reel on a Page?**

This actor takes video URLs. To list the videos on a Page's Videos tab with their play counts, use [Facebook Page Video Downloader](https://apify.com/parsebird/facebook-page-video-downloader).

**Does it work for private videos or videos in private groups?**

No. Only publicly visible videos have counts on the logged-out page. Private or removed videos come back as `video_unavailable`.

**Should I use residential proxies?**

Usually not. In our tests, the default datacenter proxy returned play counts for every public video. You can switch `proxyConfiguration` to the `RESIDENTIAL` group if you see `request_failed` statuses, and you won't pay more, because proxy costs are included in the event price.

**Where can I report issues or request fields?**

Open the Issues tab on the actor page and include the video URL, run ID, and what you expected.

# Changelog

This Actor's version history is a separate document: https://apify.com/parsebird/facebook-reels-play-count-scraper/changelog.md

# Actor input Schema

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

Add Facebook reel or video URLs, e.g. https://www.facebook.com/reel/1358040539510776 or https://www.facebook.com/watch/?v=1358040539510776. Each URL becomes one dataset row.

## `urlsText` (type: `string`):

Alternative to the list above: paste URLs one per line. Both fields can be used together.

## `maxConcurrency` (type: `integer`):

How many URLs to fetch in parallel.

## `requestTimeoutSecs` (type: `integer`):

Timeout for each page request.

## `maxRetriesPerUrl` (type: `integer`):

Retries per URL. Each retry uses a fresh proxy IP.

## `useProxy` (type: `boolean`):

Send requests through the proxy below. Turn off to use the run's own IP.

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

Apify Proxy settings, used when 'Use proxy' is on. Datacenter proxy works for public videos.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://www.facebook.com/reel/1358040539510776"
    },
    {
      "url": "https://www.facebook.com/watch/?v=1467263565193775"
    }
  ],
  "maxConcurrency": 12,
  "requestTimeoutSecs": 20,
  "maxRetriesPerUrl": 3,
  "useProxy": true,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": []
  }
}
```

# Actor output Schema

## `dataset` (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 = {
    "startUrls": [
        {
            "url": "https://www.facebook.com/reel/1358040539510776"
        },
        {
            "url": "https://www.facebook.com/watch/?v=1467263565193775"
        }
    ],
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": []
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("parsebird/facebook-reels-play-count-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 = {
    "startUrls": [
        { "url": "https://www.facebook.com/reel/1358040539510776" },
        { "url": "https://www.facebook.com/watch/?v=1467263565193775" },
    ],
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": [],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("parsebird/facebook-reels-play-count-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).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/1358040539510776"
    },
    {
      "url": "https://www.facebook.com/watch/?v=1467263565193775"
    }
  ],
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": []
  }
}' |
apify call parsebird/facebook-reels-play-count-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,parsebird/facebook-reels-play-count-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

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