# Changelog of X Reply Scraper | $0.00015/Reply | Pay-Per-Result (`xquik/x-reply-scraper`) Actor

- **URL**: https://apify.com/xquik/x-reply-scraper/changelog.md
- **Full Actor documentation**: https://apify.com/xquik/x-reply-scraper.md

## Changelog

Every change to this Actor, with its date.

### Latest changes

- 2026-10-05: Runs of under 5 IDs or handles end with a tip to batch them.
- 2026-10-04: A run on a renamed handle now saves the replies X shows for it.
- 2026-10-04: A run whose posts all ended writes `next-cursors` only when it
  keeps its report, so small runs cost less.
- 2026-10-04: The Actor version in diagnostics & run reports is now the Apify
  build number.
- 2026-10-04: A run no longer stops early when an upload's answer is lost. Its
  rows are charged once.

### 1.2.125, 2026-10-04

- `collectionStrategy: "hiddenReplies"` returns the replies a post's author hid.
- Each one is a `hiddenReply` row at the usual row price.

### 1.2.124, 2026-10-04

- Every run uses 256 MB again, which is faster & more reliable for small runs.

### 1.2.123, 2026-10-01

- When Xquik stays busy, each retry waits longer than the last.
- If Xquik stays busy too long, that target fails & the run says why.
- Busy answers are never charged.

### 1.2.122, 2026-09-30

- A run with rich output keeps its run-report.

### 1.2.121, 2026-09-30

- A run near its time limit stops before a read it can't finish.

### 1.2.120, 2026-09-29

- A run that started late says how long it waited, out of its time limit.

### 1.2.119, 2026-09-29

- Requests to Xquik never follow a redirect, so the key stays with Xquik.

### 1.2.118, 2026-09-29

- A run waits out a brief Xquik outage instead of failing.
- Rows saved before an outage stay saved & are charged once.

### 1.2.117, 2026-09-29

- Runs sorted by likes or oldest, or with nested scope, keep 256 MB.
- Runs with more than 5 targets keep 256 MB, whatever field names them.

### 1.2.116, 2026-09-29

- Runs up to `maxItems` 50 with up to 5 targets use 128 MB & cost less.

### 1.2.115, 2026-09-29

- New `outputMode: "rich"` keeps every full column & adds `hasCommunityNotes`,
  `quotedTweetPermalink`, `unavailableAuthorId` & media `sourceUser`.
- Full, the default, & every other output keep their rows unchanged.

### 1.2.114, 2026-09-29

- The README names the Actor as Xquik's X Reply Scraper & adds a how-to & FAQ.
- The README says the prefilled form returns up to 1,000 rows, as the form sets.

### 1.2.113, 2026-09-29

- Runs sorted by most liked stop once X's most liked replies fill the limit.
- Runs with a reply author skip a second read after the first one finished.

### 1.2.112, 2026-09-28

- A run that finds nothing skips `run-report`, so it costs less in Apify usage.

### 1.2.111, 2026-09-28

- Runs under 34 results cost less in Apify usage, with no progress saves.

### 1.2.110, 2026-09-28

- An aborted run's status counts its saved results, even during a slow upload.

### 1.2.109, 2026-09-28

- A missing post or account no longer counts as a failure. The status names it &
  says to check the handle, ID or URL.

### 1.2.108, 2026-09-28

- Posts from 2006 to 2010 now get their replies, from a URL or an ID.

### 1.2.107, 2026-09-27

- During a run, the status shows how many results it has collected so far.
- The status says when the run waits to retry.

### 1.2.106, 2026-09-27

- The new `alwaysSaveRunRecords` input keeps `run-report` on every run.

### 1.2.103, 2026-09-27

- URLs without `https://`, such as `x.com/nasa`, now work.
- Post URLs in capitals & Article URLs now read that post's replies.
- A post URL with a broken ID no longer reads its author's replies.
- Profile URLs whose handle is all digits, such as `x.com/1234567`, now work.
- The run lists each input it cannot read & says how to fix it.
- With nothing to read, the run writes a free diagnostic with the fix.

### 1.2.99, 2026-09-27

- Runs open their dataset while they read X, so they finish sooner.

### 1.2.96, 2026-09-27

- Small runs that go well skip `run-report`, so they cost less in Apify usage.
- The run status now says why the run stopped, with its charged results &
  targets.
- Runs that stop on their input now name the diagnostics output in their status.

### 1.2.95, 2026-09-27

- Runs that stop for missing or unusable input cost less in Apify usage.

### 1.2.91, 2026-09-27

- Support now sees a finished run even while the service is busy.
- Runs with a time limit keep a little more time to finish.

### 1.2.90, 2026-09-27

- Runs with a time limit now stop in time & keep their results.
- Large runs save their progress faster.

### 1.2.89, 2026-09-27

- The run status now says where to find its diagnostics.

### 1.2.87, 2026-09-27

- If the Actor cannot start, the run now ends with 1 free diagnostic.
- Runs with hundreds of targets use less CPU.

### 1.2.86, 2026-09-26

- Runs with a date range skip recovery reads that found nothing.
- A date range with no replies now ends empty, not as a partial run.

### 1.2.85, 2026-09-26

- Runs now start collecting results sooner, so small runs finish faster.

### 1.2.84, 2026-09-26

- Filling maxItems no longer logs errors for targets the run did not need.
- A run that fills maxItems no longer reports a time limit.

### 1.2.83, 2026-09-26

- Large runs use less memory.

### 1.2.82, 2026-09-26

- Targets no longer fail when Xquik is busy. The Actor waits & tries again until
  its time limit.
- A page the service answers slowly in busy hours now arrives instead of timing
  out.

### 1.2.81, 2026-09-26

- Support can now see where each run spends its time.

### 1.2.80, 2026-09-26

- Targets no longer fail when the service is busy. The Actor waits a few seconds
  & tries again until its time limit.

### 1.2.77, 2026-09-25

- Input & Output tab descriptions now say what each field does.
- The README now focuses on what you get & how to run it.
- Runs finish sooner when every reply to a post is already collected.

### 1.2.76, 2026-09-25

- Support can now look up every finished run.

### 1.2.75, 2026-09-25

- Runs with many posts or profiles finish faster.

### 1.2.74, 2026-09-25 update

- Small reply threads finish much faster.
- The status says how many replies X hides. It no longer asks for a rerun.
- A run with a time window ends as complete once it reads that window.

### 1.2.74, 2026-09-25

- Runs recover faster from temporary service delays.
- A slow page now ends in time & keeps its rows.

### 1.2.73, 2026-09-25 update

- A post that cannot be fully read keeps its rows & ends as partial.
- Runs wait the right time before retrying an empty answer.
- Partial posts no longer count as failed targets or log errors.
- Languages `id`, `he`, `fil` & `nb` now keep their replies.

### 1.2.73, 2026-09-23 update

- The status now names every reason a run stopped early.
- The diagnostic lists each cause in `stopCauses`, with advice.

### 1.2.73, 2026-09-20 update

- Brief stalls on the first page no longer end a run as incomplete.
- Large & old threads read much faster.

### 1.2.73, 2026-09-17

- The status shows how much of a large thread X made available.
- Runs end as complete once every reply in range is collected.

### 1.2.72, 2026-09-17

- Runs report completion more accurately.

### 1.2.71, 2026-09-17

- Runs finish sooner once every reply is collected.
- Runs recognize posts that have no replies.

### 1.2.70, 2026-09-16

- Find replies to posts inside larger conversations.
- Unrelated conversation branches stay out of the results.
- Interrupted runs report partial results accurately.

### 1.2.69, 2026-09-16

- Output field descriptions are clearer, including location & verification.

### 1.2.68, 2026-09-16

- The input form shows targets, limits & common filters first.
- Output tabs & dataset views show the most useful fields first.

### 1.2.67, 2026-09-16

- Full & nested reply scopes return more complete threads.
- Scope, depth, sort & author filters apply before result limits.

### 1.2.66, 2026-09-16

- Reply depth stays correct when filters remove parent replies.

### 1.2.65, 2026-09-16

- Runs keep reading toward the requested limit after a stall.
- Stalled or failed pages mark the run as partial.

### 1.2.64, 2026-09-16

- Runs recover replies after a stall & keep collected rows.
- Stalled runs still save their report.

### 1.2.63, 2026-09-15

- Run reports are more accurate when fewer results exist than requested.

### 1.2.62, 2026-09-13

- Sports cards keep league, team color & winner details.

### 1.2.61, 2026-09-13

- Failed targets & interrupted runs report consistently.
- Resumed runs keep collected results.

### 1.2.60, 2026-09-12

- Rows include repost times when available.
- Dataset views show time columns.

### 1.2.59, 2026-09-10

- Minor fixes improve reliability & speed.

### 1.2.58, 2026-09-10

- Runs keep their progress after temporary storage errors.

### 1.2.57, 2026-09-10

- Resumed runs retry failed targets without double charges.

### 1.2.56, 2026-09-10

- Runs recover from temporary errors more reliably.
- Restarted runs keep every unique reply.

### 1.2.55, 2026-09-05

- The Actor finds nested replies under non-root posts more reliably.
- Partial rows, caps & saved progress stay intact.
- Incomplete runs no longer report that every reply was found.

### 2026-09-05

- Searches with no results now recover replies another way.
- Filters & result limits stay the same.

### 1.2.32 through 1.2.54, 2026-09-01

- The Actor uses a newer runtime & reports peak memory use.
- Rows keep reaction context.
- One result price now applies on every plan. Diagnostics are free.

### 1.2.31, 2026-08-13

- Nested replies stay in the results.

### 1.2.27 through 1.2.30, 2026-08-12

- Runs start faster & the build is smaller. Long runs respect time limits.

### 1.2.25 through 1.2.26, 2026-08-12

- Runs that reach their cap stop sooner & report accurately.

### 1.2.21, 2026-08-12

- The code is simpler. Results & billing stay the same.

### 1.2.19, 2026-08-11

- Profile reply runs finish faster.

### 1.2.18, 2026-08-11

- Large reply threads finish faster.

### 1.2.17, 2026-08-11

- Failed runs report partial failure, not zero results.

### 1.2.16, 2026-08-10

- A timeout of `0` runs to the cap or until results run out.
- Finite timeouts still leave time to save results.

### 1.2.15, 2026-08-10

- Runs start faster.

### 1.2.14, 2026-08-10

- The code is simpler. Caps & billing stay the same.

### 1.2.13, 2026-08-10

- Runs with several targets finish faster & keep output in order.

### 1.2.12, 2026-08-10

- Finite timeouts keep replies & write a `deadline_reached` report.

### 1.2.11, 2026-08-10

- Run logs show clearer timing details. Results & billing stay the same.

### 1.2.10, 2026-08-10

- Run logs show clearer timing details. Results & billing stay the same.

### 1.2.9, 2026-08-10

- Logs keep handles, queries, IDs & URLs private.

### 1.2.8, 2026-08-10

- Error messages no longer include request details.

### 1.2.7, 2026-08-10

- The run report schema shows the published Actor version.

### 1.2.6, 2026-08-10

- Quick restarts resume from the newest saved progress.

### 1.2.5, 2026-08-10

- Restarted runs never repeat replies or charges.

### 1.2.4, 2026-08-10

- Migrated runs resume without duplicates.
- Reports keep their original totals after a restart.

### 1.2.3, 2026-08-09

- Dataset & run report schemas describe every field for AI agents.
- Store listings use 1 consistent description.

### 1.2.2, 2026-08-09

- The form shows the main reply controls only.
- Aliases still work in JSON, API & task inputs.

### 1.2.1, 2026-08-09

- Small profile runs sorted by relevance stop once they reach the limit.
- Sparse & filtered profile runs keep reading until they have enough replies.

### 1.2.0, 2026-08-09

- Profile reply runs return more replies.
- Profile results stay free of duplicates.

### 1.1.0, 2026-08-09

- Runs can now resume after interruptions.
- The README recommends the `latest` build for every integration.
- Direct & nested scopes work in form runs.
- Direct reply runs that return no rows now recover more replies.
- Media & X Premium reply filters are stricter.
- Rows mark the original post & the collection mode.
- Input checks & empty-run guidance are clearer.
- No-input & invalid-input runs keep their run reports.
- Add flat default output & a snake\_case dataset view.
- Rewrite all 50 public example tasks.

### 1.0.0, 2026-08-01

- Diagnostic-only runs now write `run-report` before exiting.
- Add post URL, Tweet ID, profile URL & username targets.
- Add direct, nested, all-reply & thread modes.
- Add reply depth, parent links, root IDs & source attribution.
- Add relevance, latest, oldest & most-liked sorting.
- Add text, author, language, engagement, media & date filters.
- Add compact, full, raw, nested, flat, camelCase & snake\_case output.
- Add deduplication, spend limits, diagnostics & run reports.
- Resume a target with `startCursor`.
