# Changelog of Facebook Posts Scraper (`socialdataapi/facebook-posts-scraper`) Actor

- **URL**: https://apify.com/socialdataapi/facebook-posts-scraper/changelog.md
- **Full Actor documentation**: https://apify.com/socialdataapi/facebook-posts-scraper.md

## Changelog

All notable changes to this actor are documented here.

### 0.3 — 2026-10-05

#### Changed

- Larger runs finish faster: posts of each Page are now collected in parallel, and a part of a Page that keeps failing is retried in smaller pieces instead of being dropped.
- The actor no longer depends on details that had to be updated by hand when Facebook changed its site, which removes a common cause of runs returning no posts.
- Every request uses Apify Residential proxy; a request that fails is retried up to 3 times, each time on a new IP.
- The run stops cleanly when your spending limit is reached, and as soon as the total post limit is reached no other Page keeps loading.
- Free plan: up to 20 posts per Page and 200 posts per month for users on the Apify free plan; paid plans have no limit.
- Clearer run log: one line per Page and a summary with saved, skipped and failed counts.

#### Added

- `textReferences`: links, mentions and hashtags found in a post's text.
- `pageAdLibrary` now always has both values (`is_business_page_active` and `id`).
- A typed dataset schema, so every output field has a documented type.

#### Removed

- Per-reaction-type counts (`reactionLikeCount`, `reactionLoveCount`, `reactionHahaCount`, `reactionCareCount`, `reactionSadCount`, `reactionWowCount`, `reactionAngryCount`) and the `collaborators` field. `likes` (total reactions) and `topReactionsCount` (number of reaction types) are still returned.
- Video and reel transcripts (the `includeVideoTranscript` input).
- The `timeoutMode` / `targetTimeoutSecs` inputs.

#### Renamed

- `maxPosts` → `resultsLimit`. It now caps the total number of posts across all Pages in the run, not each Page.
- `oldestPostDateUnified` → `onlyPostsNewerThan`, `newestPostDate` → `onlyPostsOlderThan` (same meaning; relative values such as "30 days" are accepted).
- `captionText` is now an input switch that decides whether the post text is included in `text`.

#### Fixed

- A username containing a dot is read as a normal Page or profile.
- `pageName` is now correct for `profile.php?id=…`, `people/…` and `pg/…` links.

### 0.2 — 2026-08-29

#### Fixed

- Runs returned no posts because Facebook had changed its site. Public Pages are read again without any login or cookies, with text, time, reactions, comments, shares, media and paging working end to end.
