# Changelog of Bluesky Scraper - Posts, Search and Profile Feeds (`blackfalcondata/bsky-app-scraper`) Actor

- **URL**: https://apify.com/blackfalcondata/bsky-app-scraper/changelog.md
- **Full Actor documentation**: https://apify.com/blackfalcondata/bsky-app-scraper.md

## Changelog

All notable changes to this Actor are documented here.

### \[0.2.0] — 2026-10-27

#### Fixed

- Long profile feeds and searches are no longer cut off at 500 pages: a run reads until bsky.app's last page. A run that has to stop early (close to its timeout, or bsky.app keeps returning posts already read) keeps every row it read and ends as incomplete (`partial_deadline` / `partial_stalled`) instead of complete.
- With `incrementalMode` and `emitExpired`, a search that now returns nothing at all reports every earlier post as EXPIRED, and the next run does not report them again.
- EXPIRED rows now carry the post's `uri` and `id`, also with `compact` on, so you can tell which post disappeared.
- Searches and profile feeds longer than two pages now return every page: pages are read one after another by cursor, so `maxResults` 250 returns 250 posts instead of stopping early.
- With `maxResults` 0 or `emitExpired` on, a profile feed is now read to its end instead of stopping after the first page, and a run that was cut short by a limit is no longer reported as complete.
- A request bsky.app refuses is no longer reported as a successful empty search: when nothing could be read the run now fails with a coded error (no charge for results), and when only some searches fail the rows are kept and the run ends as `partial_failed_pages`.
- A repost and the original post are now two separate rows instead of the repost being dropped as a duplicate. Existing post identifiers are unchanged.
- `emitExpired` now delivers an EXPIRED row (`changeType` EXPIRED) for each post seen in an earlier run that is gone, only when the whole search was read.

#### Added

- Inputs `includeReplies` and `includeReposts` (both default on) and `authorFeedFilter` (posts with replies, posts only, with media, with video, own threads).
- Start URLs for a single post (with its replies), a custom feed and a list.

### \[0.1.0] — 2026-10-27

Initial release.

#### Added

- Scrape Bluesky posts by keyword search, @handle or profile URL, with text, author, engagement counts, timestamps, hashtags, links, media and reply/quote/repost context.
- Filter search results by post language.
- Respects the maximum cost per run you set.
- Store description and README describe Bluesky posts and the fields every post carries.
