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

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

## Changelog

Every release of this Actor, newest first.

### 1.12.197, 2026-09-29

- Runs with more than 5 targets keep 256 MB, whatever field names them.
- Author data no longer includes a follow flag that did not describe the author.

### 1.12.196, 2026-09-29

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

### 1.12.195, 2026-09-29

- Rich output adds `hasCommunityNotes`, `quotedTweetPermalink` &
  `unavailableAuthorId`.
- Rich media items add `sourceUser`, the profile that first posted reused media.
- The new fields come last. Every other output keeps its rows unchanged.
- The benchmark shows 4 rich runs of 2026-09-29, with 63 fields per row.

### 1.12.194, 2026-09-28

- A run that finds nothing skips `run-report`, so it costs less in Apify usage.
- The README names the Actor as Xquik's X Tweet Scraper, opens with the
  benchmark result & explains empty, partial & stopped runs.
- The `tweetIds` description no longer states a 10,000 ID cap. Tweet ID input
  has no fixed cap.
- An English electric vehicle search replaces the Spanish example task.

### 1.12.193, 2026-09-28

- The benchmark shows fields per row & names Actors by Apify slug.

### 1.12.192, 2026-09-28

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

### 1.12.191, 2026-09-28

- An aborted run's status counts its saved results, even during a slow upload.
- A refused search or missing account no longer sets the status to 0 tweets.
- An aborted run starts no new page read.
- A `from:` search counts each account it reads in its status.
- An empty `from:` search with missing accounts now ends as `window_empty`.

### 1.12.190, 2026-09-28

- `Latest + Top` searches under 40 results finish sooner.
- A 1-result `Latest + Top` search returns a Top post when Latest finds none.

### 1.12.189, 2026-09-28

- `Latest + Top` searches finish sooner when both return the same post or Top
  finds nothing.

### 1.12.188, 2026-09-28

- A protected `from:` account no longer adds an error line to the run log. The
  run status still reports it.

### 1.12.187, 2026-09-27

- The README shows a benchmark against 11 tweet Actors, with every run public.

### 1.12.186, 2026-09-27

- An empty run that checked its whole time window now ends as `window_empty`.

### 1.12.185, 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.12.183, 2026-09-27

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

### 1.12.181, 2026-09-27

- URLs without `https://`, such as `x.com/nasa`, now work.
- X pages such as `x.com/home` or `x.com/search` no longer count as handles.
- The run lists each input it cannot read & says how to fix it.
- The run ignores empty `startUrls` rows.
- With nothing to read, the run writes a free diagnostic with the fix.

### 1.12.176, 2026-09-27

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

### 1.12.174, 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.12.173, 2026-09-27

- Tweet ID runs now say how many IDs they could not read.

### 1.12.171, 2026-09-27

- A run that finds no matching tweets now says it charged no results.
- Empty searches, profiles & tweet ID lookups now say what to change.
- Some runs that stopped early now say why.

### 1.12.170, 2026-09-27

- Runs save their progress less often, so they cost less in Apify usage.

### 1.12.167, 2026-09-27

- Latest + Top searches no longer skip results or end early when 1 mode runs
  short.
- Latest + Top runs that Apify moves to another server keep the same results.

### 1.12.166, 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.12.165, 2026-09-27

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

### 1.12.164, 2026-09-27

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

### 1.12.162, 2026-09-27

- `from:` searches that join many accounts with OR finish sooner.

### 1.12.160, 2026-09-27

- `from:` searches that join accounts with OR over a recent date range finish
  sooner.
- The diagnostics now name a missing or protected account in such a search.

### 1.12.158, 2026-09-27

- If the Actor cannot start, the run now ends with 1 free diagnostic.

### 1.12.157, 2026-09-27

- Polls of many accounts start more reads at once, so they finish sooner.
- Runs with hundreds of targets use less CPU.

### 1.12.155, 2026-09-26

- Replies runs with a date range skip a second read that found nothing.
- A date range with no replies now ends empty, not as a partial run.

### 1.12.154, 2026-09-26

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

### 1.12.153, 2026-09-26

- Missing or protected accounts no longer make a run partial. The run reads
  every other account to the end.
- The status & diagnostics count those accounts & say what to do.
- Runs over many accounts with a recent date range finish sooner.

### 1.12.152, 2026-09-26

- Profile Tweets now returns the author's replies to their own posts. It matches
  the Posts tab on X for any date range.

### 1.12.151, 2026-09-26

- A run that fills maxItems no longer reports a time limit.

### 1.12.150, 2026-09-26

- Large runs with many searches or accounts no longer run out of memory & finish
  sooner.

### 1.12.149, 2026-09-26

- Targets no longer fail when the service runs out of read capacity. 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.12.148, 2026-09-26

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

### 1.12.147, 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.12.146, 2026-09-26

- Large runs finish sooner, most of all profile runs with a date window.

### 1.12.143, 2026-09-26

- Runs that leave reposts out now skip them sooner. That covers `from:` searches
  with dates & `tweetTypes.excludeRetweets` in profile modes.
- When X stops serving a timeline, these runs read fewer pages.

### 1.12.142, 2026-09-25

- Input & Output tab descriptions now say what each field does.

### 1.12.141, 2026-09-25

- A search X cannot run now ends at once with a free diagnostic.
- The status says what to change, such as a filter to remove or a query to
  shorten. Each `unavailableTargets` entry has the same `fix`.
- X no longer supports `filter:vine`, `filter:consumer_video`,
  `filter:pro_video`, `filter:news` or `retweets_of:`. Their inputs now say so.
- 2 public tasks no longer use `filter:news`.

### 1.12.138, 2026-09-25

- Support gets better diagnostics. Rows, charges & the run report stay the same.

### 1.12.136, 2026-09-25

- Runs stop sooner once the requested number of results is reached.

### 1.12.134, 2026-09-25

- Short runs finish faster.
- Support can now look up every finished run.

### 1.12.132, 2026-09-25

- Accept more input field names from other tweet Actors. The README lists them.
- `count` now sets the row cap.
- URL fields also accept a single URL as text.

### 1.12.131, 2026-09-25

- Replies mode with a date window now returns more replies from that window.

### 1.12.130, 2026-09-25

- `quickDateRange` now sets a date window, such as `m1` for 1 month.
- An explicit `since_time` still takes priority.
- An invalid value stops the run before any charge.

### 1.12.129, 2026-09-25

- Likes X hides now report the reason `likes_hidden` with `retryable: false`.
- Protected accounts no longer add error lines to the run log.

### 1.12.128, 2026-09-25

- Runs with many searches, handles or URLs finish faster.

### 1.12.127, 2026-09-25

- Mixed inputs now stop exactly at `maxItems`.

### 1.12.126, 2026-09-25 update

- Reply reads finish sooner.
- Replies X hides no longer mark a post as partial.

### 1.12.126, 2026-09-25

- A `from:` search term with dates now leaves out reposts, as X search does. Add
  `include:nativeretweets` to keep them.
- Handles & profile URLs now keep reposts, as the Posts tab on X does. Turn on
  Exclude reposts to drop them.

### 1.12.125, 2026-09-25

- Runs recover faster from temporary service delays.
- A search near the time limit now keeps the rows it found.
- Filters now apply to every term of a search that uses `OR`.

### 1.12.124, 2026-09-25

- Languages `id`, `he`, `fil` & `nb` now return current posts.
- The same fix applies to `lang:` in search queries.

### 1.12.123, 2026-09-25

- Language `id` & `he` runs now keep Indonesian & Hebrew posts.

### 1.12.122, 2026-09-25

- A search X cannot run now ends quickly with the reason `search_unavailable`.
- The diagnostic suggests how to change the query.

### 1.12.121, 2026-09-24

- Profile runs finish sooner when X has no more posts.

### 1.12.120, 2026-09-23

- Profile, List & post page runs now apply `within_time` & `time.withinTime`.
- The Actor never charges for posts outside the window.
- List runs with a date window finish sooner.

### 1.12.119, 2026-09-23

- The status now names every reason a run stopped early.
- The diagnostic lists each cause in `stopCauses`, with advice.
- The status counts failed targets & partly available reply threads.

### 1.12.118, 2026-09-20

- List runs reach older date windows much faster.
- Windows far back in a List may leave out a few replies.

### 1.12.117, 2026-09-20

- Filtered List runs finish faster.

### 1.12.116, 2026-09-20

- List runs with a date window stop once the window has passed.
- The README explains that `until` is exclusive.

### 1.12.115, 2026-09-20

- Fewer runs end as partial when X pauses its results.

### 1.12.114, 2026-09-19

- Large runs finish sooner, & large reply threads return more replies.
- The diagnostic lists unavailable accounts in `unavailableTargets`.
- `listIds` runs return more List posts.
- Post URLs with extra paths, such as `/photo/1`, now work.
- `replyTweetIds`, `quoteTweetIds`, `threadTweetIds` & similar fields set the
  mode on their own.
- Add `tweetTypes.excludeReplies`, `excludeRetweets` & `excludeQuotes`. The
  Actor never charges for excluded rows.
- Mixed inputs run every source & share `maxItems`.
- A search query next to `searchTerms` runs as 1 more term.
- Accept more input field names from other tweet Actors. The README lists them.
- An invalid row cap stops the run before any charge.
- A run that reaches its reply limit ends as complete.
- Stall messages for profile, List & reply runs no longer mention searches.
- Aliases no longer clutter the input form.
- The status shows how much of a large reply thread X made available.

### 1.12.113, 2026-09-19

- Stalled searches now end with a clear status message.
- Planned stops no longer log errors.

### 1.12.112, 2026-09-19

- Flat tweet rows now include `isPinned`.

### 1.12.111, 2026-09-18

- Flat rows without media now include an empty `media` list.

### 1.12.110, 2026-09-18

- Retweets now carry `isRetweet` & their full text.
- Latest keyword searches start faster.

### 1.12.109, 2026-09-17

- Empty results now show how many rows the filters removed.

### 1.12.108, 2026-09-17

- Reply runs end as complete once every reply in range is collected.

### 1.12.107, 2026-09-17

- Reply runs report completion more accurately.

### 1.12.106, 2026-09-17

- Reply runs recognize posts that have no replies.

### 1.12.105, 2026-09-17

- Runs use a little less memory.

### 1.12.104, 2026-09-17

- Support can diagnose slow runs more easily.

### 1.12.103, 2026-09-16

- Reply runs report partial results more accurately.
- Diagnostic rows no longer count as results.

### 1.12.102, 2026-09-16

- Post lookups use less memory.

### 1.12.101, 2026-09-16

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

### 1.12.100, 2026-09-16

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

### 1.12.99, 2026-09-15

- Latest searches return more results.
- Stalled runs keep their progress.

### 1.12.98, 2026-09-15

- Date & language filters apply to every paged mode before any charge.
- Filtered runs keep reading toward the requested limit.

### 1.12.97, 2026-09-15

- Date & language filters now apply to profile Posts & With Replies modes.

### 1.12.96, 2026-09-15

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

### 1.12.95, 2026-09-14

- Results save faster.

### 1.12.94, 2026-09-14

- Progress saves faster.

### 1.12.93, 2026-09-14

- Stopped runs keep delivered rows & report partial results clearly.

### 1.12.92, 2026-09-14

- Stalled searches keep partial results & stop without starting over.

### 1.12.91, 2026-09-14

- Unavailable targets now count as failures, with free & clear diagnostics.
- Valid results from other targets stay in the dataset.

### 1.12.90, 2026-09-14

- Protected accounts now end quickly with a clear, non-retryable diagnostic.

### 1.12.89, 2026-09-14

- Active runs are no longer cut short while results keep arriving.

### 1.12.88, 2026-09-13

- Resumed searches keep partial results without duplicates.

### 1.12.87, 2026-09-13

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

### 1.12.86, 2026-09-13

- Run reports count the duplicates removed during a run.

### 1.12.85, 2026-09-13

- Searches return more unique results before reaching the limit.

### 1.12.84, 2026-09-13

- Run reports count results separately from diagnostics.

### 1.12.83, 2026-09-13

- Support can trace runs more easily.

### 1.12.82, 2026-09-13

- Profile runs with small limits finish faster.

### 1.12.81, 2026-09-13

- Resumed runs keep their progress.
- Long runs use the full configured time limit.

### 1.12.80, 2026-09-13

- Long runs save results as they arrive.

### 1.12.79, 2026-09-12

- Rows include repost times when available.

### 1.12.78, 2026-09-11

- Per-target limits now apply to account searches & Lists.
- Runs report completion once every target limit is reached.

### 1.12.77, 2026-09-10

- Minor fixes improve reliability & speed.

### 1.12.76, 2026-09-10

- Runs keep their progress after temporary storage errors.

### 1.12.75, 2026-09-10

- Resumed runs retry failed targets without double charges.

### 1.12.74, 2026-09-10

- Profile runs recover from temporary errors & keep filters.

### 1.12.73, 2026-09-10

- Stalled profile runs recover & keep partial results.

### 1.12.72, 2026-09-10

- Runs recover from temporary errors more reliably.

### 1.12.71, 2026-09-09

- Tweet URLs now work in lookup, reply, quote, thread & engagement targets.
- `maxItems` now applies to Tweet IDs, Tweet URLs & explicit modes.
- Runs stop at the charge limit. Diagnostics stay free.
- Failed pages report partial results & keep collected rows.

### 1.12.64 through 1.12.70, 2026-09-01

- The Actor uses a newer runtime & reports peak memory use.
- Runs respect every search cap.
- Output adds graphic-violence warnings.
- High-volume searches return more results.
- One result price now applies on every plan. Diagnostics are free.

### 1.12.39, 2026-08-13

- Long reads continue more reliably.

### 1.12.35 through 1.12.38, 2026-08-12

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

### 1.12.34, 2026-08-12

- Runs that reach their cap finish faster.
- Logs keep customer data private.

### 1.12.30, 2026-08-12

- The code is simpler. Results & billing stay the same.
- Invalid pages now report partial failure.

### 1.12.28, 2026-08-11

- Resumed runs now read pages the same way as new runs.

### 1.12.27, 2026-08-11

- Large searches finish faster.

### 1.12.26, 2026-08-11

- Failed searches report partial failure, not zero matches.

### 1.12.25, 2026-08-11

- Combined Latest & Top runs finish faster without duplicate charges.

### 1.12.24, 2026-08-11

- Profile runs report partial failures accurately.

### 1.12.23, 2026-08-11

- Result limits no longer show as budget warnings.

### 1.12.22, 2026-08-11

- Time-bounded searches are more reliable.

### 1.12.21, 2026-08-10

- The default Apify timeout is now `0`, so runs have no time limit.
- Runs continue until the cap or until results run out.
- Finite timeouts still leave time to save results.

### 1.12.19 through 1.12.20, 2026-08-10

- URL lookups keep results in order.

### 1.12.18, 2026-08-10

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

### 1.12.17, 2026-08-10

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

### 1.12.16, 2026-08-10

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

### 1.12.15, 2026-08-10

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

### 1.12.14, 2026-08-10

- Progress messages no longer show profile, List or Tweet targets.

### 1.12.13, 2026-08-10

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

### 1.12.12, 2026-08-10

- Warnings no longer include request details.

### 1.12.11, 2026-08-10

- Latest handle runs are more complete.
- Error messages no longer include request details.

### 1.12.10, 2026-08-10

- Long bulk reads finish before the run's time limit.

### 1.12.9, 2026-08-10

- Recent searches finish faster.
- Diagnostics show the exact Actor version.

### 1.12.8, 2026-08-10

- Quick restarts resume from the newest saved progress.

### 1.12.7, 2026-08-10

- Restarted runs never repeat rows or charges.

### 1.12.6, 2026-08-10

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

### 1.12.5, 2026-08-09

- Filtered recent profile windows return more results.
- Small caps no longer slow runs down.

### 1.12.4, 2026-08-09

- The Console shows grouped filters without duplicates.
- Flat filters still work in the API & saved tasks.
- Dataset & run report schemas describe every field for AI agents.

### 1.12.3, 2026-08-09

- Safety stops now report `pagination_safety_limit` & keep delivered rows.

### 1.12.2, 2026-08-09

- Partial results report `partial_failure`.
- Run reports count each failed target once.

### 1.12.1, 2026-08-09

- Time-bounded searches with many terms return more consistent results.

### 1.12.0, 2026-08-09

- Profile Tweets & With Replies modes return more posts.
- Profile results stay free of duplicates.

### 1.11.1, 2026-08-09

- Searches that keep failing report `partial_failure`.
- Partial rows still count as results.
- Run reports count each failed search once.

### 1.11.0, 2026-08-09

- Searches can now resume after interruptions.
- Bare `from:` searches keep replies.
- Account date windows no longer drop valid replies.

### 1.10.0, 2026-08-04

- Search date windows now return only posts inside the window.
- Posts outside the window no longer count toward the limit.
- The README recommends the `latest` build for every integration.

### 1.9.0, 2026-08-04

- Profile modes return only posts from the requested account.
- `profileTweets` no longer returns reply rows.

### 1.8.0, 2026-08-03

- Tweet ID lookups finish faster & return every available post.
- Lookups leave out duplicate & unrequested IDs.

### 1.7.0, 2026-08-03

- Real replies take priority over diagnostics at the result cap.

### 1.6.0, 2026-08-03

- Account date windows finish faster.
- Language filters check every returned post.
- Results stay free of duplicates across search terms & sort orders.
- Searches recover from temporary errors more reliably.
- Tweet lookup modes without IDs now accept a search query.
- Legacy `compact` & `full` output values work again.
- With Replies results no longer include posts from other authors.
- Fix a denial-of-service issue in a dependency.

### 1.5.0, 2026-07-31

- Replies mode returns much more complete reply threads.
- Replies mode returns direct replies to the requested tweet only.
- Incomplete reply targets return a `replyCoverage` diagnostic.
- Complete reply exports allow up to 25,000 rows.
- Default runs use rich, flat output with search attribution.
- camelCase & snake\_case dataset views include reply diagnostics.

### 1.3.0, 2026-07-30

- Structured filters have their own Console controls.
- Mode, output & search order use validated selects.
- Compatibility aliases still work in the API without cluttering the form.
- Start & Profile URLs accept both documented formats.
- Diagnostic-only runs now write `run-report` before exiting.
- Invalid result limits & negative engagement thresholds fail before a run
  starts.
- New runs no longer prefill an English-only filter.

### 1.2.0, 2026-07-29

- Dataset schemas list every tweet, author & media field.
- Quoted & reposted tweets keep the same public fields.
- The README field catalog matches current outputs.
- Output no longer includes viewer-only fields.
- Fix a security issue in a dependency.

### 1.1.0, 2026-07-14

- Add dataset views for camelCase, snake\_case & diagnostics.
- `fieldStyle` now applies to nested fields.
- Aborted runs finish their pending writes before adding a diagnostic.

### 1.0.99, 2026-06-20

- `profileReplies` matches the With Replies tab for mode & URL inputs.
- Runs continue past filtered or duplicate pages to find later results.
- Rich & raw outputs stay consistent on large runs.

### 1.0.69, 2026-06-20

- The run status now shows the same message as the diagnostic row.

### 1.0.68, 2026-06-20

- `includeSearchTerms: true` now tags rows from structured-only searches.

### 1.0.67, 2026-06-20

- The README explains that `profileReplies` returns the With Replies tab.
- Unsupported `mode` values return an `invalid-input` diagnostic.
- Other invalid options fall back to safe defaults.
- Runs continue past duplicate pages to fill the requested limit.
- No-input, invalid-input & empty runs write 1 diagnostic row.
- Diagnostic rows carry `resultType: "diagnostic"`.
- URL lists accept plain strings & `{ "url": "..." }` objects.
- The README marks profile likes as best effort.
- Combined Latest & Top searches return more results.
- `content.anyWords` now matches any of the words.
- `from` & `to` filters accept a leading `@`.
- Structured filters work without a raw query.
- Raw output includes the `raw` object in every mode.
- Schema & filter descriptions are clearer for AI agents.

### 1.0.66, 2026-06-20

- Input arrays declare item shapes for AI agents.
- README URL examples use `{ "url": "..." }` objects.
- Store & README copy say no X API key is needed.
- Run reports name the selected mode & count `diagnosticRows`.
- Status messages update only after new rows arrive.

### 1.0.65, 2026-06-20

- Add explicit `mode` values for replies, quotes, threads, engagement, profiles,
  Lists, lookups & search.
- Accept common input aliases, such as `urls`, `usernames` & `query`.
- Add richer dataset fields, such as `resultType`, `sourceTweetId` & `article`.
- Runs respect the Apify maximum total charge setting.
- Schema descriptions are clearer for users & AI agents.
- Empty runs write at most 1 diagnostic row.
- Tweet lookups & explicit modes share 1 result limit.

### 1.0.37, 2026-06-06

- Account date-window search terms return more complete results.
- `maxItems` now caps the whole run across Lists & searches.
- Timed searches continue past temporary empty pages.
- Account & date windows no longer widen unexpectedly.

### 1.0.36, 2026-05-05

- Busy periods no longer skip pages or search terms.
- Search terms accept UTC date-times in `since:` & `until:`.

### 1.0.35, 2026-04-23

- Validation messages for `maxItems`, `lang`, `within` & `geocode` are clearer.
- The dataset schema adds a `type` enum & nested quoted & reposted fields.
- Profile URLs with paths such as `/with_replies` & `/media` now work.
- A status message says when inputs were capped.
- The Information tab links this changelog.
- Posts without text no longer break a run.
- Empty runs write at most 1 diagnostic row.
- Tweet ID input takes up to 10,000 IDs per run.
- `maxItems` defaults to 100.
- The default input prefills only `startUrls`.

### 1.0.0, 2026-03-28

- Initial release on Apify Store.
