# Changelog of X (Twitter) Post Scraper (`scraper_creator/x-twitter-post-scraper`) Actor

- **URL**: https://apify.com/scraper_creator/x-twitter-post-scraper/changelog.md
- **Full Actor documentation**: https://apify.com/scraper_creator/x-twitter-post-scraper.md

## Changelog

Dates record source changes, not Apify publication dates. The initial implementation was recorded under 2026-10-19 before its first commit on 2026-10-20; that recorded source-change date is retained.

### 2026-10-23

- Classify scroll evaluation failures with fixed reason codes in logs and RUN-SUMMARY; raw browser messages remain private and failures are not retried.

- Retain safe exception types, failure steps and pagination progress in profile logs and RUN-SUMMARY when collection fails, without including raw exception messages or stacks.

### 2026-10-22

- Remove the source default memory declaration and manage default run memory in Apify Console; add configuration coverage and documentation. Existing output, validation and proxy policies are unchanged.

### 2026-10-21

- Reduce the maximum `maxItems` to 10,000 across all profiles; the default remains 100. Inputs above 10,000 are rejected.
- Include HTTP status codes for profile and timeline request failures in logs and `RUN-SUMMARY`, retaining existing error names. Use `null` when no HTTP response is available.

### 2026-10-20

- Link this changelog from the Actor definition and clarify operator-managed sessions in public configuration labels.
- Distinguish current operator-reported availability from dated validation evidence.
- Add custom `result` event billing and budget checks before profile collection, output and pagination. Reject missing result pricing or automatic dataset-item billing; mark budget-truncated runs incomplete.
- Use the operator's secret runtime `X_SESSION_COOKIES` environment variable for all cloud runs. Remove the login-session input and ignore legacy input overrides; local session files retain precedence.
- Add explicit X session loading from operator configuration or a private local file, scoped to X cookies.
- Support the live `UserOriginalsTimeline` endpoint and `relationship_counts.followers` user fields while retaining legacy response support.
- Stop collection on missing login, account checks and rate limiting.
- Keep following an empty continuation when it still carries a next cursor.
- Add a bounded live-check command and session-validation regression tests.

### 2026-10-19

- Add an experimental profile-post Actor with exact metrics, author checks, reply/retweet filtering, pagination checks and run summaries.
- Add synthetic output and consumer-compatibility checks. No validated live collection or cloud release.
