# Twitter Competitor Analysis: AI Winning Tweets & Profile Posts (`rich_minds/x-winning-tweets-ai`) Actor

First 25 winning tweets free. Twitter competitor analysis, pay per qualified winning tweet: track competitor tweets that beat their own average — ranked, why they won, a remix draft. Free demo on any plan. Tweet Hunter alternative.

- **URL**: https://apify.com/rich_minds/x-winning-tweets-ai.md
- **Developed by:** [Rich Minds](https://apify.com/rich_minds) (community)
- **Categories:** Social media, Marketing, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.00 / 1,000 qualified winning tweet (rules only)s

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Twitter Competitor Analysis: AI Winning Tweets & Profile Posts

**The tweets that beat each account's average, in your inbox weekly — with why they won.**

⚡ First **25 winning tweets free** · 💵 **$0.003** per winning tweet · 🤖 **≈ $0.022** per winning tweet all in with AI, on plans with model access or your key — or ours · ⏱️ demo in seconds

![Winning tweets ranked by how far they beat their own account's median — format, hook and why it worked](https://api.apify.com/v2/key-value-stores/xzYRh6R3XcWRaDfs1/records/shortlist.svg)

> **Try it in 30 seconds.** Click **Try it** — 54 sample tweets, their 10 winners in seconds, nothing charged. Then pick
> a one-click **preset** or type the X accounts you want to study.
> → [What a run costs](#-pricing--what-a-run-really-costs) · [What the AI adds](#-what-the-ai-tier-adds) · [Run it weekly](#-run-it-weekly)

### ⚡ At a glance

| | |
|---|---|
| **What you get** | Only the tweets that beat their own account's median, ranked, with why they worked |
| **You provide** | 3–10 X handles, or a dataset of the X scraper you already run |
| **Output** | A ranked sheet (Excel, CSV, Google Sheets) plus an e-mail digest of new winners |
| **Typical run** | 5 accounts × 90 days ≈ 500 tweets read → ≈ 60 winning tweets (≈ 12 %, estimate until a live run is measured) |
| **Cost of that run** | $0.43 rules only · $1.33 with AI — ≈ $0.007 / ≈ $0.022 per winning tweet all in, the X scan on your account included |
| **Free tier** | Your first 25 winning tweets on this Actor — one free tier per Apify account, however many X accounts you read |
| **Keys / setup** | 🔑 No API key: AI on every plan, the free demo included — Apify's model access where your plan has it, else our key, same price. Your own Gemini / Groq key is optional: free = 1–3 AI verdicts per run, paid = every winner |
| **Which plan** | Free demo, your own tweets ([list mode](https://api.apify.com/v2/key-value-stores/xzYRh6R3XcWRaDfs1/records/list-template.json)) or a dataset you have: any plan · live read: a plan that runs Store Actors |
| **Agencies** | Preset *Agency*: two clients' competitor sets in one run; a `clients` mode is dated 2026-10-31 |
| **Works with** | Schedules, webhooks, Sheets, Slack, Teams, Discord, Make / n8n / Zapier, MCP and AI agents |

### 🎯 What this Actor does

You give it X accounts; it keeps and charges only the tweets that beat each account's normal:

- **A fair winner test.** Each tweet is measured against *its own account's* median, so a small account's breakout
  counts: "5.13× this account's median".
- **Why it won.** Rule tags (format, hook, length, hour) and, with AI, hook type, topic, CTA and tone.
- **Content ideas for your brand.** With AI and a one-line brand description: a remix idea and a draft post that
  reuse its *structure*, never its words.
- **The pattern across winners.** The hooks, formats and posting hours winners share ("5 of 10 are threads").
- **Only new winners.** Never charged twice; retweets, replies and ads are skipped free.

#### Find top performing tweets of any account

The multiple (default 2), window, min likes, formats, `focusTopic`, `topPerAccount`, `excludeTerms` and
`suppressionList` are free filters.

#### Tweet hook analysis without the spreadsheet

The **Why they won** view lines up each winner's first line, hook pattern and multiple per account.

#### Twitter content ideas from competitors

Fill in "Your brand (for the remix drafts)" for a remix idea and a draft post per winner.

### 🚀 How to use it

1. **Click `Try it`** — the form is pre-filled with the free demo on sample tweets; it works as is.
2. **Pick a preset or type your accounts**, your topic and brand — that starts the live read. Leave "AI assessment"
   on: every winner gets a live AI verdict on any plan — Apify's model access, else our key
   ([Keys / setup](#-at-a-glance)).
3. **Press Start and open the dataset** — winners land best-first; export to CSV or Excel, or wire a webhook.
4. **Schedule it weekly** (Actions → Schedule) with your address in "E-mail me the new winning tweets" — only new winners
   are delivered and charged.

#### 📦 Already scraping X? Find the winners in your tweet scraper data

Pick your last run of **Tweet Scraper V2**, an **X Tweet Scraper** or a profile scraper in **Dataset**: no second
scrape, you pay only for the winners.

![Remix drafts — each winner's structure rewritten for your brand, never its words](https://api.apify.com/v2/key-value-stores/xzYRh6R3XcWRaDfs1/records/remix.svg)

📚 **Learn more:** [Step-by-step tutorial — Twitter competitor analysis with this Actor](https://api.apify.com/v2/key-value-stores/xzYRh6R3XcWRaDfs1/records/tutorial.html)

### 🆚 Why this instead of running the scraper yourself?

The scraper returns raw rows; the medians, the sorting and the "why" are left to you.

| | [Twitter Profile Scraper - All X Tweets by Date Range (`delicious_zebu/advanced-x-twitter-profile-scraper`)](https://apify.com/delicious_zebu/advanced-x-twitter-profile-scraper) | **This Actor** |
|---|---|---|
| **Your time per 100 winning tweets** | ≈ 8 h of medians and reading 830 tweets (estimate, not timed) | 0 h — ranked, tagged, explained |
| **What you pay for** | every tweet read, retweets and replies included | only winning tweets — junk costs **$0 here** (the scan is capped) |
| **Price** | $0.0005 per tweet + $0.00005 per run start · 136 users / 30 days | from $0.003 per winning tweet, first 25 free, no start fee |
| **Same job, all in** | ≈ $0.42 for 830 unsorted rows — the medians and the reading still yours | 100 ranked winners: $0.74 rules only ($0.42 scan + $0.30 here + $0.02 digest) · $2.24 with AI |
| **Repeat runs** | the same tweets again next week | only new winners are delivered and charged |

#### vs other X competitor analysis tools

| | Price | ≈ 100 usable winners, all in | What is missing |
|---|---|---|---|
| **This Actor** | $0.003 per winning tweet (AI $0.015) | $0.74 · $2.24 with AI — only winners billed | follower lists, ads |
| `seemuapps/x-viral-tweets-scraper` | $0.004 per tweet + start · 7 users | ≈ $0.40 + start for 100 viral tweets by topic | your competitors, a per-account baseline, why |
| `datamagnet/x-twitter-top-inspiration-posts` | $0.01 per post · 2 users | ≈ $1.00 for 100 top posts by country | your competitors, a baseline, AI |
| `xquik/x-tweet-viral-score-analyzer` | $0.0003 per tweet · 1 user | ≈ $0.03 for 100 scored tweets (+ the scrape) | an outlier filter, why |
| `apidojo/tweet-scraper` | $0.0004 per tweet · 9,488 users | ≈ $0.33 for 830 raw rows — the sorting yours | any analysis (we read its datasets) |
| `kaitoeasyapi/twitter-x-data-tweet-scraper-pay-per-result-cheapest` | $0.00025 per tweet · 8,896 users | ≈ $0.21 for 830 raw rows | any analysis (we read its datasets) |
| `xquik/x-tweet-scraper` | $0.00015 per tweet · 2,651 users | ≈ $0.12 for 830 raw rows | any analysis (we read its datasets) |

**More rivals** (raw rows, no baseline or AI): `scrape.badger/twitter-tweets-scraper` $0.00015 per tweet · 605 users;
`scraper_one/x-posts-search` $0.00025 · 508; `scraper_one/x-profile-posts-scraper` $0.0004 + $0.0025 per run · 457
(our 2nd source); `viralanalyzer/twitter-scraper` $0.005–$0.02 · 4; `xtdata/twitter-x-user-tweets-scraper`
$0.0005–$0.0015 · 43, 50-tweet minimum; `6sigmag/twitter-profile-hunter-bulk-website-to-twitter-mapper` $0.002 per
profile · 0, websites → handles.

Raw-row cells assume our ≈ 12 % hit rate (830 tweets per 100 winners).

Store prices and users, checked 2026-10-17. None has a per-account baseline or an AI why-it-won.

#### 💸 Cheaper than a Tweet Hunter or Hypefury seat

Tweet Hunter is $49 a month ([Grow plan](https://tweethunter.io/pricing), checked 2026-10-17), Hypefury $19
([Full plan](https://hypefury.com/pricing), checked 2026-10-17); 5 accounts weekly here ≈ $1.25 a month, ≈ $1.55 with AI.

### 💵 Pricing — what a run really costs

Pay per result: **one event per winning tweet, plus one digest per run that billed a winner.**

| Event | When it is charged | Price |
|---|---|---|
| `free-tier` | your first 25 winning tweets, any mode | **$0.00** |
| `qualified-winning-tweet-basic` | AI off — the tweet, its numbers, baseline, multiple, rule tags | **$0.003** |
| `qualified-winning-tweet-ai` | AI on — plus why it worked, hook, topic, CTA, tone, remix idea and draft | **$0.015** |
| `digest-delivered` | once per run that billed ≥ 1 winning tweet: digest and report (first 3 free) | **$0.02** |

**Never charged by us:** losers, retweets, replies, ads, filtered or off-topic tweets, repeats, the demo. **The X scan
is not ours to waive** — the scraper bills your account per tweet read, capped by "Max source spend"; a dataset you
already have costs no scan.

**How that compares** — $0.003 is 1.3× the $0.0022 median of the 10 priced Actors next to this one in Store search for
"twitter competitor analysis", a median of raw and follower scrapers. Against the 10 same-job X Actors (viral-tweet
finders, post-performance monitors) it is under half their $0.007 median. One winning tweet replaces ≈ 8 raw rows, ≈ $0.0004 per raw row equivalent.

**Worked example** — 500 tweets read → ≈ 60 winners (≈ 12 %, estimate): X scan $0.25 on your account + 60 × $0.003 =
**$0.43, ≈ $0.007 per winning tweet** with rules only. With AI: $0.25 + 60 × $0.015 + ≈ $0.18 tokens = **$1.33, ≈ $0.022
per winning tweet**. Your first 25 winners and first 3 digests are free, so your first run costs $0.25 + 35 ×
$0.003 ≈ $0.36.

**At volume** — an agency, 10 clients × 5 accounts weekly: $2.50 scan + 50 winners × $0.003 + 10 digests × $0.02 ≈
$2.85 a week (≈ $12.30 a month), ≈ $3.60 with AI — against one $49 Tweet Hunter seat.

**AI tier, all in:** ≈ $0.022 per winning tweet — $0.015 here + ≈ $0.003 tokens (1,725 in / 273 out, measured
2026-10-17, `google:gemini-3.5-flash-lite`) + ≈ $0.004 scan; on our key the tokens are inside the $0.015.

### 🤖 What the AI tier adds

The same winning tweet, AI **off** (the free demo run):

```json
{"name": "@contoso_growth: 7 landing page lines that doubled our demo bookings: (sample — link inert)", "format": "thread",
 "outlierMultiple": 5.13, "ruleScore": 79, "label": "hot", "hookType": "number_or_list", "ctaType": "none",
 "whyItWorked": "Beat the account median by 5.13× with 640 likes and 520 bookmarks; thread, number opener", "remixIdea": null}
```

AI **on** ($0.015) — our 2026-10-17 run of the AI example input (on Apify's model access the default model is
`anthropic/claude-haiku-4.5`):

```json
{"name": "@contoso_growth: 7 landing page lines that doubled our demo bookings: (sample — link inert)", "fitScore": 94, "score": 94,
 "label": "hot", "assessedBy": "ai", "aiModel": "google:gemini-3.5-flash-lite",
 "hookType": "number_or_list", "contentPillar": "landing page copy", "ctaType": "none", "tone": "educational",
 "whyItWorked": "The tweet secured 520 bookmarks (an 0.81 bookmark-to-like ratio) and reached 5.13x the median by opening with a clear number hook: \"7 landing page lines that doubled our demo bookings:\" followed by actionable examples.",
 "draftPost": "7 onboarding steps that doubled our trial upgrades: → \"Invite your first teammate\" → \"No setup required\" → \"Import data in 1 click\" → \"Used by [number] founders\" → \"Test with your live metrics\" → \"Chat with an analyst\" → \"Free migration support\""}
```

The rule tier gives the pattern; only the AI names the mechanism and writes your version — about 5 minutes per
tweet by hand (our estimate, not timed). Which plan gets which AI: [Keys / setup](#-at-a-glance).

### ⚙️ Input

<details><summary>Main fields and their defaults</summary>

| Field | Type | Default | What it does |
|---|---|---|---|
| `preset` | select | `custom` | A ready niche search; replaces the sample accounts, capped at $0.15 |
| `accounts` | string\[] | — | X handles or profile URLs; your own start the live read |
| `outlierMultiple` | number | `2` | A tweet wins at this many times its account's median |
| `lookbackDays` | integer | `90` | The window read per account and used for its median |
| `maxTweetsPerAccount` | integer | `300` | Caps the source read per account (≈ $0.0005 per tweet) |
| `minScore` | 0–100 | `30` | 30 keeps every winner (2× ≈ 45, 4× ≈ 70) |
| `maxQualified` | integer | `100` | Hard cap on winners (and on what this Actor charges) |
| `maxDiscoveryChargeUsd` | number | `0.5` | Stops the X scan once it has cost this much |
| `enableAi` | boolean | `true` | AI analysis on / off |
| `sourceMode` | `actor` | `dataset` | `list` | `actor` | Where tweets come from; `{}` runs the free demo |

Delivery: `notifyEmail` and `sendAlertsTo` (Slack, Discord, Teams, Google Chat, Telegram or webhook URLs). Every other
input — API-only ones and `targetFlags` values too — is in the API reference.

</details>

### 📤 Output

One dataset item per winning tweet — export as JSON, CSV or Excel, or stream it to a webhook. Views: `Shortlist`, `Why
they won`, `Remix drafts`, `Baseline maths`, `Export` (every AI field included), `Score breakdown`. Webhook body, example
row, flags and every `OUTPUT` key: [API reference](https://api.apify.com/v2/key-value-stores/xzYRh6R3XcWRaDfs1/records/api-reference.md).

#### Output fields

<details><summary>Every field of a row</summary>

- **Tweet (demo names end "sample — link inert"):** itemId, name, url, tweetId
- **Account:** account, accountName, accountUrl, accountBio, accountWebsite, followers, verified
- **Text and time (UTC):** text, firstLine, postedAt, postedWeekday, postedHourUtc, lang, postedVia
- **Counts as reported:** likes, reposts, retweets, quotes, replies, views, bookmarks
- **Media:** isQuote, quotedTweetUrl, isAd, mediaType, imageUrls, videoUrls, hashtags, mentions, externalUrls, threadParts
- **Free rule tags:** format, hookPattern, textLength, hashtagCount, mentionCount, hasLink, flags, targetFlagsMatched
- **Derived numbers:** engagement, engagementRatePct, viewRatePct, bookmarkToLikeRatio
- **Baseline:** accountMedianEngagement, accountMedianMetric, accountPostsInWindow, baselineConfidence, baselineZero, outlierMultiple, rank, percentileInAccount, metricUsed, metricNote
- **Scores — sort by `score`; trend across runs on `ruleScore` (`fitScore` is the AI's):** ruleScore, fitScore, score, label, assessedBy
- **Analysis (AI, else rules):** scoreReasons, hookType, contentPillar, ctaType, tone, whyItWorked, relevant, relevanceReason, remixIdea, draftPost, aiAssessed, generatedText
- **Provenance:** aiModel, chargedEvent, billedAs, dedupeKey, source, sourceActor, dateWindow, scrapedAt, firstSeenAt

A figure or flag the source does not report is `null`, never 0 / false.

</details>

**Upsert key for a CRM or Sheet:** `dedupeKey` — `tw:` plus the tweet id, so one tweet is one row however many runs or
account lists find it; `itemId` is a hash of the same key.

A **`DIGEST`** (new and hot counts, **what changed since the last run** — "vs last run: qualified 41 → 55, hot 5 → 9"
— the top 10 with links) and a client-ready **`REPORT`** page (`OUTPUT.reportUrl`) follow every run that delivered.

⭐ **Found it useful? A review on the Store helps others find it.**

### 🔁 Run it weekly

Track competitor tweets on autopilot:

1. **Open the saved task and click Schedule** after your first real run (its status links it). Put your address in
   "E-mail me the new winning tweets" and turn on "Fail the run when the source delivers nothing".
2. Leave "Never output the same winning tweet twice" on: each run keeps the 90-day median but delivers and charges
   **only the winners posted since the last run**.
3. Digest to Slack, Teams, Google Chat or Discord; rows to Sheets or your CRM via a Make / n8n / Zapier "create or
   update row" step on the webhook ([tracker template](https://api.apify.com/v2/key-value-stores/xzYRh6R3XcWRaDfs1/records/tracker.csv), upsert on `dedupeKey`) — no weekly
   import; remix drafts to Typefully, Buffer or Hypefury the same way
   (scheduler recipe).

**Rising now:** preset *Rising now* on a schedule every 6 hours (`0 */6 * * *`) with your Slack URL in "Send alerts
to" — the 30-day median stays, only the last day's winners arrive, while the reply window is still open.

Weekly cost: 5 accounts → $0.25 scan + ≈ 5 new winners × $0.003 + $0.02 digest ≈ $0.29 with rules, ≈ $0.36 with AI.
`OUTPUT.history`, the `REPORT` page and `historyDatasetName` keep every run's winners.

#### 🎯 Try it for your niche

Pick one in **Start from a ready niche search** and press Start, then schedule it. Each reads 3 accounts × 50 tweets,
capped at $0.15 of source spend; its measured match count is dated 2026-10-24.

<details><summary>The ready niche searches</summary>

| Niche | Accounts | Start |
|---|---|---|
| SaaS founders building in public | levelsio, marc_louvion, dvassallo · 30 days | preset *SaaS founders* |
| Creators & ghostwriters | thejustinwelsh, dickiebush, nicolascole77 · 30 days | preset *Creators & ghostwriters* |
| AI builders | simonw, swyx, karpathy · 30 days | preset *AI builders* |
| Growth marketers | lennysan, andrewchen, hnshah · 30 days | preset *Growth marketers* |
| Rising now (every 6 hours) | the creator set · last day's winners vs a 30-day median | preset *Rising now* |
| Agency — two clients | the SaaS and creator sets in one run | preset *Agency* |

</details>

### 🔌 Integrations, automation and API

**Which delivery field wins:** each URL is posted once — use "Send alerts to"; the older per-service fields and their
precedence are in the API reference.

- **After every run of your X scraper** (`apidojo/tweet-scraper`, kaitoeasyapi's, xquik's, the profile scraper): its
  Integrations tab → "Run succeeded → start this Actor" with `sourceMode: dataset`, `datasetId` =
  `resource.defaultDatasetId`, `enableAi: false` — rules only.
- **Webhook** — one POST per winner, or `winning_tweets.qualified` batches, each with `runId`; a 429 / 5xx is retried
  once and never fails the run.

Signature and **which call runs what** (`OUTPUT.mode`: `{}` → free demo · `accounts` → live,
charged · `list` / `dataset` → your rows, no scan) are in the API reference.

#### Run outcomes — what your integration sees

<details><summary>Outcome table</summary>

| Outcome | Run status | `OUTPUT` | Charged? |
|---|---|---|---|
| Success / free demo | SUCCEEDED | `outcome: ok`, funnel, `aiCoverage` | per winner / no |
| Nothing matched | SUCCEEDED | `outcome: empty` | not by us |
| Your plan cannot run the source Store Actor | SUCCEEDED (`failOnSourceError: true` fails it) | `ok: false`, `outcome: source_refused` | no — [list-mode rows](#list-mode-rows) |
| Source failed (nothing loaded) | FAILED | `ok: false`, `outcome: source_failed`, `sourceError` | no |
| Source partial (timed out after scraping) | SUCCEEDED | `sourceStatus.partial` | per winner |
| AI unavailable | SUCCEEDED | `aiError` | basic price |
| Invalid input | FAILED | — | no |

</details>

<details><summary>API snippets — Python and JavaScript</summary>

```python
from apify_client import ApifyClient

client = ApifyClient("<YOUR_API_TOKEN>")
run = client.actor("rich_minds/x-winning-tweets-ai").call(
    run_input={
        # free first call: {} (the demo) or {"sourceMode": "list", "itemsList": [...]}
        "sourceMode": "actor",
        "accounts": ["levelsio", "marc_louvion", "dvassallo"],
        "maxQualified": 50,
        "maxDiscoveryChargeUsd": 0.5,  # spend cap on your account for the X scan
        "failOnSourceError": True,  # a plan refusal ends FAILED, so your alert fires
    },
    timeout_secs=3600,  # sized for the AI path with your own key — see "How long does a run take?"
    # build="0.1.3",  # pin the build number your pipeline was tested with (Changelog below); omit for the latest
)
out = client.key_value_store(run["defaultKeyValueStoreId"]).get_record("OUTPUT")["value"]
if out.get("sourceError"):  # without failOnSourceError a plan refusal ends SUCCEEDED with 0 rows
    raise RuntimeError(out["sourceError"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item["url"], item["score"], item["label"])
```

```javascript
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: '<YOUR_API_TOKEN>' });
const run = await client.actor('rich_minds/x-winning-tweets-ai').call({
    // free first call: {} (the demo) or { sourceMode: 'list', itemsList: [...] }
    sourceMode: 'actor',
    accounts: ['levelsio', 'marc_louvion', 'dvassallo'],
    maxQualified: 50,
    maxDiscoveryChargeUsd: 0.5, // spend cap on your account for the X scan
    failOnSourceError: true, // a plan refusal ends FAILED, so your alert fires
}, { timeout: 3600 /* , build: '0.1.3' — pin the build number your pipeline was tested with */ });
const out = (await client.keyValueStore(run.defaultKeyValueStoreId).getRecord('OUTPUT')).value;
if (out.sourceError) throw new Error(out.sourceError);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items.map((i) => [i.url, i.score, i.label]));
```

</details>

<details><summary>Use it from Claude, ChatGPT or any MCP client</summary>

```json
{"mcpServers": {"apify": {"url": "https://mcp.apify.com/?actors=rich_minds/x-winning-tweets-ai"}}}
```

**Minimal agent input** — live read:

```json
{"accounts": ["levelsio", "dvassallo"], "lookbackDays": 30, "winnersWithinDays": 7, "dedupeAcrossRuns": false, "maxQualified": 20, "maxDiscoveryChargeUsd": 0.5}
```

Any plan, your own rows (list mode); `{}` runs the free demo:

```json
{"sourceMode": "list", "itemsList": [{"tweetId": "1850000000000000001", "authorHandle": "contoso_growth", "fullText": "7 landing page lines that doubled our demo bookings:", "likeCount": 120, "createdAt": "2026-10-01 09:00:00+00:00"}]}
```

</details>

### 👥 Who is it for?

| You are… | You run it to… | Start with |
|---|---|---|
| Social media manager | see every Monday which competitor posts beat their average, and why | 5 accounts, weekly |
| Agency running content for clients | brief each client with proven hooks and a draft | preset *Agency* |
| Ghostwriter, founder, creator | the best posts of 10 accounts in your niche | a niche preset + your brand |
| Growth team or AI agent | a typed winning-tweets tool into Sheets, Notion or Slack | the minimal agent input |

### 🧠 How the AI works

The model sees only winners. Every why must quote the tweet and name a number; a remix copying 7 words of the original
is dropped, handles and hashtags are stripped, an invented % or $ becomes `[your number]`. A model failure leaves the
rule tags.

### 🔒 Data, compliance and limits

- Public posts of public X accounts only; follow X's terms and the law (GDPR, CCPA) for your use.
- An account needs 3 posts in the window for a median (under 8 is flagged `low_baseline_confidence`); the source's Free
  plan reads 50 tweets per run.

### ❓ FAQ

**What will my first real search cost?** 3 accounts × 90 days ≈ 300 tweets ≈ $0.15 on your account and ≈ 36 winners
— the first 25 free, the rest $0.003 each with rules.

**What are the top tweets by account worth copying?** The ones far above that account's own median. The hook, format and
posting hour that repeat across winners in the Why they won view are the answer for your niche.

**Is this a Twitter profile posts scraper?** Not a raw one — it runs the Twitter Profile Scraper on your account and
adds the baseline, filter, analysis and memory.

**Is it a viral tweets finder?** Yes, per account: "viral" means far above *that* account's normal, so a small account's
breakout counts as much as a big account's.

**Is this a Tweet Hunter alternative?** For competitor research, yes, at the seat prices above. It does not post for
you — the drafts go to Typefully, Buffer or Hypefury as drafts (the scheduler recipe under Run it weekly).

#### List-mode rows

<details><summary>What a pasted tweet needs</summary>

[Ready template](https://api.apify.com/v2/key-value-stores/xzYRh6R3XcWRaDfs1/records/list-template.json); the leader scrapers' rows map as they are:

| Field | Needed? | What it enables |
|---|---|---|
| `tweetId` | required | identity, link, dedupe key (or `id`, `tweetUrl`) |
| `authorHandle` | required | the account it is compared with |
| `likeCount` | required | engagement (or `repostCount`, `replyCount`) |
| `fullText` | optional | hook, format, AI analysis |
| `createdAt` | optional | posting time, date window |
| `viewCount` | optional | views; `isReply`, `isRetweet`, `isAd` drive the filters |
| `authorFollowers` | optional | engagement rate; `author*` fill the account |

</details>

<details><summary>More questions: X Advanced Search, duplicates, run time, plans, safety</summary>

**Why not just use X Advanced Search for free?** `from:handle min_faves:500` is free, instant and shows the live replies —
it wins for a one-off look at one account. It has no per-account baseline, export, API, schedule or memory, and no why.

**Will I be charged for the same tweet twice?** No, with "Never output the same winning tweet twice" on (default): every
charged tweet is remembered by its id on your account. Adding an account keeps that memory; a tweet already paid for
under another filter set is delivered as `already-charged`, never charged again.

**How long does a run take?** One row per mode — size `timeoutSecs` from it; the source read gets at most 60 % of it.

| Mode | Time | `timeoutSecs` to pass |
|---|---|---|
| Free demo (54 sample tweets) | 0.2 s measured (2026-10-17) | 120 |
| Your own tweets, rules only | seconds (estimate) | 300 |
| Live read, rules only | the source's read of 500 tweets, a few minutes (estimate) | 1200 |
| AI with a free own key | measured 2026-10-17: ≈ 0.7–0.8 s per winning tweet (free google:gemini-3.5-flash-lite key, ≈ 75 a minute); 50 winners ≈ 215 s | 600 |
| AI, rate-limited own key | worst case per 100 winners: 100 × 0.8 s + 60 s of waiting, then rule scores | 900 |
| AI via model access or our key | ≈ 10–25 s per call, 8 at a time (estimate) | 1800 |

Every run reports its phases in `OUTPUT.timing` (AI rate-limit waiting in `aiBackoffSecs`).

**Which Apify plan do I need?** Any plan runs the free demo and your own tweets, and AI runs on every plan — Apify's
model access where your plan has it, else our key ([Keys / setup](#-at-a-glance)). The live read runs the X scraper, which takes a plan that runs Store Actors; on any other
plan paste tweets in `list` mode or point `dataset` at a dataset you have.

**Do rule-scored winners use my free ones?** Yes while the AI is unavailable — except the last 5
(`OUTPUT.chargeSplit.freeKeptForAi`), kept for your first AI-analysed winners.

**What happens if nothing matches my filters?** The run succeeds with 0 rows and charges nothing here; the status says so.

**Can I post the drafts as they are?** Edit them first: a draft reuses the winner's structure, never its words
(one sharing 7 words with the original is dropped), and every `[your number]` is a fact only you can fill. Post from
your own account, a few a day, under X's automation and paid-partnership rules; the Actor itself posts nothing.

</details>

### 🧩 More Actors from the same developer

- **[Instagram Competitor Content](https://apify.com/rich_minds/ig-competitor-winning-posts)** — The same beat-the-median test for your competitors' Instagram posts.
- **[Facebook Page Post Tracker](https://apify.com/rich_minds/fb-page-post-tracker)** — The winning posts and offers of the Facebook pages you track, weekly.
- **[Threads Brand Monitoring](https://apify.com/rich_minds/threads-brand-monitoring-ai)** — Every Threads post that mentions your brand or a competitor, with its sentiment, as an alert.
- **[Twitter Lead Generation](https://apify.com/rich_minds/twitter-lead-generation-ai)** — The X posts of people asking for a product like yours, ranked as leads with a reply draft.

**Same competitors on every network:** schedule this Actor, the Instagram and the Facebook one weekly, each webhook
into one Sheet upserted on `dedupeKey`.

### 🆘 Support

Something missing or wrong? Open an issue on the Actor's page — buyer requests ship first.

### 📝 Changelog

- **0.1.3** (2026-10-18) — live AI verdicts in the free demo on every plan; drafts whose count disagrees with their list are fixed or dropped; *Rising now* preset.
- **0.1.2** (2026-10-18) — AI on every Apify plan at the same price; the big X scrapers' datasets read as they are; niche presets; a $0.02 digest per billed run (first 3 free).
- **0.1.1** (2026-10-17) — initial release: winners vs each account's median, rule tags, AI why-it-worked and remix draft, weekly digest.

# Actor input Schema

## `preset` (type: `string`):

Pick a niche and press Start: it replaces the sample accounts below (the untouched sample counts as empty) and runs a capped live read — at most $0.15 of source spend unless you set your own cap. A value you typed yourself always wins; the status names the accounts that ran. <b>Custom</b> = fill the fields yourself.

## `accounts` (type: `array`):

X handles, @handles or x.com profile URLs. Each tweet is compared with its own account's median; only the ones that beat it are kept. The prefill is the free demo's sample — typing your own switches to the live read on your Apify plan, any plan that runs Store Actors. Affects what you pay: ≈ $0.0005 per tweet read.

## `focusTopic` (type: `string`):

Your niche in plain words, e.g. <i>B2B SaaS pricing</i>. With AI on, winners that are clearly about something else are skipped and <b>never charged</b> (AI off: a winner must mention one of its words). Empty = every winner counts.

## `brandDescription` (type: `string`):

One sentence on your brand and audience, e.g. <i>Acme Analytics — product analytics for early-stage SaaS founders who build in public</i>. The AI rewrites each winner's structure — hook, format, call to action — into a remix idea and a draft post for you, never copying its words. Empty = no remix (the status says so).

## `notifyEmail` (type: `string`):

After every run with at least one new winning tweet, the digest (how many are new, the top 10 with links and why they won) is e-mailed here through Apify's send-mail Actor. Schedule the run weekly (Actions → Schedule) and only new winners reach your inbox. Never sent for the free demo.

## `minScore` (type: `integer`):

Winning tweets scoring below this are discarded and <b>not charged</b>. 30 keeps every tweet that beat its account's median by the multiple (2× scores 45, 4× 70, 8× 95); raise it to pay only for the biggest outliers. Affects what you pay.

## `maxQualified` (type: `integer`):

Hard cap on results — and the ceiling of what <b>this Actor</b> charges: at most this many × $0.015 with AI on (× $0.003 with AI off), e.g. 100 × $0.015 = $1.50 worst case; the source's own spend has its cap right below. The biggest outliers are output first. Affects what you pay.

## `maxDiscoveryChargeUsd` (type: `number`):

Hard cap on what the X profile scraper may charge your account in a live read — $0.50 in the form and for an API or agent call that leaves it out (≈ 1,000 tweets at $0.0005), so a first real read can never cost more. Raise it for more accounts or a longer window. Affects what you pay.

## `enableAi` (type: `boolean`):

Explain why each winner worked (hook, topic, CTA, tone), check it against your focus topic and draft a remix for your brand. <b>On = $0.015 per winning tweet + AI tokens; off = $0.003</b>. Your first 5 get live AI verdicts on any plan; every one with Apify model access, our AI key or a paid own key.

## `outlierMultiple` (type: `number`):

A tweet wins when its metric is at least this many times its own account's median in the window. 2 = twice a normal post. Lower it to see more winners, raise it for only the outliers. Affects what you pay (more winners, more charged rows).

## `lookbackDays` (type: `integer`):

The days of tweets read per account and used for its median. 90 balances a solid baseline and the source bill; 30 for prolific accounts or a Free plan. Ignored when a start and end date are set (advanced). Affects what you pay (a longer window reads more tweets).

## `winnersWithinDays` (type: `integer`):

Deliver only winners posted in the last N days while the median still uses the whole window. A scheduled run sets this to the days since its last run, so a weekly schedule gets each week's new winners against a 90-day baseline.

## `maxTweetsPerAccount` (type: `integer`):

Caps the source read per account (its <code>maxCollections</code>). 300 covers 90 days of a daily poster. Affects what you pay: ≈ $0.0005 per tweet read, on your Apify account.

## `metric` (type: `string`):

The number each tweet is compared on. <b>Engagement</b> = likes + reposts + replies + bookmarks.

## `topPerAccount` (type: `integer`):

Keep only each account's N best winners — e.g. 5 for a weekly top-5 per competitor. Trimmed winners are never charged. Affects what you pay.

## `formats` (type: `array`):

Only analyse tweets of these formats (the median is then the median of those formats). Empty = all formats.

## `minLikes` (type: `integer`):

Tweets with fewer likes are dropped before the median — also passed to the source, so it never reads (or bills) them.

## `excludeTerms` (type: `array`):

Words or hashtags (e.g. <code>giveaway</code>) — tweets that mention one are dropped before the median and never charged.

## `targetFlags` (type: `array`):

Only deliver winners with at least one of these tags, ranked by how many they have. Empty = keep every winner. An API call passes the names from the README's flag table, e.g. <code>thread_format</code> (<code>threadFormat</code> works too); an unknown name stops the run at once with the list of valid ones.

## `suppressionList` (type: `array`):

Tweet URLs, tweet ids or @accounts to never output — skipped before any processing and never charged.

## `llmProvider` (type: `string`):

<b>Apify (no keys)</b> — the AI runs through Apify's built-in OpenRouter proxy; tokens are billed to your Apify account at OpenRouter's rates. On a plan without that access our own AI key assesses every winning tweet at the same AI price. <b>My own key</b> — your OpenAI / Anthropic / Gemini / Groq key instead: measured 2026-10-17, a free google:gemini-3.5-flash-lite key assessed 10 of 10 winning tweets at ≈ 0.7–0.8 s each; a busy free key may stop after 1–3 AI checks (the rest keep their rule score); a paid Groq / Gemini key (billing on) assesses every winning tweet.

## `llmModel` (type: `string`):

Leave empty for the default (<code>anthropic/claude-haiku-4.5</code>). Apify mode takes an OpenRouter slug such as <code>openai/gpt-4.1-mini</code>; own-key mode takes <code>provider:model</code>, e.g. <code>google:gemini-3.5-flash-lite</code> (the own-key default).

## `llmApiKey` (type: `string`):

Required when <b>AI model access</b> is <i>My own API key</i>. Stored encrypted by Apify, never logged.

## `sendAlertsTo` (type: `string`):

Paste one or more URLs, one per line — the service is detected from the address: a Slack or Discord channel webhook, a Teams Workflows or Google Chat space webhook, your Telegram bot's send link (<code>https://api.telegram.org/bot\<token>/sendMessage?chat_id=@yourchannel</code>) or any other https URL (Zapier, Make, n8n, your CRM), which gets the winning tweets as JSON. After every run with at least one new winning tweet, the digest (how many are new, the top 10 with links) is posted there. Never sent for the free demo. Headers, batching and signing: <i>Delivery details (advanced)</i>.

## `dedupeAcrossRuns` (type: `boolean`):

Remembers every winning tweet you were charged for (by tweet id, in a named key-value store on your account) and skips it in future runs — a weekly schedule returns only new winners.

## `historyDatasetName` (type: `string`):

Optional. Type a name (e.g. <code>x-winning-tweets-log</code>) and every run appends its new winning tweets with the date to that named dataset on your account — one list across months to connect to Google Sheets or your BI tool once. Empty = off. Costs nothing extra.

## `sourceMode` (type: `string`):

<b>actor</b> — read the accounts live with the X profile scraper below, on your Apify account, billed separately (any plan that runs Store Actors). <b>dataset</b> — an existing run of either X source. <b>list</b> — tweet rows you paste in (fields: README → List-mode rows). <b>Bring your own data:</b> rows or a dataset ID, and you pay only for the winners — the source is never run. The mode you choose always runs as chosen; only the untouched sample next to accounts you typed switches to the live read (spend-capped). <code>{}</code> over the API runs the free demo — nothing charged.

## `failOnSourceError` (type: `boolean`):

Off (default): a plan that cannot run the X scraper ends SUCCEEDED with 0 rows and <code>OUTPUT.ok: false</code>. On: the same run ends FAILED with the same message, so a schedule's or an API pipeline's failed-run alert fires. Turn it on for every schedule.

## `datasetId` (type: `string`):

Only for <b>dataset</b> mode. Pick the dataset so the Actor is granted read access to it.

## `itemsList` (type: `array`):

Only for <b>list</b> mode. A JSON array of tweet rows from either X source (<code>tweetId</code>, <code>fullText</code>, <code>authorHandle</code>, <code>likeCount</code>, <code>createdAt</code> … — README → List-mode rows). The prefill is the free demo: 54 sample tweets of 3 fictional accounts.

## `discoveryActorId` (type: `string`):

Which Store Actor reads the accounts in a live read. <b>Profile scraper by date range</b> (default, $0.0005 per tweet + $0.00005 per start; Free plan: 50 tweets per run) reads exactly your window, with bookmarks and ad / retweet flags. <b>Profile posts scraper</b> ($0.0004 per post + $0.0025 per run; Free plan: 5 profiles × 100 posts) reads each profile's latest posts — no date range, no bookmarks; the window is then applied here and marked approximate.

## `language` (type: `string`):

Passed to the source, so it only reads (and bills) tweets in this language.

## `webhookUrl` (type: `string`):

Qualified winning tweets are POSTed here as JSON (Zapier, Make, n8n, your CRM). For Google Sheets / Slack you can also use Apify's built-in Integrations tab. Stored encrypted — Zapier / Make hook URLs carry their secret in the path.

## `webhookHeaders` (type: `object`):

API only — hidden on the form. Extra HTTP headers for the webhook, e.g. <code>{"Authorization": "Bearer …"}</code>. Stored encrypted by Apify, never logged.

## `webhookSecret` (type: `string`):

Any random string. Every webhook POST then carries <code>X-Signature: sha256=\<HMAC-SHA256 of the raw body with this secret></code>, so your endpoint can verify it came from this Actor. Stored encrypted by Apify, never logged.

## `dedupeStoreName` (type: `string`):

Key-value store used for cross-run memory. Left at the default, the memory is kept per search (source and mode): adding an account keeps it, so a scheduled run never re-delivers what you already have. Running it for several clients on one account, type one name per client.

## `discoveryTimeoutSecs` (type: `integer`):

API only — hidden on the form. How long the source Store Actor may run before its partial results are used — never more than 60 % of the run's time left, so the AI, the charges and the digest keep the rest. Raise it (and the run timeout) when the status says the source stopped early.

## `slackWebhookUrl` (type: `string`):

Deprecated alias of <code>sendAlertsTo</code> (kept for earlier API callers; it wins over the same service there). API only — hidden on the form, where <code>sendAlertsTo</code> takes it. Slack incoming-webhook URL for the digest.

## `discordWebhookUrl` (type: `string`):

Deprecated alias of <code>sendAlertsTo</code> (kept for earlier API callers; it wins over the same service there). API only — hidden on the form, where <code>sendAlertsTo</code> takes it. Discord channel webhook URL for the digest.

## `teamsWebhookUrl` (type: `string`):

Deprecated alias of <code>sendAlertsTo</code> (kept for earlier API callers; it wins over the same service there). API only — hidden on the form, where <code>sendAlertsTo</code> takes it. Teams Workflows webhook URL for the digest.

## `googleChatWebhookUrl` (type: `string`):

Deprecated alias of <code>sendAlertsTo</code> (kept for earlier API callers; it wins over the same service there). API only — hidden on the form, where <code>sendAlertsTo</code> takes it. Google Chat space webhook URL for the digest.

## `telegramUrl` (type: `string`):

Deprecated alias of <code>sendAlertsTo</code> (kept for earlier API callers; it wins over the same service there). API only — hidden on the form, where <code>sendAlertsTo</code> takes it. The bot's sendMessage link with its chat_id.

## `minBaselinePosts` (type: `integer`):

API only — hidden on the form. An account with fewer posts in the window still gets a baseline (from 3 posts), flagged <code>baselineConfidence: low</code>; under 3 posts it is skipped (<code>baseline_too_small</code>).

## `minRetweets` (type: `integer`):

API only — hidden on the form. Tweets with fewer reposts are dropped — also passed to the source.

## `minViews` (type: `integer`):

API only — hidden on the form. Tweets with fewer views (or none reported) are dropped before the median.

## `minBookmarks` (type: `integer`):

API only — hidden on the form. Tweets with fewer bookmarks are dropped. The alternate source reports no bookmarks, so leave 0 there.

## `excludeReplies` (type: `boolean`):

API only — hidden on the form. On: the source skips replies (cheaper). Off: an account's replies to itself are joined to their opener as <code>threadParts</code>; replies to others are still dropped.

## `includeRetweets` (type: `boolean`):

API only — hidden on the form. Off: plain retweets are dropped (they are someone else's tweet).

## `excludeAds` (type: `boolean`):

API only — hidden on the form. Paid reach is not a content win: promoted tweets are dropped.

## `writeRemix` (type: `boolean`):

API only — hidden on the form. With AI on and your brand filled in, each winner gets a remix idea and a draft post. Off = analysis only.

## `aiCandidateMultiplier` (type: `integer`):

API only — hidden on the form. How many of the best rule-scored candidates get the AI pass, as a multiple of <b>Max qualified</b>. Higher = more thorough, slower, more tokens.

## `dedupeTtlDays` (type: `integer`):

API only — hidden on the form. How long a delivered winning tweet stays remembered. 0 = never deliver or charge it again (a tweet's id never changes).

## `autoSwitchToLive` (type: `boolean`):

API only — hidden on the form. On (default): search terms typed next to the untouched sample records start the live search (spend-capped; <code>OUTPUT.switchedToLive</code> names them). Off: the mode you send is the mode that runs — the sample stays the free demo and the status names the terms it did not search. API pipelines that must never start a paid read on their own: send <code>false</code>.

## `startDate` (type: `string`):

API only — hidden on the form. YYYY-MM-DD. With an end date it replaces <b>Window: last N days</b>.

## `endDate` (type: `string`):

API only — hidden on the form. YYYY-MM-DD, set together with the start date.

## `splitMode` (type: `string`):

API only — hidden on the form. How the source splits the window into searches — <b>day</b> for accounts that post many times a day (its own advice). One of: <code>day</code>, <code>week</code>, <code>month</code>.

## `keyword` (type: `string`):

API only — hidden on the form. One keyword the source searches for inside the accounts' tweets — e.g. <i>pricing</i>. Empty = every tweet.

## `mediaFilter` (type: `string`):

API only — hidden on the form. Passed to the source. One of: <code>any</code>, <code>images</code>, <code>videos</code>.

## `sort` (type: `string`):

API only — hidden on the form. <b>Latest</b> reads the window evenly, which the median needs. One of: <code>Latest</code>, <code>Top</code>.

## `minEngagementRatePct` (type: `number`):

API only — hidden on the form. With <b>Compare tweets by</b> = engagement rate: a tweet wins at this rate (engagement ÷ followers × 100) instead of the multiple. 0 = use the multiple.

## `discoveryInput` (type: `object`):

API only — hidden on the form. Only for a live read. Extra input passed to the X source as-is, key by key over what this form sets (e.g. <code>{"splitMode": "day"}</code>). The live read runs <code>delicious_zebu/advanced-x-twitter-profile-scraper</code> on your Apify account — any plan that runs Store Actors (its Free plan returns up to 50 tweets per run); without one, paste rows you already have in <b>list</b> mode (any plan).

## `maxToProcess` (type: `integer`):

API only — hidden on the form. Upper bound on how many winning-tweet candidates are scored in one run (controls run time). Default = 3 × max winning tweets.

## `webhookBatchSize` (type: `integer`):

API only — hidden on the form. 1 = one POST per winning tweet the moment it is ready. Higher = one POST per N winning tweets.

## Actor input object example

```json
{
  "preset": "custom",
  "accounts": [
    "northwind_saas",
    "contoso_growth",
    "fabrikam_devrel"
  ],
  "minScore": 30,
  "maxQualified": 100,
  "maxDiscoveryChargeUsd": 0.5,
  "enableAi": true,
  "outlierMultiple": 2,
  "lookbackDays": 90,
  "winnersWithinDays": 0,
  "maxTweetsPerAccount": 300,
  "metric": "engagement",
  "topPerAccount": 0,
  "minLikes": 0,
  "llmProvider": "apify",
  "dedupeAcrossRuns": true,
  "historyDatasetName": "",
  "sourceMode": "list",
  "failOnSourceError": false,
  "itemsList": [
    {
      "tweetId": "1971234567890120001",
      "tweetUrl": "https://example.com/x/northwind_saas/status/1971234567890120001",
      "authorUrl": "https://example.com/x/northwind_saas",
      "authorHandle": "northwind_saas",
      "authorName": "Northwind (sample)",
      "authorFollowers": 18400,
      "authorVerified": false,
      "authorBio": "Founder of Northwind Invoicing. Building a bootstrapped B2B SaaS in public.",
      "authorWebsite": "https://northwind.example",
      "fullText": "We raised prices 40% last month.\n\nChurn didn't move. Revenue did: $18.2k → $24.9k MRR.\n\nHere's exactly how we announced it to 412 customers 🧵",
      "createdAt": "2026-08-04 09:00:00+00:00",
      "likeCount": 420,
      "repostCount": 70,
      "retweetCount": 56,
      "quoteCount": 14,
      "replyCount": 52,
      "viewCount": 61000,
      "bookmarkCount": 160,
      "sample": true
    },
    {
      "tweetId": "1971234567890120002",
      "tweetUrl": "https://example.com/x/northwind_saas/status/1971234567890120002",
      "authorUrl": "https://example.com/x/northwind_saas",
      "authorHandle": "northwind_saas",
      "authorName": "Northwind (sample)",
      "authorFollowers": 18400,
      "authorVerified": false,
      "authorBio": "Founder of Northwind Invoicing. Building a bootstrapped B2B SaaS in public.",
      "authorWebsite": "https://northwind.example",
      "fullText": "Unpopular opinion: your SaaS doesn't need a free plan.\n\nIt needs a 14-day trial and a founder who answers every support email.",
      "createdAt": "2026-08-08 14:07:00+00:00",
      "likeCount": 190,
      "repostCount": 22,
      "retweetCount": 18,
      "quoteCount": 4,
      "replyCount": 60,
      "viewCount": 24000,
      "bookmarkCount": 18,
      "sample": true
    },
    {
      "tweetId": "1971234567890120003",
      "tweetUrl": "https://example.com/x/northwind_saas/status/1971234567890120003",
      "authorUrl": "https://example.com/x/northwind_saas",
      "authorHandle": "northwind_saas",
      "authorName": "Northwind (sample)",
      "authorFollowers": 18400,
      "authorVerified": false,
      "authorBio": "Founder of Northwind Invoicing. Building a bootstrapped B2B SaaS in public.",
      "authorWebsite": "https://northwind.example",
      "fullText": "How I got our first 100 paying customers without ads:\n\n1. Answered 3 questions a day in niche forums\n2. Wrote one teardown a week\n3. Emailed every churned trial user\n4. Shipped what they asked for within 48h\n\nBookmark this if you're pre-PMF.",
      "createdAt": "2026-08-12 19:14:00+00:00",
      "likeCount": 300,
      "repostCount": 50,
      "retweetCount": 40,
      "quoteCount": 10,
      "replyCount": 25,
      "viewCount": 41000,
      "bookmarkCount": 180,
      "sample": true
    },
    {
      "tweetId": "1971234567890120004",
      "tweetUrl": "https://example.com/x/northwind_saas/status/1971234567890120004",
      "authorUrl": "https://example.com/x/northwind_saas",
      "authorHandle": "northwind_saas",
      "authorName": "Northwind (sample)",
      "authorFollowers": 18400,
      "authorVerified": false,
      "authorBio": "Founder of Northwind Invoicing. Building a bootstrapped B2B SaaS in public.",
      "authorWebsite": "https://northwind.example",
      "fullText": "Shipped: recurring invoices now support multi-currency. Small change, 11 customers asked for it.",
      "createdAt": "2026-08-16 00:21:00+00:00",
      "likeCount": 62,
      "repostCount": 6,
      "retweetCount": 5,
      "quoteCount": 1,
      "replyCount": 9,
      "viewCount": 7400,
      "bookmarkCount": 4,
      "sample": true
    },
    {
      "tweetId": "1971234567890120005",
      "tweetUrl": "https://example.com/x/northwind_saas/status/1971234567890120005",
      "authorUrl": "https://example.com/x/northwind_saas",
      "authorHandle": "northwind_saas",
      "authorName": "Northwind (sample)",
      "authorFollowers": 18400,
      "authorVerified": false,
      "authorBio": "Founder of Northwind Invoicing. Building a bootstrapped B2B SaaS in public.",
      "authorWebsite": "https://northwind.example",
      "fullText": "Monday metrics: 412 paying teams, 2.1% monthly churn, 61% of new signups from referrals.",
      "createdAt": "2026-08-20 05:28:00+00:00",
      "likeCount": 74,
      "repostCount": 9,
      "retweetCount": 7,
      "quoteCount": 2,
      "replyCount": 14,
      "viewCount": 8900,
      "bookmarkCount": 6,
      "sample": true
    },
    {
      "tweetId": "1971234567890120006",
      "tweetUrl": "https://example.com/x/northwind_saas/status/1971234567890120006",
      "authorUrl": "https://example.com/x/northwind_saas",
      "authorHandle": "northwind_saas",
      "authorName": "Northwind (sample)",
      "authorFollowers": 18400,
      "authorVerified": false,
      "authorBio": "Founder of Northwind Invoicing. Building a bootstrapped B2B SaaS in public.",
      "authorWebsite": "https://northwind.example",
      "fullText": "What's the one feature you'd pay double for in an invoicing tool?",
      "createdAt": "2026-08-24 10:35:00+00:00",
      "likeCount": 48,
      "repostCount": 3,
      "retweetCount": 2,
      "quoteCount": 1,
      "replyCount": 41,
      "viewCount": 6100,
      "bookmarkCount": 2,
      "sample": true
    },
    {
      "tweetId": "1971234567890120007",
      "tweetUrl": "https://example.com/x/northwind_saas/status/1971234567890120007",
      "authorUrl": "https://example.com/x/northwind_saas",
      "authorHandle": "northwind_saas",
      "authorName": "Northwind (sample)",
      "authorFollowers": 18400,
      "authorVerified": false,
      "authorBio": "Founder of Northwind Invoicing. Building a bootstrapped B2B SaaS in public.",
      "authorWebsite": "https://northwind.example",
      "fullText": "Spent the morning on support. 9 tickets, 7 were the same confusing button. Renaming it today.",
      "createdAt": "2026-08-28 15:42:00+00:00",
      "likeCount": 55,
      "repostCount": 4,
      "retweetCount": 3,
      "quoteCount": 1,
      "replyCount": 12,
      "viewCount": 6900,
      "bookmarkCount": 3,
      "sample": true
    },
    {
      "tweetId": "1971234567890120008",
      "tweetUrl": "https://example.com/x/northwind_saas/status/1971234567890120008",
      "authorUrl": "https://example.com/x/northwind_saas",
      "authorHandle": "northwind_saas",
      "authorName": "Northwind (sample)",
      "authorFollowers": 18400,
      "authorVerified": false,
      "authorBio": "Founder of Northwind Invoicing. Building a bootstrapped B2B SaaS in public.",
      "authorWebsite": "https://northwind.example",
      "fullText": "Building in public, week 37: MRR $24.9k, burn $0, team of 3. #buildinpublic",
      "createdAt": "2026-09-04 20:49:00+00:00",
      "likeCount": 88,
      "repostCount": 8,
      "retweetCount": 6,
      "quoteCount": 2,
      "replyCount": 19,
      "viewCount": 9800,
      "bookmarkCount": 5,
      "hashtags": [
        "buildinpublic"
      ],
      "sample": true
    },
    {
      "tweetId": "1971234567890120009",
      "tweetUrl": "https://example.com/x/northwind_saas/status/1971234567890120009",
      "authorUrl": "https://example.com/x/northwind_saas",
      "authorHandle": "northwind_saas",
      "authorName": "Northwind (sample)",
      "authorFollowers": 18400,
      "authorVerified": false,
      "authorBio": "Founder of Northwind Invoicing. Building a bootstrapped B2B SaaS in public.",
      "authorWebsite": "https://northwind.example",
      "fullText": "Our onboarding email #3 has a 61% open rate. It's three sentences and a GIF.",
      "createdAt": "2026-09-08 01:56:00+00:00",
      "likeCount": 70,
      "repostCount": 7,
      "retweetCount": 6,
      "quoteCount": 1,
      "replyCount": 10,
      "viewCount": 8300,
      "bookmarkCount": 12,
      "mediaType": "animated_gif",
      "videoUrls": [
        "https://example.com/x/media/sample-nw-1.mp4"
      ],
      "sample": true
    },
    {
      "tweetId": "1971234567890120010",
      "tweetUrl": "https://example.com/x/northwind_saas/status/1971234567890120010",
      "authorUrl": "https://example.com/x/northwind_saas",
      "authorHandle": "northwind_saas",
      "authorName": "Northwind (sample)",
      "authorFollowers": 18400,
      "authorVerified": false,
      "authorBio": "Founder of Northwind Invoicing. Building a bootstrapped B2B SaaS in public.",
      "authorWebsite": "https://northwind.example",
      "fullText": "Reminder that a boring product with happy customers beats an exciting demo with none.",
      "createdAt": "2026-09-12 06:03:00+00:00",
      "likeCount": 81,
      "repostCount": 11,
      "retweetCount": 9,
      "quoteCount": 2,
      "replyCount": 8,
      "viewCount": 9100,
      "bookmarkCount": 6,
      "sample": true
    },
    {
      "tweetId": "1971234567890120011",
      "tweetUrl": "https://example.com/x/northwind_saas/status/1971234567890120011",
      "authorUrl": "https://example.com/x/northwind_saas",
      "authorHandle": "northwind_saas",
      "authorName": "Northwind (sample)",
      "authorFollowers": 18400,
      "authorVerified": false,
      "authorBio": "Founder of Northwind Invoicing. Building a bootstrapped B2B SaaS in public.",
      "authorWebsite": "https://northwind.example",
      "fullText": "Hiring our first support engineer. Remote, EU hours. Details: https://northwind.example/jobs",
      "createdAt": "2026-09-16 11:10:00+00:00",
      "likeCount": 39,
      "repostCount": 12,
      "retweetCount": 10,
      "quoteCount": 2,
      "replyCount": 6,
      "viewCount": 7200,
      "bookmarkCount": 2,
      "externalUrls": [
        "https://northwind.example/jobs"
      ],
      "sample": true
    },
    {
      "tweetId": "1971234567890120012",
      "tweetUrl": "https://example.com/x/northwind_saas/status/1971234567890120012",
      "authorUrl": "https://example.com/x/northwind_saas",
      "authorHandle": "northwind_saas",
      "authorName": "Northwind (sample)",
      "authorFollowers": 18400,
      "authorVerified": false,
      "authorBio": "Founder of Northwind Invoicing. Building a bootstrapped B2B SaaS in public.",
      "authorWebsite": "https://northwind.example",
      "fullText": "Tried cold email for 30 days. 600 sent, 14 replies, 2 demos, 0 customers. Back to writing.",
      "createdAt": "2026-09-20 16:17:00+00:00",
      "likeCount": 66,
      "repostCount": 5,
      "retweetCount": 4,
      "quoteCount": 1,
      "replyCount": 17,
      "viewCount": 8600,
      "bookmarkCount": 9,
      "sample": true
    },
    {
      "tweetId": "1971234567890120013",
      "tweetUrl": "https://example.com/x/northwind_saas/status/1971234567890120013",
      "authorUrl": "https://example.com/x/northwind_saas",
      "authorHandle": "northwind_saas",
      "authorName": "Northwind (sample)",
      "authorFollowers": 18400,
      "authorVerified": false,
      "authorBio": "Founder of Northwind Invoicing. Building a bootstrapped B2B SaaS in public.",
      "authorWebsite": "https://northwind.example",
      "fullText": "New dashboard, first look. Feedback welcome.",
      "createdAt": "2026-09-24 21:24:00+00:00",
      "likeCount": 52,
      "repostCount": 3,
      "retweetCount": 2,
      "quoteCount": 1,
      "replyCount": 15,
      "viewCount": 6400,
      "bookmarkCount": 2,
      "mediaType": "photo",
      "imageUrls": [
        "https://example.com/x/media/sample-nw-2.jpg"
      ],
      "sample": true
    },
    {
      "tweetId": "1971234567890120014",
      "tweetUrl": "https://example.com/x/northwind_saas/status/1971234567890120014",
      "authorUrl": "https://example.com/x/northwind_saas",
      "authorHandle": "northwind_saas",
      "authorName": "Northwind (sample)",
      "authorFollowers": 18400,
      "authorVerified": false,
      "authorBio": "Founder of Northwind Invoicing. Building a bootstrapped B2B SaaS in public.",
      "authorWebsite": "https://northwind.example",
      "fullText": "The best pricing page advice I got: show the plan most people pick, not the one you want them to pick.",
      "createdAt": "2026-09-28 02:31:00+00:00",
      "likeCount": 77,
      "repostCount": 10,
      "retweetCount": 8,
      "quoteCount": 2,
      "replyCount": 9,
      "viewCount": 8800,
      "bookmarkCount": 14,
      "sample": true
    },
    {
      "tweetId": "1971234567890120015",
      "tweetUrl": "https://example.com/x/northwind_saas/status/1971234567890120015",
      "authorUrl": "https://example.com/x/northwind_saas",
      "authorHandle": "northwind_saas",
      "authorName": "Northwind (sample)",
      "authorFollowers": 18400,
      "authorVerified": false,
      "authorBio": "Founder of Northwind Invoicing. Building a bootstrapped B2B SaaS in public.",
      "authorWebsite": "https://northwind.example",
      "fullText": "Taking Friday off. The product will survive.",
      "createdAt": "2026-08-04 07:38:00+00:00",
      "likeCount": 58,
      "repostCount": 2,
      "retweetCount": 2,
      "quoteCount": 0,
      "replyCount": 11,
      "viewCount": 5900,
      "bookmarkCount": 0,
      "sample": true
    },
    {
      "tweetId": "1971234567890120016",
      "tweetUrl": "https://example.com/x/northwind_saas/status/1971234567890120016",
      "authorUrl": "https://example.com/x/northwind_saas",
      "authorHandle": "northwind_saas",
      "authorName": "Northwind (sample)",
      "authorFollowers": 18400,
      "authorVerified": false,
      "authorBio": "Founder of Northwind Invoicing. Building a bootstrapped B2B SaaS in public.",
      "authorWebsite": "https://northwind.example",
      "fullText": "Integrations shipped this quarter: Stripe, Xero, QuickBooks. Next: Sage.",
      "createdAt": "2026-08-08 12:45:00+00:00",
      "likeCount": 61,
      "repostCount": 6,
      "retweetCount": 5,
      "quoteCount": 1,
      "replyCount": 7,
      "viewCount": 7000,
      "bookmarkCount": 3,
      "sample": true
    },
    {
      "tweetId": "1971234567890120017",
      "tweetUrl": "https://example.com/x/northwind_saas/status/1971234567890120017",
      "authorUrl": "https://example.com/x/northwind_saas",
      "authorHandle": "northwind_saas",
      "authorName": "Northwind (sample)",
      "authorFollowers": 18400,
      "authorVerified": false,
      "authorBio": "Founder of Northwind Invoicing. Building a bootstrapped B2B SaaS in public.",
      "authorWebsite": "https://northwind.example",
      "fullText": "RT @contoso_growth: Stop A/B testing button colors.",
      "createdAt": "2026-08-12 17:52:00+00:00",
      "likeCount": 0,
      "repostCount": 0,
      "retweetCount": 0,
      "quoteCount": 0,
      "replyCount": 0,
      "viewCount": 0,
      "bookmarkCount": 0,
      "isRetweet": true,
      "sample": true
    },
    {
      "tweetId": "1971234567890120018",
      "tweetUrl": "https://example.com/x/northwind_saas/status/1971234567890120018",
      "authorUrl": "https://example.com/x/northwind_saas",
      "authorHandle": "northwind_saas",
      "authorName": "Northwind (sample)",
      "authorFollowers": 18400,
      "authorVerified": false,
      "authorBio": "Founder of Northwind Invoicing. Building a bootstrapped B2B SaaS in public.",
      "authorWebsite": "https://northwind.example",
      "fullText": "@someone_else congrats on the launch!",
      "createdAt": "2026-08-16 22:59:00+00:00",
      "likeCount": 4,
      "repostCount": 0,
      "retweetCount": 0,
      "quoteCount": 0,
      "replyCount": 1,
      "viewCount": 300,
      "bookmarkCount": 0,
      "isReply": true,
      "replyToHandle": "someone_else",
      "sample": true
    },
    {
      "tweetId": "1971234567890120019",
      "tweetUrl": "https://example.com/x/contoso_growth/status/1971234567890120019",
      "authorUrl": "https://example.com/x/contoso_growth",
      "authorHandle": "contoso_growth",
      "authorName": "Contoso Growth (sample)",
      "authorFollowers": 42300,
      "authorVerified": true,
      "authorBio": "Growth lead for B2B SaaS. Landing pages, activation, newsletters.",
      "authorWebsite": "https://contoso.example",
      "fullText": "Stop A/B testing button colors.\n\nTest the offer. Test the headline. Test who you're talking to.\n\nButton colors are where growth teams go to feel busy.",
      "createdAt": "2026-08-04 09:00:00+00:00",
      "likeCount": 980,
      "repostCount": 160,
      "retweetCount": 128,
      "quoteCount": 32,
      "replyCount": 120,
      "viewCount": 152000,
      "bookmarkCount": 240,
      "sample": true
    },
    {
      "tweetId": "1971234567890120020",
      "tweetUrl": "https://example.com/x/contoso_growth/status/1971234567890120020",
      "authorUrl": "https://example.com/x/contoso_growth",
      "authorHandle": "contoso_growth",
      "authorName": "Contoso Growth (sample)",
      "authorFollowers": 42300,
      "authorVerified": true,
      "authorBio": "Growth lead for B2B SaaS. Landing pages, activation, newsletters.",
      "authorWebsite": "https://contoso.example",
      "fullText": "7 landing page lines that doubled our demo bookings:\n\n→ \"Set up in 5 minutes\"\n→ \"No card needed\"\n→ \"Cancel in one click\"\n→ \"Used by 1,200 teams\"\n→ \"See it with your data\"\n→ \"Talk to a human\"\n→ \"Free migration\"",
      "createdAt": "2026-08-08 14:07:00+00:00",
      "likeCount": 640,
      "repostCount": 130,
      "retweetCount": 104,
      "quoteCount": 26,
      "replyCount": 40,
      "viewCount": 118000,
      "bookmarkCount": 520,
      "sample": true
    },
    {
      "tweetId": "1971234567890120021",
      "tweetUrl": "https://example.com/x/contoso_growth/status/1971234567890120021",
      "authorUrl": "https://example.com/x/contoso_growth",
      "authorHandle": "contoso_growth",
      "authorName": "Contoso Growth (sample)",
      "authorFollowers": 42300,
      "authorVerified": true,
      "authorBio": "Growth lead for B2B SaaS. Landing pages, activation, newsletters.",
      "authorWebsite": "https://contoso.example",
      "fullText": "Our 4-person team grew a newsletter from 0 to 31,000 readers in 11 months.\n\nEvery channel we tried, ranked by cost per subscriber 🧵",
      "createdAt": "2026-08-12 19:14:00+00:00",
      "likeCount": 720,
      "repostCount": 95,
      "retweetCount": 76,
      "quoteCount": 19,
      "replyCount": 70,
      "viewCount": 131000,
      "bookmarkCount": 380,
      "sample": true
    },
    {
      "tweetId": "1971234567890120022",
      "tweetUrl": "https://example.com/x/contoso_growth/status/1971234567890120022",
      "authorUrl": "https://example.com/x/contoso_growth",
      "authorHandle": "contoso_growth",
      "authorName": "Contoso Growth (sample)",
      "authorFollowers": 42300,
      "authorVerified": true,
      "authorBio": "Growth lead for B2B SaaS. Landing pages, activation, newsletters.",
      "authorWebsite": "https://contoso.example",
      "fullText": "60-second teardown of the best onboarding flow I've seen this year.",
      "createdAt": "2026-08-16 00:21:00+00:00",
      "likeCount": 450,
      "repostCount": 60,
      "retweetCount": 48,
      "quoteCount": 12,
      "replyCount": 35,
      "viewCount": 97000,
      "bookmarkCount": 110,
      "mediaType": "video",
      "videoUrls": [
        "https://example.com/x/media/sample-cg-1.mp4"
      ],
      "sample": true
    },
    {
      "tweetId": "1971234567890120023",
      "tweetUrl": "https://example.com/x/contoso_growth/status/1971234567890120023",
      "authorUrl": "https://example.com/x/contoso_growth",
      "authorHandle": "contoso_growth",
      "authorName": "Contoso Growth (sample)",
      "authorFollowers": 42300,
      "authorVerified": true,
      "authorBio": "Growth lead for B2B SaaS. Landing pages, activation, newsletters.",
      "authorWebsite": "https://contoso.example",
      "fullText": "Retention is a growth channel. Most teams just don't put it on the roadmap.",
      "createdAt": "2026-08-20 05:28:00+00:00",
      "likeCount": 160,
      "repostCount": 22,
      "retweetCount": 18,
      "quoteCount": 4,
      "replyCount": 18,
      "viewCount": 21000,
      "bookmarkCount": 20,
      "sample": true
    },
    {
      "tweetId": "1971234567890120024",
      "tweetUrl": "https://example.com/x/contoso_growth/status/1971234567890120024",
      "authorUrl": "https://example.com/x/contoso_growth",
      "authorHandle": "contoso_growth",
      "authorName": "Contoso Growth (sample)",
      "authorFollowers": 42300,
      "authorVerified": true,
      "authorBio": "Growth lead for B2B SaaS. Landing pages, activation, newsletters.",
      "authorWebsite": "https://contoso.example",
      "fullText": "What's the most underrated growth channel in 2026? Wrong answers only.",
      "createdAt": "2026-08-24 10:35:00+00:00",
      "likeCount": 120,
      "repostCount": 8,
      "retweetCount": 6,
      "quoteCount": 2,
      "replyCount": 140,
      "viewCount": 26000,
      "bookmarkCount": 4,
      "sample": true
    },
    {
      "tweetId": "1971234567890120025",
      "tweetUrl": "https://example.com/x/contoso_growth/status/1971234567890120025",
      "authorUrl": "https://example.com/x/contoso_growth",
      "authorHandle": "contoso_growth",
      "authorName": "Contoso Growth (sample)",
      "authorFollowers": 42300,
      "authorVerified": true,
      "authorBio": "Growth lead for B2B SaaS. Landing pages, activation, newsletters.",
      "authorWebsite": "https://contoso.example",
      "fullText": "Weekly reminder: your homepage is not for you.",
      "createdAt": "2026-08-28 15:42:00+00:00",
      "likeCount": 190,
      "repostCount": 25,
      "retweetCount": 20,
      "quoteCount": 5,
      "replyCount": 12,
      "viewCount": 23000,
      "bookmarkCount": 15,
      "sample": true
    },
    {
      "tweetId": "1971234567890120026",
      "tweetUrl": "https://example.com/x/contoso_growth/status/1971234567890120026",
      "authorUrl": "https://example.com/x/contoso_growth",
      "authorHandle": "contoso_growth",
      "authorName": "Contoso Growth (sample)",
      "authorFollowers": 42300,
      "authorVerified": true,
      "authorBio": "Growth lead for B2B SaaS. Landing pages, activation, newsletters.",
      "authorWebsite": "https://contoso.example",
      "fullText": "Ran a pricing survey with 1,200 B2B buyers. Results next week.",
      "createdAt": "2026-09-04 20:49:00+00:00",
      "likeCount": 170,
      "repostCount": 30,
      "retweetCount": 24,
      "quoteCount": 6,
      "replyCount": 25,
      "viewCount": 24000,
      "bookmarkCount": 18,
      "sample": true
    },
    {
      "tweetId": "1971234567890120027",
      "tweetUrl": "https://example.com/x/contoso_growth/status/1971234567890120027",
      "authorUrl": "https://example.com/x/contoso_growth",
      "authorHandle": "contoso_growth",
      "authorName": "Contoso Growth (sample)",
      "authorFollowers": 42300,
      "authorVerified": true,
      "authorBio": "Growth lead for B2B SaaS. Landing pages, activation, newsletters.",
      "authorWebsite": "https://contoso.example",
      "fullText": "New post: the 5-step activation audit we run for every client. https://contoso.example/activation-audit",
      "createdAt": "2026-09-08 01:56:00+00:00",
      "likeCount": 140,
      "repostCount": 26,
      "retweetCount": 21,
      "quoteCount": 5,
      "replyCount": 14,
      "viewCount": 19000,
      "bookmarkCount": 40,
      "externalUrls": [
        "https://contoso.example/activation-audit"
      ],
      "sample": true
    },
    {
      "tweetId": "1971234567890120028",
      "tweetUrl": "https://example.com/x/contoso_growth/status/1971234567890120028",
      "authorUrl": "https://example.com/x/contoso_growth",
      "authorHandle": "contoso_growth",
      "authorName": "Contoso Growth (sample)",
      "authorFollowers": 42300,
      "authorVerified": true,
      "authorBio": "Growth lead for B2B SaaS. Landing pages, activation, newsletters.",
      "authorWebsite": "https://contoso.example",
      "fullText": "Good copy is mostly deleting.",
      "createdAt": "2026-09-12 06:03:00+00:00",
      "likeCount": 210,
      "repostCount": 28,
      "retweetCount": 22,
      "quoteCount": 6,
      "replyCount": 9,
      "viewCount": 25000,
      "bookmarkCount": 12,
      "sample": true
    },
    {
      "tweetId": "1971234567890120029",
      "tweetUrl": "https://example.com/x/contoso_growth/status/1971234567890120029",
      "authorUrl": "https://example.com/x/contoso_growth",
      "authorHandle": "contoso_growth",
      "authorName": "Contoso Growth (sample)",
      "authorFollowers": 42300,
      "authorVerified": true,
      "authorBio": "Growth lead for B2B SaaS. Landing pages, activation, newsletters.",
      "authorWebsite": "https://contoso.example",
      "fullText": "Spoke at GrowthConf today. Slides below.",
      "createdAt": "2026-09-16 11:10:00+00:00",
      "likeCount": 150,
      "repostCount": 12,
      "retweetCount": 10,
      "quoteCount": 2,
      "replyCount": 20,
      "viewCount": 18000,
      "bookmarkCount": 9,
      "mediaType": "photo",
      "imageUrls": [
        "https://example.com/x/media/sample-cg-2.jpg"
      ],
      "sample": true
    },
    {
      "tweetId": "1971234567890120030",
      "tweetUrl": "https://example.com/x/contoso_growth/status/1971234567890120030",
      "authorUrl": "https://example.com/x/contoso_growth",
      "authorHandle": "contoso_growth",
      "authorName": "Contoso Growth (sample)",
      "authorFollowers": 42300,
      "authorVerified": true,
      "authorBio": "Growth lead for B2B SaaS. Landing pages, activation, newsletters.",
      "authorWebsite": "https://contoso.example",
      "fullText": "Hot take: most 'PLG' companies are sales-led companies with a free trial.",
      "createdAt": "2026-09-20 16:17:00+00:00",
      "likeCount": 230,
      "repostCount": 30,
      "retweetCount": 24,
      "quoteCount": 6,
      "replyCount": 60,
      "viewCount": 31000,
      "bookmarkCount": 10,
      "sample": true
    },
    {
      "tweetId": "1971234567890120031",
      "tweetUrl": "https://example.com/x/contoso_growth/status/1971234567890120031",
      "authorUrl": "https://example.com/x/contoso_growth",
      "authorHandle": "contoso_growth",
      "authorName": "Contoso Growth (sample)",
      "authorFollowers": 42300,
      "authorVerified": true,
      "authorBio": "Growth lead for B2B SaaS. Landing pages, activation, newsletters.",
      "authorWebsite": "https://contoso.example",
      "fullText": "If your onboarding needs a video, your product needs a fix.",
      "createdAt": "2026-09-24 21:24:00+00:00",
      "likeCount": 200,
      "repostCount": 24,
      "retweetCount": 19,
      "quoteCount": 5,
      "replyCount": 22,
      "viewCount": 24500,
      "bookmarkCount": 14,
      "sample": true
    },
    {
      "tweetId": "1971234567890120032",
      "tweetUrl": "https://example.com/x/contoso_growth/status/1971234567890120032",
      "authorUrl": "https://example.com/x/contoso_growth",
      "authorHandle": "contoso_growth",
      "authorName": "Contoso Growth (sample)",
      "authorFollowers": 42300,
      "authorVerified": true,
      "authorBio": "Growth lead for B2B SaaS. Landing pages, activation, newsletters.",
      "authorWebsite": "https://contoso.example",
      "fullText": "Client win: trial-to-paid 9% → 14% after cutting the signup form from 7 fields to 3.",
      "createdAt": "2026-09-28 02:31:00+00:00",
      "likeCount": 220,
      "repostCount": 35,
      "retweetCount": 28,
      "quoteCount": 7,
      "replyCount": 18,
      "viewCount": 27000,
      "bookmarkCount": 30,
      "sample": true
    },
    {
      "tweetId": "1971234567890120033",
      "tweetUrl": "https://example.com/x/contoso_growth/status/1971234567890120033",
      "authorUrl": "https://example.com/x/contoso_growth",
      "authorHandle": "contoso_growth",
      "authorName": "Contoso Growth (sample)",
      "authorFollowers": 42300,
      "authorVerified": true,
      "authorBio": "Growth lead for B2B SaaS. Landing pages, activation, newsletters.",
      "authorWebsite": "https://contoso.example",
      "fullText": "Testing a new format this week. Feedback welcome.",
      "createdAt": "2026-08-04 07:38:00+00:00",
      "likeCount": 110,
      "repostCount": 5,
      "retweetCount": 4,
      "quoteCount": 1,
      "replyCount": 30,
      "viewCount": 15000,
      "bookmarkCount": 2,
      "sample": true
    },
    {
      "tweetId": "1971234567890120034",
      "tweetUrl": "https://example.com/x/contoso_growth/status/1971234567890120034",
      "authorUrl": "https://example.com/x/contoso_growth",
      "authorHandle": "contoso_growth",
      "authorName": "Contoso Growth (sample)",
      "authorFollowers": 42300,
      "authorVerified": true,
      "authorBio": "Growth lead for B2B SaaS. Landing pages, activation, newsletters.",
      "authorWebsite": "https://contoso.example",
      "fullText": "Looking for 3 SaaS teams to beta-test our activation checklist. DM me.",
      "createdAt": "2026-08-08 12:45:00+00:00",
      "likeCount": 130,
      "repostCount": 10,
      "retweetCount": 8,
      "quoteCount": 2,
      "replyCount": 45,
      "viewCount": 17000,
      "bookmarkCount": 8,
      "sample": true
    },
    {
      "tweetId": "1971234567890120035",
      "tweetUrl": "https://example.com/x/contoso_growth/status/1971234567890120035",
      "authorUrl": "https://example.com/x/contoso_growth",
      "authorHandle": "contoso_growth",
      "authorName": "Contoso Growth (sample)",
      "authorFollowers": 42300,
      "authorVerified": true,
      "authorBio": "Growth lead for B2B SaaS. Landing pages, activation, newsletters.",
      "authorWebsite": "https://contoso.example",
      "fullText": "Try GrowthKit free for 14 days — the growth dashboard 9,000 teams use.",
      "createdAt": "2026-08-12 17:52:00+00:00",
      "likeCount": 2400,
      "repostCount": 300,
      "retweetCount": 240,
      "quoteCount": 60,
      "replyCount": 80,
      "viewCount": 900000,
      "bookmarkCount": 60,
      "isAd": true,
      "sample": true
    },
    {
      "tweetId": "1971234567890120036",
      "tweetUrl": "https://example.com/x/contoso_growth/status/1971234567890120036",
      "authorUrl": "https://example.com/x/contoso_growth",
      "authorHandle": "contoso_growth",
      "authorName": "Contoso Growth (sample)",
      "authorFollowers": 42300,
      "authorVerified": true,
      "authorBio": "Growth lead for B2B SaaS. Landing pages, activation, newsletters.",
      "authorWebsite": "https://contoso.example",
      "fullText": "RT @fabrikam_devrel: How to cut your CI time from 14 minutes to 3",
      "createdAt": "2026-08-16 22:59:00+00:00",
      "likeCount": 0,
      "repostCount": 0,
      "retweetCount": 0,
      "quoteCount": 0,
      "replyCount": 0,
      "viewCount": 0,
      "bookmarkCount": 0,
      "isRetweet": true,
      "sample": true
    },
    {
      "tweetId": "1971234567890120037",
      "tweetUrl": "https://example.com/x/fabrikam_devrel/status/1971234567890120037",
      "authorUrl": "https://example.com/x/fabrikam_devrel",
      "authorHandle": "fabrikam_devrel",
      "authorName": "Fabrikam DevRel (sample)",
      "authorFollowers": 9100,
      "authorVerified": false,
      "authorBio": "Developer relations at Fabrikam CLI. CI, testing, developer experience.",
      "authorWebsite": "https://fabrikam.example",
      "fullText": "How to cut your CI time from 14 minutes to 3:\n\n1. Cache dependencies by lockfile hash\n2. Split tests by timing, not by file\n3. Run lint and types in parallel\n4. Skip docs-only changes\n\nSteal this.",
      "createdAt": "2026-08-04 09:00:00+00:00",
      "likeCount": 210,
      "repostCount": 45,
      "retweetCount": 36,
      "quoteCount": 9,
      "replyCount": 18,
      "viewCount": 38000,
      "bookmarkCount": 160,
      "sample": true
    },
    {
      "tweetId": "1971234567890120038",
      "tweetUrl": "https://example.com/x/fabrikam_devrel/status/1971234567890120038",
      "authorUrl": "https://example.com/x/fabrikam_devrel",
      "authorHandle": "fabrikam_devrel",
      "authorName": "Fabrikam DevRel (sample)",
      "authorFollowers": 9100,
      "authorVerified": false,
      "authorBio": "Developer relations at Fabrikam CLI. CI, testing, developer experience.",
      "authorWebsite": "https://fabrikam.example",
      "fullText": "I deleted 40% of our codebase last quarter. Nothing broke.\n\nHere's what was in it:",
      "createdAt": "2026-08-08 14:07:00+00:00",
      "likeCount": 130,
      "repostCount": 20,
      "retweetCount": 16,
      "quoteCount": 4,
      "replyCount": 34,
      "viewCount": 21000,
      "bookmarkCount": 26,
      "sample": true
    },
    {
      "tweetId": "1971234567890120039",
      "tweetUrl": "https://example.com/x/fabrikam_devrel/status/1971234567890120039",
      "authorUrl": "https://example.com/x/fabrikam_devrel",
      "authorHandle": "fabrikam_devrel",
      "authorName": "Fabrikam DevRel (sample)",
      "authorFollowers": 9100,
      "authorVerified": false,
      "authorBio": "Developer relations at Fabrikam CLI. CI, testing, developer experience.",
      "authorWebsite": "https://fabrikam.example",
      "fullText": "This is the best explanation of database indexes I've read. Required reading for every new hire.",
      "createdAt": "2026-08-12 19:14:00+00:00",
      "likeCount": 70,
      "repostCount": 22,
      "retweetCount": 18,
      "quoteCount": 4,
      "replyCount": 6,
      "viewCount": 12000,
      "bookmarkCount": 48,
      "isQuote": true,
      "quotedTweetUrl": "https://example.com/x/someone_else/status/1971234567890100001",
      "sample": true
    },
    {
      "tweetId": "1971234567890120040",
      "tweetUrl": "https://example.com/x/fabrikam_devrel/status/1971234567890120040",
      "authorUrl": "https://example.com/x/fabrikam_devrel",
      "authorHandle": "fabrikam_devrel",
      "authorName": "Fabrikam DevRel (sample)",
      "authorFollowers": 9100,
      "authorVerified": false,
      "authorBio": "Developer relations at Fabrikam CLI. CI, testing, developer experience.",
      "authorWebsite": "https://fabrikam.example",
      "fullText": "Released v2.4: faster cold starts, fewer config files.",
      "createdAt": "2026-08-16 00:21:00+00:00",
      "likeCount": 28,
      "repostCount": 4,
      "retweetCount": 3,
      "quoteCount": 1,
      "replyCount": 3,
      "viewCount": 3900,
      "bookmarkCount": 2,
      "sample": true
    },
    {
      "tweetId": "1971234567890120041",
      "tweetUrl": "https://example.com/x/fabrikam_devrel/status/1971234567890120041",
      "authorUrl": "https://example.com/x/fabrikam_devrel",
      "authorHandle": "fabrikam_devrel",
      "authorName": "Fabrikam DevRel (sample)",
      "authorFollowers": 9100,
      "authorVerified": false,
      "authorBio": "Developer relations at Fabrikam CLI. CI, testing, developer experience.",
      "authorWebsite": "https://fabrikam.example",
      "fullText": "Which do you reach for first: logs, traces or metrics?",
      "createdAt": "2026-08-20 05:28:00+00:00",
      "likeCount": 15,
      "repostCount": 1,
      "retweetCount": 1,
      "quoteCount": 0,
      "replyCount": 29,
      "viewCount": 4100,
      "bookmarkCount": 0,
      "sample": true
    },
    {
      "tweetId": "1971234567890120042",
      "tweetUrl": "https://example.com/x/fabrikam_devrel/status/1971234567890120042",
      "authorUrl": "https://example.com/x/fabrikam_devrel",
      "authorHandle": "fabrikam_devrel",
      "authorName": "Fabrikam DevRel (sample)",
      "authorFollowers": 9100,
      "authorVerified": false,
      "authorBio": "Developer relations at Fabrikam CLI. CI, testing, developer experience.",
      "authorWebsite": "https://fabrikam.example",
      "fullText": "Docs PRs are the best first contribution. We label them good-first-issue.",
      "createdAt": "2026-08-24 10:35:00+00:00",
      "likeCount": 31,
      "repostCount": 5,
      "retweetCount": 4,
      "quoteCount": 1,
      "replyCount": 4,
      "viewCount": 4200,
      "bookmarkCount": 3,
      "sample": true
    },
    {
      "tweetId": "1971234567890120043",
      "tweetUrl": "https://example.com/x/fabrikam_devrel/status/1971234567890120043",
      "authorUrl": "https://example.com/x/fabrikam_devrel",
      "authorHandle": "fabrikam_devrel",
      "authorName": "Fabrikam DevRel (sample)",
      "authorFollowers": 9100,
      "authorVerified": false,
      "authorBio": "Developer relations at Fabrikam CLI. CI, testing, developer experience.",
      "authorWebsite": "https://fabrikam.example",
      "fullText": "Live-coding the new plugin API at 5pm UTC.",
      "createdAt": "2026-08-28 15:42:00+00:00",
      "likeCount": 22,
      "repostCount": 6,
      "retweetCount": 5,
      "quoteCount": 1,
      "replyCount": 2,
      "viewCount": 3100,
      "bookmarkCount": 0,
      "sample": true
    },
    {
      "tweetId": "1971234567890120044",
      "tweetUrl": "https://example.com/x/fabrikam_devrel/status/1971234567890120044",
      "authorUrl": "https://example.com/x/fabrikam_devrel",
      "authorHandle": "fabrikam_devrel",
      "authorName": "Fabrikam DevRel (sample)",
      "authorFollowers": 9100,
      "authorVerified": false,
      "authorBio": "Developer relations at Fabrikam CLI. CI, testing, developer experience.",
      "authorWebsite": "https://fabrikam.example",
      "fullText": "Benchmarks for the new release.",
      "createdAt": "2026-09-04 20:49:00+00:00",
      "likeCount": 34,
      "repostCount": 4,
      "retweetCount": 3,
      "quoteCount": 1,
      "replyCount": 6,
      "viewCount": 4600,
      "bookmarkCount": 5,
      "mediaType": "photo",
      "imageUrls": [
        "https://example.com/x/media/sample-fd-1.jpg"
      ],
      "sample": true
    },
    {
      "tweetId": "1971234567890120045",
      "tweetUrl": "https://example.com/x/fabrikam_devrel/status/1971234567890120045",
      "authorUrl": "https://example.com/x/fabrikam_devrel",
      "authorHandle": "fabrikam_devrel",
      "authorName": "Fabrikam DevRel (sample)",
      "authorFollowers": 9100,
      "authorVerified": false,
      "authorBio": "Developer relations at Fabrikam CLI. CI, testing, developer experience.",
      "authorWebsite": "https://fabrikam.example",
      "fullText": "TIL you can bisect a flaky test with git bisect run.",
      "createdAt": "2026-09-08 01:56:00+00:00",
      "likeCount": 38,
      "repostCount": 6,
      "retweetCount": 5,
      "quoteCount": 1,
      "replyCount": 4,
      "viewCount": 5200,
      "bookmarkCount": 9,
      "sample": true
    },
    {
      "tweetId": "1971234567890120046",
      "tweetUrl": "https://example.com/x/fabrikam_devrel/status/1971234567890120046",
      "authorUrl": "https://example.com/x/fabrikam_devrel",
      "authorHandle": "fabrikam_devrel",
      "authorName": "Fabrikam DevRel (sample)",
      "authorFollowers": 9100,
      "authorVerified": false,
      "authorBio": "Developer relations at Fabrikam CLI. CI, testing, developer experience.",
      "authorWebsite": "https://fabrikam.example",
      "fullText": "Our changelog is now an RSS feed. Old-school, still the best.",
      "createdAt": "2026-09-12 06:03:00+00:00",
      "likeCount": 26,
      "repostCount": 3,
      "retweetCount": 2,
      "quoteCount": 1,
      "replyCount": 5,
      "viewCount": 3600,
      "bookmarkCount": 2,
      "sample": true
    },
    {
      "tweetId": "1971234567890120047",
      "tweetUrl": "https://example.com/x/fabrikam_devrel/status/1971234567890120047",
      "authorUrl": "https://example.com/x/fabrikam_devrel",
      "authorHandle": "fabrikam_devrel",
      "authorName": "Fabrikam DevRel (sample)",
      "authorFollowers": 9100,
      "authorVerified": false,
      "authorBio": "Developer relations at Fabrikam CLI. CI, testing, developer experience.",
      "authorWebsite": "https://fabrikam.example",
      "fullText": "Conference season. Who's going to DevToolsConf?",
      "createdAt": "2026-09-16 11:10:00+00:00",
      "likeCount": 19,
      "repostCount": 1,
      "retweetCount": 1,
      "quoteCount": 0,
      "replyCount": 14,
      "viewCount": 3300,
      "bookmarkCount": 0,
      "sample": true
    },
    {
      "tweetId": "1971234567890120048",
      "tweetUrl": "https://example.com/x/fabrikam_devrel/status/1971234567890120048",
      "authorUrl": "https://example.com/x/fabrikam_devrel",
      "authorHandle": "fabrikam_devrel",
      "authorName": "Fabrikam DevRel (sample)",
      "authorFollowers": 9100,
      "authorVerified": false,
      "authorBio": "Developer relations at Fabrikam CLI. CI, testing, developer experience.",
      "authorWebsite": "https://fabrikam.example",
      "fullText": "Rewrote the CLI help text. Support questions dropped 30%.",
      "createdAt": "2026-09-20 16:17:00+00:00",
      "likeCount": 41,
      "repostCount": 7,
      "retweetCount": 6,
      "quoteCount": 1,
      "replyCount": 6,
      "viewCount": 5400,
      "bookmarkCount": 4,
      "sample": true
    },
    {
      "tweetId": "1971234567890120049",
      "tweetUrl": "https://example.com/x/fabrikam_devrel/status/1971234567890120049",
      "authorUrl": "https://example.com/x/fabrikam_devrel",
      "authorHandle": "fabrikam_devrel",
      "authorName": "Fabrikam DevRel (sample)",
      "authorFollowers": 9100,
      "authorVerified": false,
      "authorBio": "Developer relations at Fabrikam CLI. CI, testing, developer experience.",
      "authorWebsite": "https://fabrikam.example",
      "fullText": "Error messages are UI.",
      "createdAt": "2026-09-24 21:24:00+00:00",
      "likeCount": 44,
      "repostCount": 8,
      "retweetCount": 6,
      "quoteCount": 2,
      "replyCount": 3,
      "viewCount": 5600,
      "bookmarkCount": 3,
      "sample": true
    },
    {
      "tweetId": "1971234567890120050",
      "tweetUrl": "https://example.com/x/fabrikam_devrel/status/1971234567890120050",
      "authorUrl": "https://example.com/x/fabrikam_devrel",
      "authorHandle": "fabrikam_devrel",
      "authorName": "Fabrikam DevRel (sample)",
      "authorFollowers": 9100,
      "authorVerified": false,
      "authorBio": "Developer relations at Fabrikam CLI. CI, testing, developer experience.",
      "authorWebsite": "https://fabrikam.example",
      "fullText": "Shipping a VS Code extension next week. Beta testers wanted.",
      "createdAt": "2026-09-28 02:31:00+00:00",
      "likeCount": 27,
      "repostCount": 5,
      "retweetCount": 4,
      "quoteCount": 1,
      "replyCount": 12,
      "viewCount": 3800,
      "bookmarkCount": 1,
      "sample": true
    },
    {
      "tweetId": "1971234567890120051",
      "tweetUrl": "https://example.com/x/fabrikam_devrel/status/1971234567890120051",
      "authorUrl": "https://example.com/x/fabrikam_devrel",
      "authorHandle": "fabrikam_devrel",
      "authorName": "Fabrikam DevRel (sample)",
      "authorFollowers": 9100,
      "authorVerified": false,
      "authorBio": "Developer relations at Fabrikam CLI. CI, testing, developer experience.",
      "authorWebsite": "https://fabrikam.example",
      "fullText": "Friday deploys are fine if rollbacks are boring.",
      "createdAt": "2026-08-04 07:38:00+00:00",
      "likeCount": 39,
      "repostCount": 4,
      "retweetCount": 3,
      "quoteCount": 1,
      "replyCount": 9,
      "viewCount": 5000,
      "bookmarkCount": 2,
      "sample": true
    },
    {
      "tweetId": "1971234567890120052",
      "tweetUrl": "https://example.com/x/fabrikam_devrel/status/1971234567890120052",
      "authorUrl": "https://example.com/x/fabrikam_devrel",
      "authorHandle": "fabrikam_devrel",
      "authorName": "Fabrikam DevRel (sample)",
      "authorFollowers": 9100,
      "authorVerified": false,
      "authorBio": "Developer relations at Fabrikam CLI. CI, testing, developer experience.",
      "authorWebsite": "https://fabrikam.example",
      "fullText": "New blog post on how we test our migrations: https://fabrikam.example/blog/migrations",
      "createdAt": "2026-08-08 12:45:00+00:00",
      "likeCount": 23,
      "repostCount": 4,
      "retweetCount": 3,
      "quoteCount": 1,
      "replyCount": 2,
      "viewCount": 3400,
      "bookmarkCount": 3,
      "externalUrls": [
        "https://fabrikam.example/blog/migrations"
      ],
      "sample": true
    },
    {
      "tweetId": "1971234567890120053",
      "tweetUrl": "https://example.com/x/fabrikam_devrel/status/1971234567890120053",
      "authorUrl": "https://example.com/x/fabrikam_devrel",
      "authorHandle": "fabrikam_devrel",
      "authorName": "Fabrikam DevRel (sample)",
      "authorFollowers": 9100,
      "authorVerified": false,
      "authorBio": "Developer relations at Fabrikam CLI. CI, testing, developer experience.",
      "authorWebsite": "https://fabrikam.example",
      "fullText": "@someone_else we fixed that in v2.4.1, try again?",
      "createdAt": "2026-08-12 17:52:00+00:00",
      "likeCount": 3,
      "repostCount": 0,
      "retweetCount": 0,
      "quoteCount": 0,
      "replyCount": 1,
      "viewCount": 200,
      "bookmarkCount": 0,
      "isReply": true,
      "replyToHandle": "someone_else",
      "sample": true
    },
    {
      "tweetId": "1971234567890120054",
      "tweetUrl": "https://example.com/x/fabrikam_devrel/status/1971234567890120054",
      "authorUrl": "https://example.com/x/fabrikam_devrel",
      "authorHandle": "fabrikam_devrel",
      "authorName": "Fabrikam DevRel (sample)",
      "authorFollowers": 9100,
      "authorVerified": false,
      "authorBio": "Developer relations at Fabrikam CLI. CI, testing, developer experience.",
      "authorWebsite": "https://fabrikam.example",
      "fullText": "RT @northwind_saas: We raised prices 40% last month.",
      "createdAt": "2026-08-16 22:59:00+00:00",
      "likeCount": 0,
      "repostCount": 0,
      "retweetCount": 0,
      "quoteCount": 0,
      "replyCount": 0,
      "viewCount": 0,
      "bookmarkCount": 0,
      "isRetweet": true,
      "sample": true
    }
  ],
  "discoveryActorId": "delicious_zebu/advanced-x-twitter-profile-scraper",
  "language": "any",
  "dedupeStoreName": "x-winning-tweets-ai-seen",
  "discoveryTimeoutSecs": 3600,
  "minBaselinePosts": 8,
  "minRetweets": 0,
  "minViews": 0,
  "minBookmarks": 0,
  "excludeReplies": true,
  "includeRetweets": false,
  "excludeAds": true,
  "writeRemix": true,
  "aiCandidateMultiplier": 2,
  "dedupeTtlDays": 0,
  "autoSwitchToLive": true,
  "splitMode": "week",
  "mediaFilter": "any",
  "sort": "Latest",
  "minEngagementRatePct": 0,
  "webhookBatchSize": 1
}
```

# Actor output Schema

## `qualified` (type: `string`):

All qualified winning tweets as JSON, best-scoring first.

## `sheet` (type: `string`):

The same winning tweets as a spreadsheet.

## `runSummary` (type: `string`):

JSON record with the funnel (loaded -> filtered -> AI-assessed -> qualified), per-reason skip counts, charged events by type, free-tier winning tweets used and remaining, whether a budget limit was reached, webhook delivery counts and the dedupe store size.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "accounts": [
        "northwind_saas",
        "contoso_growth",
        "fabrikam_devrel"
    ],
    "maxDiscoveryChargeUsd": 0.5,
    "sourceMode": "list",
    "itemsList": [
        {
            "tweetId": "1971234567890120001",
            "tweetUrl": "https://example.com/x/northwind_saas/status/1971234567890120001",
            "authorUrl": "https://example.com/x/northwind_saas",
            "authorHandle": "northwind_saas",
            "authorName": "Northwind (sample)",
            "authorFollowers": 18400,
            "authorVerified": false,
            "authorBio": "Founder of Northwind Invoicing. Building a bootstrapped B2B SaaS in public.",
            "authorWebsite": "https://northwind.example",
            "fullText": "We raised prices 40% last month.\n\nChurn didn't move. Revenue did: $18.2k → $24.9k MRR.\n\nHere's exactly how we announced it to 412 customers 🧵",
            "createdAt": "2026-08-04 09:00:00+00:00",
            "likeCount": 420,
            "repostCount": 70,
            "retweetCount": 56,
            "quoteCount": 14,
            "replyCount": 52,
            "viewCount": 61000,
            "bookmarkCount": 160,
            "sample": true
        },
        {
            "tweetId": "1971234567890120002",
            "tweetUrl": "https://example.com/x/northwind_saas/status/1971234567890120002",
            "authorUrl": "https://example.com/x/northwind_saas",
            "authorHandle": "northwind_saas",
            "authorName": "Northwind (sample)",
            "authorFollowers": 18400,
            "authorVerified": false,
            "authorBio": "Founder of Northwind Invoicing. Building a bootstrapped B2B SaaS in public.",
            "authorWebsite": "https://northwind.example",
            "fullText": "Unpopular opinion: your SaaS doesn't need a free plan.\n\nIt needs a 14-day trial and a founder who answers every support email.",
            "createdAt": "2026-08-08 14:07:00+00:00",
            "likeCount": 190,
            "repostCount": 22,
            "retweetCount": 18,
            "quoteCount": 4,
            "replyCount": 60,
            "viewCount": 24000,
            "bookmarkCount": 18,
            "sample": true
        },
        {
            "tweetId": "1971234567890120003",
            "tweetUrl": "https://example.com/x/northwind_saas/status/1971234567890120003",
            "authorUrl": "https://example.com/x/northwind_saas",
            "authorHandle": "northwind_saas",
            "authorName": "Northwind (sample)",
            "authorFollowers": 18400,
            "authorVerified": false,
            "authorBio": "Founder of Northwind Invoicing. Building a bootstrapped B2B SaaS in public.",
            "authorWebsite": "https://northwind.example",
            "fullText": "How I got our first 100 paying customers without ads:\n\n1. Answered 3 questions a day in niche forums\n2. Wrote one teardown a week\n3. Emailed every churned trial user\n4. Shipped what they asked for within 48h\n\nBookmark this if you're pre-PMF.",
            "createdAt": "2026-08-12 19:14:00+00:00",
            "likeCount": 300,
            "repostCount": 50,
            "retweetCount": 40,
            "quoteCount": 10,
            "replyCount": 25,
            "viewCount": 41000,
            "bookmarkCount": 180,
            "sample": true
        },
        {
            "tweetId": "1971234567890120004",
            "tweetUrl": "https://example.com/x/northwind_saas/status/1971234567890120004",
            "authorUrl": "https://example.com/x/northwind_saas",
            "authorHandle": "northwind_saas",
            "authorName": "Northwind (sample)",
            "authorFollowers": 18400,
            "authorVerified": false,
            "authorBio": "Founder of Northwind Invoicing. Building a bootstrapped B2B SaaS in public.",
            "authorWebsite": "https://northwind.example",
            "fullText": "Shipped: recurring invoices now support multi-currency. Small change, 11 customers asked for it.",
            "createdAt": "2026-08-16 00:21:00+00:00",
            "likeCount": 62,
            "repostCount": 6,
            "retweetCount": 5,
            "quoteCount": 1,
            "replyCount": 9,
            "viewCount": 7400,
            "bookmarkCount": 4,
            "sample": true
        },
        {
            "tweetId": "1971234567890120005",
            "tweetUrl": "https://example.com/x/northwind_saas/status/1971234567890120005",
            "authorUrl": "https://example.com/x/northwind_saas",
            "authorHandle": "northwind_saas",
            "authorName": "Northwind (sample)",
            "authorFollowers": 18400,
            "authorVerified": false,
            "authorBio": "Founder of Northwind Invoicing. Building a bootstrapped B2B SaaS in public.",
            "authorWebsite": "https://northwind.example",
            "fullText": "Monday metrics: 412 paying teams, 2.1% monthly churn, 61% of new signups from referrals.",
            "createdAt": "2026-08-20 05:28:00+00:00",
            "likeCount": 74,
            "repostCount": 9,
            "retweetCount": 7,
            "quoteCount": 2,
            "replyCount": 14,
            "viewCount": 8900,
            "bookmarkCount": 6,
            "sample": true
        },
        {
            "tweetId": "1971234567890120006",
            "tweetUrl": "https://example.com/x/northwind_saas/status/1971234567890120006",
            "authorUrl": "https://example.com/x/northwind_saas",
            "authorHandle": "northwind_saas",
            "authorName": "Northwind (sample)",
            "authorFollowers": 18400,
            "authorVerified": false,
            "authorBio": "Founder of Northwind Invoicing. Building a bootstrapped B2B SaaS in public.",
            "authorWebsite": "https://northwind.example",
            "fullText": "What's the one feature you'd pay double for in an invoicing tool?",
            "createdAt": "2026-08-24 10:35:00+00:00",
            "likeCount": 48,
            "repostCount": 3,
            "retweetCount": 2,
            "quoteCount": 1,
            "replyCount": 41,
            "viewCount": 6100,
            "bookmarkCount": 2,
            "sample": true
        },
        {
            "tweetId": "1971234567890120007",
            "tweetUrl": "https://example.com/x/northwind_saas/status/1971234567890120007",
            "authorUrl": "https://example.com/x/northwind_saas",
            "authorHandle": "northwind_saas",
            "authorName": "Northwind (sample)",
            "authorFollowers": 18400,
            "authorVerified": false,
            "authorBio": "Founder of Northwind Invoicing. Building a bootstrapped B2B SaaS in public.",
            "authorWebsite": "https://northwind.example",
            "fullText": "Spent the morning on support. 9 tickets, 7 were the same confusing button. Renaming it today.",
            "createdAt": "2026-08-28 15:42:00+00:00",
            "likeCount": 55,
            "repostCount": 4,
            "retweetCount": 3,
            "quoteCount": 1,
            "replyCount": 12,
            "viewCount": 6900,
            "bookmarkCount": 3,
            "sample": true
        },
        {
            "tweetId": "1971234567890120008",
            "tweetUrl": "https://example.com/x/northwind_saas/status/1971234567890120008",
            "authorUrl": "https://example.com/x/northwind_saas",
            "authorHandle": "northwind_saas",
            "authorName": "Northwind (sample)",
            "authorFollowers": 18400,
            "authorVerified": false,
            "authorBio": "Founder of Northwind Invoicing. Building a bootstrapped B2B SaaS in public.",
            "authorWebsite": "https://northwind.example",
            "fullText": "Building in public, week 37: MRR $24.9k, burn $0, team of 3. #buildinpublic",
            "createdAt": "2026-09-04 20:49:00+00:00",
            "likeCount": 88,
            "repostCount": 8,
            "retweetCount": 6,
            "quoteCount": 2,
            "replyCount": 19,
            "viewCount": 9800,
            "bookmarkCount": 5,
            "hashtags": [
                "buildinpublic"
            ],
            "sample": true
        },
        {
            "tweetId": "1971234567890120009",
            "tweetUrl": "https://example.com/x/northwind_saas/status/1971234567890120009",
            "authorUrl": "https://example.com/x/northwind_saas",
            "authorHandle": "northwind_saas",
            "authorName": "Northwind (sample)",
            "authorFollowers": 18400,
            "authorVerified": false,
            "authorBio": "Founder of Northwind Invoicing. Building a bootstrapped B2B SaaS in public.",
            "authorWebsite": "https://northwind.example",
            "fullText": "Our onboarding email #3 has a 61% open rate. It's three sentences and a GIF.",
            "createdAt": "2026-09-08 01:56:00+00:00",
            "likeCount": 70,
            "repostCount": 7,
            "retweetCount": 6,
            "quoteCount": 1,
            "replyCount": 10,
            "viewCount": 8300,
            "bookmarkCount": 12,
            "mediaType": "animated_gif",
            "videoUrls": [
                "https://example.com/x/media/sample-nw-1.mp4"
            ],
            "sample": true
        },
        {
            "tweetId": "1971234567890120010",
            "tweetUrl": "https://example.com/x/northwind_saas/status/1971234567890120010",
            "authorUrl": "https://example.com/x/northwind_saas",
            "authorHandle": "northwind_saas",
            "authorName": "Northwind (sample)",
            "authorFollowers": 18400,
            "authorVerified": false,
            "authorBio": "Founder of Northwind Invoicing. Building a bootstrapped B2B SaaS in public.",
            "authorWebsite": "https://northwind.example",
            "fullText": "Reminder that a boring product with happy customers beats an exciting demo with none.",
            "createdAt": "2026-09-12 06:03:00+00:00",
            "likeCount": 81,
            "repostCount": 11,
            "retweetCount": 9,
            "quoteCount": 2,
            "replyCount": 8,
            "viewCount": 9100,
            "bookmarkCount": 6,
            "sample": true
        },
        {
            "tweetId": "1971234567890120011",
            "tweetUrl": "https://example.com/x/northwind_saas/status/1971234567890120011",
            "authorUrl": "https://example.com/x/northwind_saas",
            "authorHandle": "northwind_saas",
            "authorName": "Northwind (sample)",
            "authorFollowers": 18400,
            "authorVerified": false,
            "authorBio": "Founder of Northwind Invoicing. Building a bootstrapped B2B SaaS in public.",
            "authorWebsite": "https://northwind.example",
            "fullText": "Hiring our first support engineer. Remote, EU hours. Details: https://northwind.example/jobs",
            "createdAt": "2026-09-16 11:10:00+00:00",
            "likeCount": 39,
            "repostCount": 12,
            "retweetCount": 10,
            "quoteCount": 2,
            "replyCount": 6,
            "viewCount": 7200,
            "bookmarkCount": 2,
            "externalUrls": [
                "https://northwind.example/jobs"
            ],
            "sample": true
        },
        {
            "tweetId": "1971234567890120012",
            "tweetUrl": "https://example.com/x/northwind_saas/status/1971234567890120012",
            "authorUrl": "https://example.com/x/northwind_saas",
            "authorHandle": "northwind_saas",
            "authorName": "Northwind (sample)",
            "authorFollowers": 18400,
            "authorVerified": false,
            "authorBio": "Founder of Northwind Invoicing. Building a bootstrapped B2B SaaS in public.",
            "authorWebsite": "https://northwind.example",
            "fullText": "Tried cold email for 30 days. 600 sent, 14 replies, 2 demos, 0 customers. Back to writing.",
            "createdAt": "2026-09-20 16:17:00+00:00",
            "likeCount": 66,
            "repostCount": 5,
            "retweetCount": 4,
            "quoteCount": 1,
            "replyCount": 17,
            "viewCount": 8600,
            "bookmarkCount": 9,
            "sample": true
        },
        {
            "tweetId": "1971234567890120013",
            "tweetUrl": "https://example.com/x/northwind_saas/status/1971234567890120013",
            "authorUrl": "https://example.com/x/northwind_saas",
            "authorHandle": "northwind_saas",
            "authorName": "Northwind (sample)",
            "authorFollowers": 18400,
            "authorVerified": false,
            "authorBio": "Founder of Northwind Invoicing. Building a bootstrapped B2B SaaS in public.",
            "authorWebsite": "https://northwind.example",
            "fullText": "New dashboard, first look. Feedback welcome.",
            "createdAt": "2026-09-24 21:24:00+00:00",
            "likeCount": 52,
            "repostCount": 3,
            "retweetCount": 2,
            "quoteCount": 1,
            "replyCount": 15,
            "viewCount": 6400,
            "bookmarkCount": 2,
            "mediaType": "photo",
            "imageUrls": [
                "https://example.com/x/media/sample-nw-2.jpg"
            ],
            "sample": true
        },
        {
            "tweetId": "1971234567890120014",
            "tweetUrl": "https://example.com/x/northwind_saas/status/1971234567890120014",
            "authorUrl": "https://example.com/x/northwind_saas",
            "authorHandle": "northwind_saas",
            "authorName": "Northwind (sample)",
            "authorFollowers": 18400,
            "authorVerified": false,
            "authorBio": "Founder of Northwind Invoicing. Building a bootstrapped B2B SaaS in public.",
            "authorWebsite": "https://northwind.example",
            "fullText": "The best pricing page advice I got: show the plan most people pick, not the one you want them to pick.",
            "createdAt": "2026-09-28 02:31:00+00:00",
            "likeCount": 77,
            "repostCount": 10,
            "retweetCount": 8,
            "quoteCount": 2,
            "replyCount": 9,
            "viewCount": 8800,
            "bookmarkCount": 14,
            "sample": true
        },
        {
            "tweetId": "1971234567890120015",
            "tweetUrl": "https://example.com/x/northwind_saas/status/1971234567890120015",
            "authorUrl": "https://example.com/x/northwind_saas",
            "authorHandle": "northwind_saas",
            "authorName": "Northwind (sample)",
            "authorFollowers": 18400,
            "authorVerified": false,
            "authorBio": "Founder of Northwind Invoicing. Building a bootstrapped B2B SaaS in public.",
            "authorWebsite": "https://northwind.example",
            "fullText": "Taking Friday off. The product will survive.",
            "createdAt": "2026-08-04 07:38:00+00:00",
            "likeCount": 58,
            "repostCount": 2,
            "retweetCount": 2,
            "quoteCount": 0,
            "replyCount": 11,
            "viewCount": 5900,
            "bookmarkCount": 0,
            "sample": true
        },
        {
            "tweetId": "1971234567890120016",
            "tweetUrl": "https://example.com/x/northwind_saas/status/1971234567890120016",
            "authorUrl": "https://example.com/x/northwind_saas",
            "authorHandle": "northwind_saas",
            "authorName": "Northwind (sample)",
            "authorFollowers": 18400,
            "authorVerified": false,
            "authorBio": "Founder of Northwind Invoicing. Building a bootstrapped B2B SaaS in public.",
            "authorWebsite": "https://northwind.example",
            "fullText": "Integrations shipped this quarter: Stripe, Xero, QuickBooks. Next: Sage.",
            "createdAt": "2026-08-08 12:45:00+00:00",
            "likeCount": 61,
            "repostCount": 6,
            "retweetCount": 5,
            "quoteCount": 1,
            "replyCount": 7,
            "viewCount": 7000,
            "bookmarkCount": 3,
            "sample": true
        },
        {
            "tweetId": "1971234567890120017",
            "tweetUrl": "https://example.com/x/northwind_saas/status/1971234567890120017",
            "authorUrl": "https://example.com/x/northwind_saas",
            "authorHandle": "northwind_saas",
            "authorName": "Northwind (sample)",
            "authorFollowers": 18400,
            "authorVerified": false,
            "authorBio": "Founder of Northwind Invoicing. Building a bootstrapped B2B SaaS in public.",
            "authorWebsite": "https://northwind.example",
            "fullText": "RT @contoso_growth: Stop A/B testing button colors.",
            "createdAt": "2026-08-12 17:52:00+00:00",
            "likeCount": 0,
            "repostCount": 0,
            "retweetCount": 0,
            "quoteCount": 0,
            "replyCount": 0,
            "viewCount": 0,
            "bookmarkCount": 0,
            "isRetweet": true,
            "sample": true
        },
        {
            "tweetId": "1971234567890120018",
            "tweetUrl": "https://example.com/x/northwind_saas/status/1971234567890120018",
            "authorUrl": "https://example.com/x/northwind_saas",
            "authorHandle": "northwind_saas",
            "authorName": "Northwind (sample)",
            "authorFollowers": 18400,
            "authorVerified": false,
            "authorBio": "Founder of Northwind Invoicing. Building a bootstrapped B2B SaaS in public.",
            "authorWebsite": "https://northwind.example",
            "fullText": "@someone_else congrats on the launch!",
            "createdAt": "2026-08-16 22:59:00+00:00",
            "likeCount": 4,
            "repostCount": 0,
            "retweetCount": 0,
            "quoteCount": 0,
            "replyCount": 1,
            "viewCount": 300,
            "bookmarkCount": 0,
            "isReply": true,
            "replyToHandle": "someone_else",
            "sample": true
        },
        {
            "tweetId": "1971234567890120019",
            "tweetUrl": "https://example.com/x/contoso_growth/status/1971234567890120019",
            "authorUrl": "https://example.com/x/contoso_growth",
            "authorHandle": "contoso_growth",
            "authorName": "Contoso Growth (sample)",
            "authorFollowers": 42300,
            "authorVerified": true,
            "authorBio": "Growth lead for B2B SaaS. Landing pages, activation, newsletters.",
            "authorWebsite": "https://contoso.example",
            "fullText": "Stop A/B testing button colors.\n\nTest the offer. Test the headline. Test who you're talking to.\n\nButton colors are where growth teams go to feel busy.",
            "createdAt": "2026-08-04 09:00:00+00:00",
            "likeCount": 980,
            "repostCount": 160,
            "retweetCount": 128,
            "quoteCount": 32,
            "replyCount": 120,
            "viewCount": 152000,
            "bookmarkCount": 240,
            "sample": true
        },
        {
            "tweetId": "1971234567890120020",
            "tweetUrl": "https://example.com/x/contoso_growth/status/1971234567890120020",
            "authorUrl": "https://example.com/x/contoso_growth",
            "authorHandle": "contoso_growth",
            "authorName": "Contoso Growth (sample)",
            "authorFollowers": 42300,
            "authorVerified": true,
            "authorBio": "Growth lead for B2B SaaS. Landing pages, activation, newsletters.",
            "authorWebsite": "https://contoso.example",
            "fullText": "7 landing page lines that doubled our demo bookings:\n\n→ \"Set up in 5 minutes\"\n→ \"No card needed\"\n→ \"Cancel in one click\"\n→ \"Used by 1,200 teams\"\n→ \"See it with your data\"\n→ \"Talk to a human\"\n→ \"Free migration\"",
            "createdAt": "2026-08-08 14:07:00+00:00",
            "likeCount": 640,
            "repostCount": 130,
            "retweetCount": 104,
            "quoteCount": 26,
            "replyCount": 40,
            "viewCount": 118000,
            "bookmarkCount": 520,
            "sample": true
        },
        {
            "tweetId": "1971234567890120021",
            "tweetUrl": "https://example.com/x/contoso_growth/status/1971234567890120021",
            "authorUrl": "https://example.com/x/contoso_growth",
            "authorHandle": "contoso_growth",
            "authorName": "Contoso Growth (sample)",
            "authorFollowers": 42300,
            "authorVerified": true,
            "authorBio": "Growth lead for B2B SaaS. Landing pages, activation, newsletters.",
            "authorWebsite": "https://contoso.example",
            "fullText": "Our 4-person team grew a newsletter from 0 to 31,000 readers in 11 months.\n\nEvery channel we tried, ranked by cost per subscriber 🧵",
            "createdAt": "2026-08-12 19:14:00+00:00",
            "likeCount": 720,
            "repostCount": 95,
            "retweetCount": 76,
            "quoteCount": 19,
            "replyCount": 70,
            "viewCount": 131000,
            "bookmarkCount": 380,
            "sample": true
        },
        {
            "tweetId": "1971234567890120022",
            "tweetUrl": "https://example.com/x/contoso_growth/status/1971234567890120022",
            "authorUrl": "https://example.com/x/contoso_growth",
            "authorHandle": "contoso_growth",
            "authorName": "Contoso Growth (sample)",
            "authorFollowers": 42300,
            "authorVerified": true,
            "authorBio": "Growth lead for B2B SaaS. Landing pages, activation, newsletters.",
            "authorWebsite": "https://contoso.example",
            "fullText": "60-second teardown of the best onboarding flow I've seen this year.",
            "createdAt": "2026-08-16 00:21:00+00:00",
            "likeCount": 450,
            "repostCount": 60,
            "retweetCount": 48,
            "quoteCount": 12,
            "replyCount": 35,
            "viewCount": 97000,
            "bookmarkCount": 110,
            "mediaType": "video",
            "videoUrls": [
                "https://example.com/x/media/sample-cg-1.mp4"
            ],
            "sample": true
        },
        {
            "tweetId": "1971234567890120023",
            "tweetUrl": "https://example.com/x/contoso_growth/status/1971234567890120023",
            "authorUrl": "https://example.com/x/contoso_growth",
            "authorHandle": "contoso_growth",
            "authorName": "Contoso Growth (sample)",
            "authorFollowers": 42300,
            "authorVerified": true,
            "authorBio": "Growth lead for B2B SaaS. Landing pages, activation, newsletters.",
            "authorWebsite": "https://contoso.example",
            "fullText": "Retention is a growth channel. Most teams just don't put it on the roadmap.",
            "createdAt": "2026-08-20 05:28:00+00:00",
            "likeCount": 160,
            "repostCount": 22,
            "retweetCount": 18,
            "quoteCount": 4,
            "replyCount": 18,
            "viewCount": 21000,
            "bookmarkCount": 20,
            "sample": true
        },
        {
            "tweetId": "1971234567890120024",
            "tweetUrl": "https://example.com/x/contoso_growth/status/1971234567890120024",
            "authorUrl": "https://example.com/x/contoso_growth",
            "authorHandle": "contoso_growth",
            "authorName": "Contoso Growth (sample)",
            "authorFollowers": 42300,
            "authorVerified": true,
            "authorBio": "Growth lead for B2B SaaS. Landing pages, activation, newsletters.",
            "authorWebsite": "https://contoso.example",
            "fullText": "What's the most underrated growth channel in 2026? Wrong answers only.",
            "createdAt": "2026-08-24 10:35:00+00:00",
            "likeCount": 120,
            "repostCount": 8,
            "retweetCount": 6,
            "quoteCount": 2,
            "replyCount": 140,
            "viewCount": 26000,
            "bookmarkCount": 4,
            "sample": true
        },
        {
            "tweetId": "1971234567890120025",
            "tweetUrl": "https://example.com/x/contoso_growth/status/1971234567890120025",
            "authorUrl": "https://example.com/x/contoso_growth",
            "authorHandle": "contoso_growth",
            "authorName": "Contoso Growth (sample)",
            "authorFollowers": 42300,
            "authorVerified": true,
            "authorBio": "Growth lead for B2B SaaS. Landing pages, activation, newsletters.",
            "authorWebsite": "https://contoso.example",
            "fullText": "Weekly reminder: your homepage is not for you.",
            "createdAt": "2026-08-28 15:42:00+00:00",
            "likeCount": 190,
            "repostCount": 25,
            "retweetCount": 20,
            "quoteCount": 5,
            "replyCount": 12,
            "viewCount": 23000,
            "bookmarkCount": 15,
            "sample": true
        },
        {
            "tweetId": "1971234567890120026",
            "tweetUrl": "https://example.com/x/contoso_growth/status/1971234567890120026",
            "authorUrl": "https://example.com/x/contoso_growth",
            "authorHandle": "contoso_growth",
            "authorName": "Contoso Growth (sample)",
            "authorFollowers": 42300,
            "authorVerified": true,
            "authorBio": "Growth lead for B2B SaaS. Landing pages, activation, newsletters.",
            "authorWebsite": "https://contoso.example",
            "fullText": "Ran a pricing survey with 1,200 B2B buyers. Results next week.",
            "createdAt": "2026-09-04 20:49:00+00:00",
            "likeCount": 170,
            "repostCount": 30,
            "retweetCount": 24,
            "quoteCount": 6,
            "replyCount": 25,
            "viewCount": 24000,
            "bookmarkCount": 18,
            "sample": true
        },
        {
            "tweetId": "1971234567890120027",
            "tweetUrl": "https://example.com/x/contoso_growth/status/1971234567890120027",
            "authorUrl": "https://example.com/x/contoso_growth",
            "authorHandle": "contoso_growth",
            "authorName": "Contoso Growth (sample)",
            "authorFollowers": 42300,
            "authorVerified": true,
            "authorBio": "Growth lead for B2B SaaS. Landing pages, activation, newsletters.",
            "authorWebsite": "https://contoso.example",
            "fullText": "New post: the 5-step activation audit we run for every client. https://contoso.example/activation-audit",
            "createdAt": "2026-09-08 01:56:00+00:00",
            "likeCount": 140,
            "repostCount": 26,
            "retweetCount": 21,
            "quoteCount": 5,
            "replyCount": 14,
            "viewCount": 19000,
            "bookmarkCount": 40,
            "externalUrls": [
                "https://contoso.example/activation-audit"
            ],
            "sample": true
        },
        {
            "tweetId": "1971234567890120028",
            "tweetUrl": "https://example.com/x/contoso_growth/status/1971234567890120028",
            "authorUrl": "https://example.com/x/contoso_growth",
            "authorHandle": "contoso_growth",
            "authorName": "Contoso Growth (sample)",
            "authorFollowers": 42300,
            "authorVerified": true,
            "authorBio": "Growth lead for B2B SaaS. Landing pages, activation, newsletters.",
            "authorWebsite": "https://contoso.example",
            "fullText": "Good copy is mostly deleting.",
            "createdAt": "2026-09-12 06:03:00+00:00",
            "likeCount": 210,
            "repostCount": 28,
            "retweetCount": 22,
            "quoteCount": 6,
            "replyCount": 9,
            "viewCount": 25000,
            "bookmarkCount": 12,
            "sample": true
        },
        {
            "tweetId": "1971234567890120029",
            "tweetUrl": "https://example.com/x/contoso_growth/status/1971234567890120029",
            "authorUrl": "https://example.com/x/contoso_growth",
            "authorHandle": "contoso_growth",
            "authorName": "Contoso Growth (sample)",
            "authorFollowers": 42300,
            "authorVerified": true,
            "authorBio": "Growth lead for B2B SaaS. Landing pages, activation, newsletters.",
            "authorWebsite": "https://contoso.example",
            "fullText": "Spoke at GrowthConf today. Slides below.",
            "createdAt": "2026-09-16 11:10:00+00:00",
            "likeCount": 150,
            "repostCount": 12,
            "retweetCount": 10,
            "quoteCount": 2,
            "replyCount": 20,
            "viewCount": 18000,
            "bookmarkCount": 9,
            "mediaType": "photo",
            "imageUrls": [
                "https://example.com/x/media/sample-cg-2.jpg"
            ],
            "sample": true
        },
        {
            "tweetId": "1971234567890120030",
            "tweetUrl": "https://example.com/x/contoso_growth/status/1971234567890120030",
            "authorUrl": "https://example.com/x/contoso_growth",
            "authorHandle": "contoso_growth",
            "authorName": "Contoso Growth (sample)",
            "authorFollowers": 42300,
            "authorVerified": true,
            "authorBio": "Growth lead for B2B SaaS. Landing pages, activation, newsletters.",
            "authorWebsite": "https://contoso.example",
            "fullText": "Hot take: most 'PLG' companies are sales-led companies with a free trial.",
            "createdAt": "2026-09-20 16:17:00+00:00",
            "likeCount": 230,
            "repostCount": 30,
            "retweetCount": 24,
            "quoteCount": 6,
            "replyCount": 60,
            "viewCount": 31000,
            "bookmarkCount": 10,
            "sample": true
        },
        {
            "tweetId": "1971234567890120031",
            "tweetUrl": "https://example.com/x/contoso_growth/status/1971234567890120031",
            "authorUrl": "https://example.com/x/contoso_growth",
            "authorHandle": "contoso_growth",
            "authorName": "Contoso Growth (sample)",
            "authorFollowers": 42300,
            "authorVerified": true,
            "authorBio": "Growth lead for B2B SaaS. Landing pages, activation, newsletters.",
            "authorWebsite": "https://contoso.example",
            "fullText": "If your onboarding needs a video, your product needs a fix.",
            "createdAt": "2026-09-24 21:24:00+00:00",
            "likeCount": 200,
            "repostCount": 24,
            "retweetCount": 19,
            "quoteCount": 5,
            "replyCount": 22,
            "viewCount": 24500,
            "bookmarkCount": 14,
            "sample": true
        },
        {
            "tweetId": "1971234567890120032",
            "tweetUrl": "https://example.com/x/contoso_growth/status/1971234567890120032",
            "authorUrl": "https://example.com/x/contoso_growth",
            "authorHandle": "contoso_growth",
            "authorName": "Contoso Growth (sample)",
            "authorFollowers": 42300,
            "authorVerified": true,
            "authorBio": "Growth lead for B2B SaaS. Landing pages, activation, newsletters.",
            "authorWebsite": "https://contoso.example",
            "fullText": "Client win: trial-to-paid 9% → 14% after cutting the signup form from 7 fields to 3.",
            "createdAt": "2026-09-28 02:31:00+00:00",
            "likeCount": 220,
            "repostCount": 35,
            "retweetCount": 28,
            "quoteCount": 7,
            "replyCount": 18,
            "viewCount": 27000,
            "bookmarkCount": 30,
            "sample": true
        },
        {
            "tweetId": "1971234567890120033",
            "tweetUrl": "https://example.com/x/contoso_growth/status/1971234567890120033",
            "authorUrl": "https://example.com/x/contoso_growth",
            "authorHandle": "contoso_growth",
            "authorName": "Contoso Growth (sample)",
            "authorFollowers": 42300,
            "authorVerified": true,
            "authorBio": "Growth lead for B2B SaaS. Landing pages, activation, newsletters.",
            "authorWebsite": "https://contoso.example",
            "fullText": "Testing a new format this week. Feedback welcome.",
            "createdAt": "2026-08-04 07:38:00+00:00",
            "likeCount": 110,
            "repostCount": 5,
            "retweetCount": 4,
            "quoteCount": 1,
            "replyCount": 30,
            "viewCount": 15000,
            "bookmarkCount": 2,
            "sample": true
        },
        {
            "tweetId": "1971234567890120034",
            "tweetUrl": "https://example.com/x/contoso_growth/status/1971234567890120034",
            "authorUrl": "https://example.com/x/contoso_growth",
            "authorHandle": "contoso_growth",
            "authorName": "Contoso Growth (sample)",
            "authorFollowers": 42300,
            "authorVerified": true,
            "authorBio": "Growth lead for B2B SaaS. Landing pages, activation, newsletters.",
            "authorWebsite": "https://contoso.example",
            "fullText": "Looking for 3 SaaS teams to beta-test our activation checklist. DM me.",
            "createdAt": "2026-08-08 12:45:00+00:00",
            "likeCount": 130,
            "repostCount": 10,
            "retweetCount": 8,
            "quoteCount": 2,
            "replyCount": 45,
            "viewCount": 17000,
            "bookmarkCount": 8,
            "sample": true
        },
        {
            "tweetId": "1971234567890120035",
            "tweetUrl": "https://example.com/x/contoso_growth/status/1971234567890120035",
            "authorUrl": "https://example.com/x/contoso_growth",
            "authorHandle": "contoso_growth",
            "authorName": "Contoso Growth (sample)",
            "authorFollowers": 42300,
            "authorVerified": true,
            "authorBio": "Growth lead for B2B SaaS. Landing pages, activation, newsletters.",
            "authorWebsite": "https://contoso.example",
            "fullText": "Try GrowthKit free for 14 days — the growth dashboard 9,000 teams use.",
            "createdAt": "2026-08-12 17:52:00+00:00",
            "likeCount": 2400,
            "repostCount": 300,
            "retweetCount": 240,
            "quoteCount": 60,
            "replyCount": 80,
            "viewCount": 900000,
            "bookmarkCount": 60,
            "isAd": true,
            "sample": true
        },
        {
            "tweetId": "1971234567890120036",
            "tweetUrl": "https://example.com/x/contoso_growth/status/1971234567890120036",
            "authorUrl": "https://example.com/x/contoso_growth",
            "authorHandle": "contoso_growth",
            "authorName": "Contoso Growth (sample)",
            "authorFollowers": 42300,
            "authorVerified": true,
            "authorBio": "Growth lead for B2B SaaS. Landing pages, activation, newsletters.",
            "authorWebsite": "https://contoso.example",
            "fullText": "RT @fabrikam_devrel: How to cut your CI time from 14 minutes to 3",
            "createdAt": "2026-08-16 22:59:00+00:00",
            "likeCount": 0,
            "repostCount": 0,
            "retweetCount": 0,
            "quoteCount": 0,
            "replyCount": 0,
            "viewCount": 0,
            "bookmarkCount": 0,
            "isRetweet": true,
            "sample": true
        },
        {
            "tweetId": "1971234567890120037",
            "tweetUrl": "https://example.com/x/fabrikam_devrel/status/1971234567890120037",
            "authorUrl": "https://example.com/x/fabrikam_devrel",
            "authorHandle": "fabrikam_devrel",
            "authorName": "Fabrikam DevRel (sample)",
            "authorFollowers": 9100,
            "authorVerified": false,
            "authorBio": "Developer relations at Fabrikam CLI. CI, testing, developer experience.",
            "authorWebsite": "https://fabrikam.example",
            "fullText": "How to cut your CI time from 14 minutes to 3:\n\n1. Cache dependencies by lockfile hash\n2. Split tests by timing, not by file\n3. Run lint and types in parallel\n4. Skip docs-only changes\n\nSteal this.",
            "createdAt": "2026-08-04 09:00:00+00:00",
            "likeCount": 210,
            "repostCount": 45,
            "retweetCount": 36,
            "quoteCount": 9,
            "replyCount": 18,
            "viewCount": 38000,
            "bookmarkCount": 160,
            "sample": true
        },
        {
            "tweetId": "1971234567890120038",
            "tweetUrl": "https://example.com/x/fabrikam_devrel/status/1971234567890120038",
            "authorUrl": "https://example.com/x/fabrikam_devrel",
            "authorHandle": "fabrikam_devrel",
            "authorName": "Fabrikam DevRel (sample)",
            "authorFollowers": 9100,
            "authorVerified": false,
            "authorBio": "Developer relations at Fabrikam CLI. CI, testing, developer experience.",
            "authorWebsite": "https://fabrikam.example",
            "fullText": "I deleted 40% of our codebase last quarter. Nothing broke.\n\nHere's what was in it:",
            "createdAt": "2026-08-08 14:07:00+00:00",
            "likeCount": 130,
            "repostCount": 20,
            "retweetCount": 16,
            "quoteCount": 4,
            "replyCount": 34,
            "viewCount": 21000,
            "bookmarkCount": 26,
            "sample": true
        },
        {
            "tweetId": "1971234567890120039",
            "tweetUrl": "https://example.com/x/fabrikam_devrel/status/1971234567890120039",
            "authorUrl": "https://example.com/x/fabrikam_devrel",
            "authorHandle": "fabrikam_devrel",
            "authorName": "Fabrikam DevRel (sample)",
            "authorFollowers": 9100,
            "authorVerified": false,
            "authorBio": "Developer relations at Fabrikam CLI. CI, testing, developer experience.",
            "authorWebsite": "https://fabrikam.example",
            "fullText": "This is the best explanation of database indexes I've read. Required reading for every new hire.",
            "createdAt": "2026-08-12 19:14:00+00:00",
            "likeCount": 70,
            "repostCount": 22,
            "retweetCount": 18,
            "quoteCount": 4,
            "replyCount": 6,
            "viewCount": 12000,
            "bookmarkCount": 48,
            "isQuote": true,
            "quotedTweetUrl": "https://example.com/x/someone_else/status/1971234567890100001",
            "sample": true
        },
        {
            "tweetId": "1971234567890120040",
            "tweetUrl": "https://example.com/x/fabrikam_devrel/status/1971234567890120040",
            "authorUrl": "https://example.com/x/fabrikam_devrel",
            "authorHandle": "fabrikam_devrel",
            "authorName": "Fabrikam DevRel (sample)",
            "authorFollowers": 9100,
            "authorVerified": false,
            "authorBio": "Developer relations at Fabrikam CLI. CI, testing, developer experience.",
            "authorWebsite": "https://fabrikam.example",
            "fullText": "Released v2.4: faster cold starts, fewer config files.",
            "createdAt": "2026-08-16 00:21:00+00:00",
            "likeCount": 28,
            "repostCount": 4,
            "retweetCount": 3,
            "quoteCount": 1,
            "replyCount": 3,
            "viewCount": 3900,
            "bookmarkCount": 2,
            "sample": true
        },
        {
            "tweetId": "1971234567890120041",
            "tweetUrl": "https://example.com/x/fabrikam_devrel/status/1971234567890120041",
            "authorUrl": "https://example.com/x/fabrikam_devrel",
            "authorHandle": "fabrikam_devrel",
            "authorName": "Fabrikam DevRel (sample)",
            "authorFollowers": 9100,
            "authorVerified": false,
            "authorBio": "Developer relations at Fabrikam CLI. CI, testing, developer experience.",
            "authorWebsite": "https://fabrikam.example",
            "fullText": "Which do you reach for first: logs, traces or metrics?",
            "createdAt": "2026-08-20 05:28:00+00:00",
            "likeCount": 15,
            "repostCount": 1,
            "retweetCount": 1,
            "quoteCount": 0,
            "replyCount": 29,
            "viewCount": 4100,
            "bookmarkCount": 0,
            "sample": true
        },
        {
            "tweetId": "1971234567890120042",
            "tweetUrl": "https://example.com/x/fabrikam_devrel/status/1971234567890120042",
            "authorUrl": "https://example.com/x/fabrikam_devrel",
            "authorHandle": "fabrikam_devrel",
            "authorName": "Fabrikam DevRel (sample)",
            "authorFollowers": 9100,
            "authorVerified": false,
            "authorBio": "Developer relations at Fabrikam CLI. CI, testing, developer experience.",
            "authorWebsite": "https://fabrikam.example",
            "fullText": "Docs PRs are the best first contribution. We label them good-first-issue.",
            "createdAt": "2026-08-24 10:35:00+00:00",
            "likeCount": 31,
            "repostCount": 5,
            "retweetCount": 4,
            "quoteCount": 1,
            "replyCount": 4,
            "viewCount": 4200,
            "bookmarkCount": 3,
            "sample": true
        },
        {
            "tweetId": "1971234567890120043",
            "tweetUrl": "https://example.com/x/fabrikam_devrel/status/1971234567890120043",
            "authorUrl": "https://example.com/x/fabrikam_devrel",
            "authorHandle": "fabrikam_devrel",
            "authorName": "Fabrikam DevRel (sample)",
            "authorFollowers": 9100,
            "authorVerified": false,
            "authorBio": "Developer relations at Fabrikam CLI. CI, testing, developer experience.",
            "authorWebsite": "https://fabrikam.example",
            "fullText": "Live-coding the new plugin API at 5pm UTC.",
            "createdAt": "2026-08-28 15:42:00+00:00",
            "likeCount": 22,
            "repostCount": 6,
            "retweetCount": 5,
            "quoteCount": 1,
            "replyCount": 2,
            "viewCount": 3100,
            "bookmarkCount": 0,
            "sample": true
        },
        {
            "tweetId": "1971234567890120044",
            "tweetUrl": "https://example.com/x/fabrikam_devrel/status/1971234567890120044",
            "authorUrl": "https://example.com/x/fabrikam_devrel",
            "authorHandle": "fabrikam_devrel",
            "authorName": "Fabrikam DevRel (sample)",
            "authorFollowers": 9100,
            "authorVerified": false,
            "authorBio": "Developer relations at Fabrikam CLI. CI, testing, developer experience.",
            "authorWebsite": "https://fabrikam.example",
            "fullText": "Benchmarks for the new release.",
            "createdAt": "2026-09-04 20:49:00+00:00",
            "likeCount": 34,
            "repostCount": 4,
            "retweetCount": 3,
            "quoteCount": 1,
            "replyCount": 6,
            "viewCount": 4600,
            "bookmarkCount": 5,
            "mediaType": "photo",
            "imageUrls": [
                "https://example.com/x/media/sample-fd-1.jpg"
            ],
            "sample": true
        },
        {
            "tweetId": "1971234567890120045",
            "tweetUrl": "https://example.com/x/fabrikam_devrel/status/1971234567890120045",
            "authorUrl": "https://example.com/x/fabrikam_devrel",
            "authorHandle": "fabrikam_devrel",
            "authorName": "Fabrikam DevRel (sample)",
            "authorFollowers": 9100,
            "authorVerified": false,
            "authorBio": "Developer relations at Fabrikam CLI. CI, testing, developer experience.",
            "authorWebsite": "https://fabrikam.example",
            "fullText": "TIL you can bisect a flaky test with git bisect run.",
            "createdAt": "2026-09-08 01:56:00+00:00",
            "likeCount": 38,
            "repostCount": 6,
            "retweetCount": 5,
            "quoteCount": 1,
            "replyCount": 4,
            "viewCount": 5200,
            "bookmarkCount": 9,
            "sample": true
        },
        {
            "tweetId": "1971234567890120046",
            "tweetUrl": "https://example.com/x/fabrikam_devrel/status/1971234567890120046",
            "authorUrl": "https://example.com/x/fabrikam_devrel",
            "authorHandle": "fabrikam_devrel",
            "authorName": "Fabrikam DevRel (sample)",
            "authorFollowers": 9100,
            "authorVerified": false,
            "authorBio": "Developer relations at Fabrikam CLI. CI, testing, developer experience.",
            "authorWebsite": "https://fabrikam.example",
            "fullText": "Our changelog is now an RSS feed. Old-school, still the best.",
            "createdAt": "2026-09-12 06:03:00+00:00",
            "likeCount": 26,
            "repostCount": 3,
            "retweetCount": 2,
            "quoteCount": 1,
            "replyCount": 5,
            "viewCount": 3600,
            "bookmarkCount": 2,
            "sample": true
        },
        {
            "tweetId": "1971234567890120047",
            "tweetUrl": "https://example.com/x/fabrikam_devrel/status/1971234567890120047",
            "authorUrl": "https://example.com/x/fabrikam_devrel",
            "authorHandle": "fabrikam_devrel",
            "authorName": "Fabrikam DevRel (sample)",
            "authorFollowers": 9100,
            "authorVerified": false,
            "authorBio": "Developer relations at Fabrikam CLI. CI, testing, developer experience.",
            "authorWebsite": "https://fabrikam.example",
            "fullText": "Conference season. Who's going to DevToolsConf?",
            "createdAt": "2026-09-16 11:10:00+00:00",
            "likeCount": 19,
            "repostCount": 1,
            "retweetCount": 1,
            "quoteCount": 0,
            "replyCount": 14,
            "viewCount": 3300,
            "bookmarkCount": 0,
            "sample": true
        },
        {
            "tweetId": "1971234567890120048",
            "tweetUrl": "https://example.com/x/fabrikam_devrel/status/1971234567890120048",
            "authorUrl": "https://example.com/x/fabrikam_devrel",
            "authorHandle": "fabrikam_devrel",
            "authorName": "Fabrikam DevRel (sample)",
            "authorFollowers": 9100,
            "authorVerified": false,
            "authorBio": "Developer relations at Fabrikam CLI. CI, testing, developer experience.",
            "authorWebsite": "https://fabrikam.example",
            "fullText": "Rewrote the CLI help text. Support questions dropped 30%.",
            "createdAt": "2026-09-20 16:17:00+00:00",
            "likeCount": 41,
            "repostCount": 7,
            "retweetCount": 6,
            "quoteCount": 1,
            "replyCount": 6,
            "viewCount": 5400,
            "bookmarkCount": 4,
            "sample": true
        },
        {
            "tweetId": "1971234567890120049",
            "tweetUrl": "https://example.com/x/fabrikam_devrel/status/1971234567890120049",
            "authorUrl": "https://example.com/x/fabrikam_devrel",
            "authorHandle": "fabrikam_devrel",
            "authorName": "Fabrikam DevRel (sample)",
            "authorFollowers": 9100,
            "authorVerified": false,
            "authorBio": "Developer relations at Fabrikam CLI. CI, testing, developer experience.",
            "authorWebsite": "https://fabrikam.example",
            "fullText": "Error messages are UI.",
            "createdAt": "2026-09-24 21:24:00+00:00",
            "likeCount": 44,
            "repostCount": 8,
            "retweetCount": 6,
            "quoteCount": 2,
            "replyCount": 3,
            "viewCount": 5600,
            "bookmarkCount": 3,
            "sample": true
        },
        {
            "tweetId": "1971234567890120050",
            "tweetUrl": "https://example.com/x/fabrikam_devrel/status/1971234567890120050",
            "authorUrl": "https://example.com/x/fabrikam_devrel",
            "authorHandle": "fabrikam_devrel",
            "authorName": "Fabrikam DevRel (sample)",
            "authorFollowers": 9100,
            "authorVerified": false,
            "authorBio": "Developer relations at Fabrikam CLI. CI, testing, developer experience.",
            "authorWebsite": "https://fabrikam.example",
            "fullText": "Shipping a VS Code extension next week. Beta testers wanted.",
            "createdAt": "2026-09-28 02:31:00+00:00",
            "likeCount": 27,
            "repostCount": 5,
            "retweetCount": 4,
            "quoteCount": 1,
            "replyCount": 12,
            "viewCount": 3800,
            "bookmarkCount": 1,
            "sample": true
        },
        {
            "tweetId": "1971234567890120051",
            "tweetUrl": "https://example.com/x/fabrikam_devrel/status/1971234567890120051",
            "authorUrl": "https://example.com/x/fabrikam_devrel",
            "authorHandle": "fabrikam_devrel",
            "authorName": "Fabrikam DevRel (sample)",
            "authorFollowers": 9100,
            "authorVerified": false,
            "authorBio": "Developer relations at Fabrikam CLI. CI, testing, developer experience.",
            "authorWebsite": "https://fabrikam.example",
            "fullText": "Friday deploys are fine if rollbacks are boring.",
            "createdAt": "2026-08-04 07:38:00+00:00",
            "likeCount": 39,
            "repostCount": 4,
            "retweetCount": 3,
            "quoteCount": 1,
            "replyCount": 9,
            "viewCount": 5000,
            "bookmarkCount": 2,
            "sample": true
        },
        {
            "tweetId": "1971234567890120052",
            "tweetUrl": "https://example.com/x/fabrikam_devrel/status/1971234567890120052",
            "authorUrl": "https://example.com/x/fabrikam_devrel",
            "authorHandle": "fabrikam_devrel",
            "authorName": "Fabrikam DevRel (sample)",
            "authorFollowers": 9100,
            "authorVerified": false,
            "authorBio": "Developer relations at Fabrikam CLI. CI, testing, developer experience.",
            "authorWebsite": "https://fabrikam.example",
            "fullText": "New blog post on how we test our migrations: https://fabrikam.example/blog/migrations",
            "createdAt": "2026-08-08 12:45:00+00:00",
            "likeCount": 23,
            "repostCount": 4,
            "retweetCount": 3,
            "quoteCount": 1,
            "replyCount": 2,
            "viewCount": 3400,
            "bookmarkCount": 3,
            "externalUrls": [
                "https://fabrikam.example/blog/migrations"
            ],
            "sample": true
        },
        {
            "tweetId": "1971234567890120053",
            "tweetUrl": "https://example.com/x/fabrikam_devrel/status/1971234567890120053",
            "authorUrl": "https://example.com/x/fabrikam_devrel",
            "authorHandle": "fabrikam_devrel",
            "authorName": "Fabrikam DevRel (sample)",
            "authorFollowers": 9100,
            "authorVerified": false,
            "authorBio": "Developer relations at Fabrikam CLI. CI, testing, developer experience.",
            "authorWebsite": "https://fabrikam.example",
            "fullText": "@someone_else we fixed that in v2.4.1, try again?",
            "createdAt": "2026-08-12 17:52:00+00:00",
            "likeCount": 3,
            "repostCount": 0,
            "retweetCount": 0,
            "quoteCount": 0,
            "replyCount": 1,
            "viewCount": 200,
            "bookmarkCount": 0,
            "isReply": true,
            "replyToHandle": "someone_else",
            "sample": true
        },
        {
            "tweetId": "1971234567890120054",
            "tweetUrl": "https://example.com/x/fabrikam_devrel/status/1971234567890120054",
            "authorUrl": "https://example.com/x/fabrikam_devrel",
            "authorHandle": "fabrikam_devrel",
            "authorName": "Fabrikam DevRel (sample)",
            "authorFollowers": 9100,
            "authorVerified": false,
            "authorBio": "Developer relations at Fabrikam CLI. CI, testing, developer experience.",
            "authorWebsite": "https://fabrikam.example",
            "fullText": "RT @northwind_saas: We raised prices 40% last month.",
            "createdAt": "2026-08-16 22:59:00+00:00",
            "likeCount": 0,
            "repostCount": 0,
            "retweetCount": 0,
            "quoteCount": 0,
            "replyCount": 0,
            "viewCount": 0,
            "bookmarkCount": 0,
            "isRetweet": true,
            "sample": true
        }
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("rich_minds/x-winning-tweets-ai").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "accounts": [
        "northwind_saas",
        "contoso_growth",
        "fabrikam_devrel",
    ],
    "maxDiscoveryChargeUsd": 0.5,
    "sourceMode": "list",
    "itemsList": [
        {
            "tweetId": "1971234567890120001",
            "tweetUrl": "https://example.com/x/northwind_saas/status/1971234567890120001",
            "authorUrl": "https://example.com/x/northwind_saas",
            "authorHandle": "northwind_saas",
            "authorName": "Northwind (sample)",
            "authorFollowers": 18400,
            "authorVerified": False,
            "authorBio": "Founder of Northwind Invoicing. Building a bootstrapped B2B SaaS in public.",
            "authorWebsite": "https://northwind.example",
            "fullText": """We raised prices 40% last month.

Churn didn't move. Revenue did: $18.2k → $24.9k MRR.

Here's exactly how we announced it to 412 customers 🧵""",
            "createdAt": "2026-08-04 09:00:00+00:00",
            "likeCount": 420,
            "repostCount": 70,
            "retweetCount": 56,
            "quoteCount": 14,
            "replyCount": 52,
            "viewCount": 61000,
            "bookmarkCount": 160,
            "sample": True,
        },
        {
            "tweetId": "1971234567890120002",
            "tweetUrl": "https://example.com/x/northwind_saas/status/1971234567890120002",
            "authorUrl": "https://example.com/x/northwind_saas",
            "authorHandle": "northwind_saas",
            "authorName": "Northwind (sample)",
            "authorFollowers": 18400,
            "authorVerified": False,
            "authorBio": "Founder of Northwind Invoicing. Building a bootstrapped B2B SaaS in public.",
            "authorWebsite": "https://northwind.example",
            "fullText": """Unpopular opinion: your SaaS doesn't need a free plan.

It needs a 14-day trial and a founder who answers every support email.""",
            "createdAt": "2026-08-08 14:07:00+00:00",
            "likeCount": 190,
            "repostCount": 22,
            "retweetCount": 18,
            "quoteCount": 4,
            "replyCount": 60,
            "viewCount": 24000,
            "bookmarkCount": 18,
            "sample": True,
        },
        {
            "tweetId": "1971234567890120003",
            "tweetUrl": "https://example.com/x/northwind_saas/status/1971234567890120003",
            "authorUrl": "https://example.com/x/northwind_saas",
            "authorHandle": "northwind_saas",
            "authorName": "Northwind (sample)",
            "authorFollowers": 18400,
            "authorVerified": False,
            "authorBio": "Founder of Northwind Invoicing. Building a bootstrapped B2B SaaS in public.",
            "authorWebsite": "https://northwind.example",
            "fullText": """How I got our first 100 paying customers without ads:

1. Answered 3 questions a day in niche forums
2. Wrote one teardown a week
3. Emailed every churned trial user
4. Shipped what they asked for within 48h

Bookmark this if you're pre-PMF.""",
            "createdAt": "2026-08-12 19:14:00+00:00",
            "likeCount": 300,
            "repostCount": 50,
            "retweetCount": 40,
            "quoteCount": 10,
            "replyCount": 25,
            "viewCount": 41000,
            "bookmarkCount": 180,
            "sample": True,
        },
        {
            "tweetId": "1971234567890120004",
            "tweetUrl": "https://example.com/x/northwind_saas/status/1971234567890120004",
            "authorUrl": "https://example.com/x/northwind_saas",
            "authorHandle": "northwind_saas",
            "authorName": "Northwind (sample)",
            "authorFollowers": 18400,
            "authorVerified": False,
            "authorBio": "Founder of Northwind Invoicing. Building a bootstrapped B2B SaaS in public.",
            "authorWebsite": "https://northwind.example",
            "fullText": "Shipped: recurring invoices now support multi-currency. Small change, 11 customers asked for it.",
            "createdAt": "2026-08-16 00:21:00+00:00",
            "likeCount": 62,
            "repostCount": 6,
            "retweetCount": 5,
            "quoteCount": 1,
            "replyCount": 9,
            "viewCount": 7400,
            "bookmarkCount": 4,
            "sample": True,
        },
        {
            "tweetId": "1971234567890120005",
            "tweetUrl": "https://example.com/x/northwind_saas/status/1971234567890120005",
            "authorUrl": "https://example.com/x/northwind_saas",
            "authorHandle": "northwind_saas",
            "authorName": "Northwind (sample)",
            "authorFollowers": 18400,
            "authorVerified": False,
            "authorBio": "Founder of Northwind Invoicing. Building a bootstrapped B2B SaaS in public.",
            "authorWebsite": "https://northwind.example",
            "fullText": "Monday metrics: 412 paying teams, 2.1% monthly churn, 61% of new signups from referrals.",
            "createdAt": "2026-08-20 05:28:00+00:00",
            "likeCount": 74,
            "repostCount": 9,
            "retweetCount": 7,
            "quoteCount": 2,
            "replyCount": 14,
            "viewCount": 8900,
            "bookmarkCount": 6,
            "sample": True,
        },
        {
            "tweetId": "1971234567890120006",
            "tweetUrl": "https://example.com/x/northwind_saas/status/1971234567890120006",
            "authorUrl": "https://example.com/x/northwind_saas",
            "authorHandle": "northwind_saas",
            "authorName": "Northwind (sample)",
            "authorFollowers": 18400,
            "authorVerified": False,
            "authorBio": "Founder of Northwind Invoicing. Building a bootstrapped B2B SaaS in public.",
            "authorWebsite": "https://northwind.example",
            "fullText": "What's the one feature you'd pay double for in an invoicing tool?",
            "createdAt": "2026-08-24 10:35:00+00:00",
            "likeCount": 48,
            "repostCount": 3,
            "retweetCount": 2,
            "quoteCount": 1,
            "replyCount": 41,
            "viewCount": 6100,
            "bookmarkCount": 2,
            "sample": True,
        },
        {
            "tweetId": "1971234567890120007",
            "tweetUrl": "https://example.com/x/northwind_saas/status/1971234567890120007",
            "authorUrl": "https://example.com/x/northwind_saas",
            "authorHandle": "northwind_saas",
            "authorName": "Northwind (sample)",
            "authorFollowers": 18400,
            "authorVerified": False,
            "authorBio": "Founder of Northwind Invoicing. Building a bootstrapped B2B SaaS in public.",
            "authorWebsite": "https://northwind.example",
            "fullText": "Spent the morning on support. 9 tickets, 7 were the same confusing button. Renaming it today.",
            "createdAt": "2026-08-28 15:42:00+00:00",
            "likeCount": 55,
            "repostCount": 4,
            "retweetCount": 3,
            "quoteCount": 1,
            "replyCount": 12,
            "viewCount": 6900,
            "bookmarkCount": 3,
            "sample": True,
        },
        {
            "tweetId": "1971234567890120008",
            "tweetUrl": "https://example.com/x/northwind_saas/status/1971234567890120008",
            "authorUrl": "https://example.com/x/northwind_saas",
            "authorHandle": "northwind_saas",
            "authorName": "Northwind (sample)",
            "authorFollowers": 18400,
            "authorVerified": False,
            "authorBio": "Founder of Northwind Invoicing. Building a bootstrapped B2B SaaS in public.",
            "authorWebsite": "https://northwind.example",
            "fullText": "Building in public, week 37: MRR $24.9k, burn $0, team of 3. #buildinpublic",
            "createdAt": "2026-09-04 20:49:00+00:00",
            "likeCount": 88,
            "repostCount": 8,
            "retweetCount": 6,
            "quoteCount": 2,
            "replyCount": 19,
            "viewCount": 9800,
            "bookmarkCount": 5,
            "hashtags": ["buildinpublic"],
            "sample": True,
        },
        {
            "tweetId": "1971234567890120009",
            "tweetUrl": "https://example.com/x/northwind_saas/status/1971234567890120009",
            "authorUrl": "https://example.com/x/northwind_saas",
            "authorHandle": "northwind_saas",
            "authorName": "Northwind (sample)",
            "authorFollowers": 18400,
            "authorVerified": False,
            "authorBio": "Founder of Northwind Invoicing. Building a bootstrapped B2B SaaS in public.",
            "authorWebsite": "https://northwind.example",
            "fullText": "Our onboarding email #3 has a 61% open rate. It's three sentences and a GIF.",
            "createdAt": "2026-09-08 01:56:00+00:00",
            "likeCount": 70,
            "repostCount": 7,
            "retweetCount": 6,
            "quoteCount": 1,
            "replyCount": 10,
            "viewCount": 8300,
            "bookmarkCount": 12,
            "mediaType": "animated_gif",
            "videoUrls": ["https://example.com/x/media/sample-nw-1.mp4"],
            "sample": True,
        },
        {
            "tweetId": "1971234567890120010",
            "tweetUrl": "https://example.com/x/northwind_saas/status/1971234567890120010",
            "authorUrl": "https://example.com/x/northwind_saas",
            "authorHandle": "northwind_saas",
            "authorName": "Northwind (sample)",
            "authorFollowers": 18400,
            "authorVerified": False,
            "authorBio": "Founder of Northwind Invoicing. Building a bootstrapped B2B SaaS in public.",
            "authorWebsite": "https://northwind.example",
            "fullText": "Reminder that a boring product with happy customers beats an exciting demo with none.",
            "createdAt": "2026-09-12 06:03:00+00:00",
            "likeCount": 81,
            "repostCount": 11,
            "retweetCount": 9,
            "quoteCount": 2,
            "replyCount": 8,
            "viewCount": 9100,
            "bookmarkCount": 6,
            "sample": True,
        },
        {
            "tweetId": "1971234567890120011",
            "tweetUrl": "https://example.com/x/northwind_saas/status/1971234567890120011",
            "authorUrl": "https://example.com/x/northwind_saas",
            "authorHandle": "northwind_saas",
            "authorName": "Northwind (sample)",
            "authorFollowers": 18400,
            "authorVerified": False,
            "authorBio": "Founder of Northwind Invoicing. Building a bootstrapped B2B SaaS in public.",
            "authorWebsite": "https://northwind.example",
            "fullText": "Hiring our first support engineer. Remote, EU hours. Details: https://northwind.example/jobs",
            "createdAt": "2026-09-16 11:10:00+00:00",
            "likeCount": 39,
            "repostCount": 12,
            "retweetCount": 10,
            "quoteCount": 2,
            "replyCount": 6,
            "viewCount": 7200,
            "bookmarkCount": 2,
            "externalUrls": ["https://northwind.example/jobs"],
            "sample": True,
        },
        {
            "tweetId": "1971234567890120012",
            "tweetUrl": "https://example.com/x/northwind_saas/status/1971234567890120012",
            "authorUrl": "https://example.com/x/northwind_saas",
            "authorHandle": "northwind_saas",
            "authorName": "Northwind (sample)",
            "authorFollowers": 18400,
            "authorVerified": False,
            "authorBio": "Founder of Northwind Invoicing. Building a bootstrapped B2B SaaS in public.",
            "authorWebsite": "https://northwind.example",
            "fullText": "Tried cold email for 30 days. 600 sent, 14 replies, 2 demos, 0 customers. Back to writing.",
            "createdAt": "2026-09-20 16:17:00+00:00",
            "likeCount": 66,
            "repostCount": 5,
            "retweetCount": 4,
            "quoteCount": 1,
            "replyCount": 17,
            "viewCount": 8600,
            "bookmarkCount": 9,
            "sample": True,
        },
        {
            "tweetId": "1971234567890120013",
            "tweetUrl": "https://example.com/x/northwind_saas/status/1971234567890120013",
            "authorUrl": "https://example.com/x/northwind_saas",
            "authorHandle": "northwind_saas",
            "authorName": "Northwind (sample)",
            "authorFollowers": 18400,
            "authorVerified": False,
            "authorBio": "Founder of Northwind Invoicing. Building a bootstrapped B2B SaaS in public.",
            "authorWebsite": "https://northwind.example",
            "fullText": "New dashboard, first look. Feedback welcome.",
            "createdAt": "2026-09-24 21:24:00+00:00",
            "likeCount": 52,
            "repostCount": 3,
            "retweetCount": 2,
            "quoteCount": 1,
            "replyCount": 15,
            "viewCount": 6400,
            "bookmarkCount": 2,
            "mediaType": "photo",
            "imageUrls": ["https://example.com/x/media/sample-nw-2.jpg"],
            "sample": True,
        },
        {
            "tweetId": "1971234567890120014",
            "tweetUrl": "https://example.com/x/northwind_saas/status/1971234567890120014",
            "authorUrl": "https://example.com/x/northwind_saas",
            "authorHandle": "northwind_saas",
            "authorName": "Northwind (sample)",
            "authorFollowers": 18400,
            "authorVerified": False,
            "authorBio": "Founder of Northwind Invoicing. Building a bootstrapped B2B SaaS in public.",
            "authorWebsite": "https://northwind.example",
            "fullText": "The best pricing page advice I got: show the plan most people pick, not the one you want them to pick.",
            "createdAt": "2026-09-28 02:31:00+00:00",
            "likeCount": 77,
            "repostCount": 10,
            "retweetCount": 8,
            "quoteCount": 2,
            "replyCount": 9,
            "viewCount": 8800,
            "bookmarkCount": 14,
            "sample": True,
        },
        {
            "tweetId": "1971234567890120015",
            "tweetUrl": "https://example.com/x/northwind_saas/status/1971234567890120015",
            "authorUrl": "https://example.com/x/northwind_saas",
            "authorHandle": "northwind_saas",
            "authorName": "Northwind (sample)",
            "authorFollowers": 18400,
            "authorVerified": False,
            "authorBio": "Founder of Northwind Invoicing. Building a bootstrapped B2B SaaS in public.",
            "authorWebsite": "https://northwind.example",
            "fullText": "Taking Friday off. The product will survive.",
            "createdAt": "2026-08-04 07:38:00+00:00",
            "likeCount": 58,
            "repostCount": 2,
            "retweetCount": 2,
            "quoteCount": 0,
            "replyCount": 11,
            "viewCount": 5900,
            "bookmarkCount": 0,
            "sample": True,
        },
        {
            "tweetId": "1971234567890120016",
            "tweetUrl": "https://example.com/x/northwind_saas/status/1971234567890120016",
            "authorUrl": "https://example.com/x/northwind_saas",
            "authorHandle": "northwind_saas",
            "authorName": "Northwind (sample)",
            "authorFollowers": 18400,
            "authorVerified": False,
            "authorBio": "Founder of Northwind Invoicing. Building a bootstrapped B2B SaaS in public.",
            "authorWebsite": "https://northwind.example",
            "fullText": "Integrations shipped this quarter: Stripe, Xero, QuickBooks. Next: Sage.",
            "createdAt": "2026-08-08 12:45:00+00:00",
            "likeCount": 61,
            "repostCount": 6,
            "retweetCount": 5,
            "quoteCount": 1,
            "replyCount": 7,
            "viewCount": 7000,
            "bookmarkCount": 3,
            "sample": True,
        },
        {
            "tweetId": "1971234567890120017",
            "tweetUrl": "https://example.com/x/northwind_saas/status/1971234567890120017",
            "authorUrl": "https://example.com/x/northwind_saas",
            "authorHandle": "northwind_saas",
            "authorName": "Northwind (sample)",
            "authorFollowers": 18400,
            "authorVerified": False,
            "authorBio": "Founder of Northwind Invoicing. Building a bootstrapped B2B SaaS in public.",
            "authorWebsite": "https://northwind.example",
            "fullText": "RT @contoso_growth: Stop A/B testing button colors.",
            "createdAt": "2026-08-12 17:52:00+00:00",
            "likeCount": 0,
            "repostCount": 0,
            "retweetCount": 0,
            "quoteCount": 0,
            "replyCount": 0,
            "viewCount": 0,
            "bookmarkCount": 0,
            "isRetweet": True,
            "sample": True,
        },
        {
            "tweetId": "1971234567890120018",
            "tweetUrl": "https://example.com/x/northwind_saas/status/1971234567890120018",
            "authorUrl": "https://example.com/x/northwind_saas",
            "authorHandle": "northwind_saas",
            "authorName": "Northwind (sample)",
            "authorFollowers": 18400,
            "authorVerified": False,
            "authorBio": "Founder of Northwind Invoicing. Building a bootstrapped B2B SaaS in public.",
            "authorWebsite": "https://northwind.example",
            "fullText": "@someone_else congrats on the launch!",
            "createdAt": "2026-08-16 22:59:00+00:00",
            "likeCount": 4,
            "repostCount": 0,
            "retweetCount": 0,
            "quoteCount": 0,
            "replyCount": 1,
            "viewCount": 300,
            "bookmarkCount": 0,
            "isReply": True,
            "replyToHandle": "someone_else",
            "sample": True,
        },
        {
            "tweetId": "1971234567890120019",
            "tweetUrl": "https://example.com/x/contoso_growth/status/1971234567890120019",
            "authorUrl": "https://example.com/x/contoso_growth",
            "authorHandle": "contoso_growth",
            "authorName": "Contoso Growth (sample)",
            "authorFollowers": 42300,
            "authorVerified": True,
            "authorBio": "Growth lead for B2B SaaS. Landing pages, activation, newsletters.",
            "authorWebsite": "https://contoso.example",
            "fullText": """Stop A/B testing button colors.

Test the offer. Test the headline. Test who you're talking to.

Button colors are where growth teams go to feel busy.""",
            "createdAt": "2026-08-04 09:00:00+00:00",
            "likeCount": 980,
            "repostCount": 160,
            "retweetCount": 128,
            "quoteCount": 32,
            "replyCount": 120,
            "viewCount": 152000,
            "bookmarkCount": 240,
            "sample": True,
        },
        {
            "tweetId": "1971234567890120020",
            "tweetUrl": "https://example.com/x/contoso_growth/status/1971234567890120020",
            "authorUrl": "https://example.com/x/contoso_growth",
            "authorHandle": "contoso_growth",
            "authorName": "Contoso Growth (sample)",
            "authorFollowers": 42300,
            "authorVerified": True,
            "authorBio": "Growth lead for B2B SaaS. Landing pages, activation, newsletters.",
            "authorWebsite": "https://contoso.example",
            "fullText": """7 landing page lines that doubled our demo bookings:

→ \"Set up in 5 minutes\"
→ \"No card needed\"
→ \"Cancel in one click\"
→ \"Used by 1,200 teams\"
→ \"See it with your data\"
→ \"Talk to a human\"
→ \"Free migration\"""",
            "createdAt": "2026-08-08 14:07:00+00:00",
            "likeCount": 640,
            "repostCount": 130,
            "retweetCount": 104,
            "quoteCount": 26,
            "replyCount": 40,
            "viewCount": 118000,
            "bookmarkCount": 520,
            "sample": True,
        },
        {
            "tweetId": "1971234567890120021",
            "tweetUrl": "https://example.com/x/contoso_growth/status/1971234567890120021",
            "authorUrl": "https://example.com/x/contoso_growth",
            "authorHandle": "contoso_growth",
            "authorName": "Contoso Growth (sample)",
            "authorFollowers": 42300,
            "authorVerified": True,
            "authorBio": "Growth lead for B2B SaaS. Landing pages, activation, newsletters.",
            "authorWebsite": "https://contoso.example",
            "fullText": """Our 4-person team grew a newsletter from 0 to 31,000 readers in 11 months.

Every channel we tried, ranked by cost per subscriber 🧵""",
            "createdAt": "2026-08-12 19:14:00+00:00",
            "likeCount": 720,
            "repostCount": 95,
            "retweetCount": 76,
            "quoteCount": 19,
            "replyCount": 70,
            "viewCount": 131000,
            "bookmarkCount": 380,
            "sample": True,
        },
        {
            "tweetId": "1971234567890120022",
            "tweetUrl": "https://example.com/x/contoso_growth/status/1971234567890120022",
            "authorUrl": "https://example.com/x/contoso_growth",
            "authorHandle": "contoso_growth",
            "authorName": "Contoso Growth (sample)",
            "authorFollowers": 42300,
            "authorVerified": True,
            "authorBio": "Growth lead for B2B SaaS. Landing pages, activation, newsletters.",
            "authorWebsite": "https://contoso.example",
            "fullText": "60-second teardown of the best onboarding flow I've seen this year.",
            "createdAt": "2026-08-16 00:21:00+00:00",
            "likeCount": 450,
            "repostCount": 60,
            "retweetCount": 48,
            "quoteCount": 12,
            "replyCount": 35,
            "viewCount": 97000,
            "bookmarkCount": 110,
            "mediaType": "video",
            "videoUrls": ["https://example.com/x/media/sample-cg-1.mp4"],
            "sample": True,
        },
        {
            "tweetId": "1971234567890120023",
            "tweetUrl": "https://example.com/x/contoso_growth/status/1971234567890120023",
            "authorUrl": "https://example.com/x/contoso_growth",
            "authorHandle": "contoso_growth",
            "authorName": "Contoso Growth (sample)",
            "authorFollowers": 42300,
            "authorVerified": True,
            "authorBio": "Growth lead for B2B SaaS. Landing pages, activation, newsletters.",
            "authorWebsite": "https://contoso.example",
            "fullText": "Retention is a growth channel. Most teams just don't put it on the roadmap.",
            "createdAt": "2026-08-20 05:28:00+00:00",
            "likeCount": 160,
            "repostCount": 22,
            "retweetCount": 18,
            "quoteCount": 4,
            "replyCount": 18,
            "viewCount": 21000,
            "bookmarkCount": 20,
            "sample": True,
        },
        {
            "tweetId": "1971234567890120024",
            "tweetUrl": "https://example.com/x/contoso_growth/status/1971234567890120024",
            "authorUrl": "https://example.com/x/contoso_growth",
            "authorHandle": "contoso_growth",
            "authorName": "Contoso Growth (sample)",
            "authorFollowers": 42300,
            "authorVerified": True,
            "authorBio": "Growth lead for B2B SaaS. Landing pages, activation, newsletters.",
            "authorWebsite": "https://contoso.example",
            "fullText": "What's the most underrated growth channel in 2026? Wrong answers only.",
            "createdAt": "2026-08-24 10:35:00+00:00",
            "likeCount": 120,
            "repostCount": 8,
            "retweetCount": 6,
            "quoteCount": 2,
            "replyCount": 140,
            "viewCount": 26000,
            "bookmarkCount": 4,
            "sample": True,
        },
        {
            "tweetId": "1971234567890120025",
            "tweetUrl": "https://example.com/x/contoso_growth/status/1971234567890120025",
            "authorUrl": "https://example.com/x/contoso_growth",
            "authorHandle": "contoso_growth",
            "authorName": "Contoso Growth (sample)",
            "authorFollowers": 42300,
            "authorVerified": True,
            "authorBio": "Growth lead for B2B SaaS. Landing pages, activation, newsletters.",
            "authorWebsite": "https://contoso.example",
            "fullText": "Weekly reminder: your homepage is not for you.",
            "createdAt": "2026-08-28 15:42:00+00:00",
            "likeCount": 190,
            "repostCount": 25,
            "retweetCount": 20,
            "quoteCount": 5,
            "replyCount": 12,
            "viewCount": 23000,
            "bookmarkCount": 15,
            "sample": True,
        },
        {
            "tweetId": "1971234567890120026",
            "tweetUrl": "https://example.com/x/contoso_growth/status/1971234567890120026",
            "authorUrl": "https://example.com/x/contoso_growth",
            "authorHandle": "contoso_growth",
            "authorName": "Contoso Growth (sample)",
            "authorFollowers": 42300,
            "authorVerified": True,
            "authorBio": "Growth lead for B2B SaaS. Landing pages, activation, newsletters.",
            "authorWebsite": "https://contoso.example",
            "fullText": "Ran a pricing survey with 1,200 B2B buyers. Results next week.",
            "createdAt": "2026-09-04 20:49:00+00:00",
            "likeCount": 170,
            "repostCount": 30,
            "retweetCount": 24,
            "quoteCount": 6,
            "replyCount": 25,
            "viewCount": 24000,
            "bookmarkCount": 18,
            "sample": True,
        },
        {
            "tweetId": "1971234567890120027",
            "tweetUrl": "https://example.com/x/contoso_growth/status/1971234567890120027",
            "authorUrl": "https://example.com/x/contoso_growth",
            "authorHandle": "contoso_growth",
            "authorName": "Contoso Growth (sample)",
            "authorFollowers": 42300,
            "authorVerified": True,
            "authorBio": "Growth lead for B2B SaaS. Landing pages, activation, newsletters.",
            "authorWebsite": "https://contoso.example",
            "fullText": "New post: the 5-step activation audit we run for every client. https://contoso.example/activation-audit",
            "createdAt": "2026-09-08 01:56:00+00:00",
            "likeCount": 140,
            "repostCount": 26,
            "retweetCount": 21,
            "quoteCount": 5,
            "replyCount": 14,
            "viewCount": 19000,
            "bookmarkCount": 40,
            "externalUrls": ["https://contoso.example/activation-audit"],
            "sample": True,
        },
        {
            "tweetId": "1971234567890120028",
            "tweetUrl": "https://example.com/x/contoso_growth/status/1971234567890120028",
            "authorUrl": "https://example.com/x/contoso_growth",
            "authorHandle": "contoso_growth",
            "authorName": "Contoso Growth (sample)",
            "authorFollowers": 42300,
            "authorVerified": True,
            "authorBio": "Growth lead for B2B SaaS. Landing pages, activation, newsletters.",
            "authorWebsite": "https://contoso.example",
            "fullText": "Good copy is mostly deleting.",
            "createdAt": "2026-09-12 06:03:00+00:00",
            "likeCount": 210,
            "repostCount": 28,
            "retweetCount": 22,
            "quoteCount": 6,
            "replyCount": 9,
            "viewCount": 25000,
            "bookmarkCount": 12,
            "sample": True,
        },
        {
            "tweetId": "1971234567890120029",
            "tweetUrl": "https://example.com/x/contoso_growth/status/1971234567890120029",
            "authorUrl": "https://example.com/x/contoso_growth",
            "authorHandle": "contoso_growth",
            "authorName": "Contoso Growth (sample)",
            "authorFollowers": 42300,
            "authorVerified": True,
            "authorBio": "Growth lead for B2B SaaS. Landing pages, activation, newsletters.",
            "authorWebsite": "https://contoso.example",
            "fullText": "Spoke at GrowthConf today. Slides below.",
            "createdAt": "2026-09-16 11:10:00+00:00",
            "likeCount": 150,
            "repostCount": 12,
            "retweetCount": 10,
            "quoteCount": 2,
            "replyCount": 20,
            "viewCount": 18000,
            "bookmarkCount": 9,
            "mediaType": "photo",
            "imageUrls": ["https://example.com/x/media/sample-cg-2.jpg"],
            "sample": True,
        },
        {
            "tweetId": "1971234567890120030",
            "tweetUrl": "https://example.com/x/contoso_growth/status/1971234567890120030",
            "authorUrl": "https://example.com/x/contoso_growth",
            "authorHandle": "contoso_growth",
            "authorName": "Contoso Growth (sample)",
            "authorFollowers": 42300,
            "authorVerified": True,
            "authorBio": "Growth lead for B2B SaaS. Landing pages, activation, newsletters.",
            "authorWebsite": "https://contoso.example",
            "fullText": "Hot take: most 'PLG' companies are sales-led companies with a free trial.",
            "createdAt": "2026-09-20 16:17:00+00:00",
            "likeCount": 230,
            "repostCount": 30,
            "retweetCount": 24,
            "quoteCount": 6,
            "replyCount": 60,
            "viewCount": 31000,
            "bookmarkCount": 10,
            "sample": True,
        },
        {
            "tweetId": "1971234567890120031",
            "tweetUrl": "https://example.com/x/contoso_growth/status/1971234567890120031",
            "authorUrl": "https://example.com/x/contoso_growth",
            "authorHandle": "contoso_growth",
            "authorName": "Contoso Growth (sample)",
            "authorFollowers": 42300,
            "authorVerified": True,
            "authorBio": "Growth lead for B2B SaaS. Landing pages, activation, newsletters.",
            "authorWebsite": "https://contoso.example",
            "fullText": "If your onboarding needs a video, your product needs a fix.",
            "createdAt": "2026-09-24 21:24:00+00:00",
            "likeCount": 200,
            "repostCount": 24,
            "retweetCount": 19,
            "quoteCount": 5,
            "replyCount": 22,
            "viewCount": 24500,
            "bookmarkCount": 14,
            "sample": True,
        },
        {
            "tweetId": "1971234567890120032",
            "tweetUrl": "https://example.com/x/contoso_growth/status/1971234567890120032",
            "authorUrl": "https://example.com/x/contoso_growth",
            "authorHandle": "contoso_growth",
            "authorName": "Contoso Growth (sample)",
            "authorFollowers": 42300,
            "authorVerified": True,
            "authorBio": "Growth lead for B2B SaaS. Landing pages, activation, newsletters.",
            "authorWebsite": "https://contoso.example",
            "fullText": "Client win: trial-to-paid 9% → 14% after cutting the signup form from 7 fields to 3.",
            "createdAt": "2026-09-28 02:31:00+00:00",
            "likeCount": 220,
            "repostCount": 35,
            "retweetCount": 28,
            "quoteCount": 7,
            "replyCount": 18,
            "viewCount": 27000,
            "bookmarkCount": 30,
            "sample": True,
        },
        {
            "tweetId": "1971234567890120033",
            "tweetUrl": "https://example.com/x/contoso_growth/status/1971234567890120033",
            "authorUrl": "https://example.com/x/contoso_growth",
            "authorHandle": "contoso_growth",
            "authorName": "Contoso Growth (sample)",
            "authorFollowers": 42300,
            "authorVerified": True,
            "authorBio": "Growth lead for B2B SaaS. Landing pages, activation, newsletters.",
            "authorWebsite": "https://contoso.example",
            "fullText": "Testing a new format this week. Feedback welcome.",
            "createdAt": "2026-08-04 07:38:00+00:00",
            "likeCount": 110,
            "repostCount": 5,
            "retweetCount": 4,
            "quoteCount": 1,
            "replyCount": 30,
            "viewCount": 15000,
            "bookmarkCount": 2,
            "sample": True,
        },
        {
            "tweetId": "1971234567890120034",
            "tweetUrl": "https://example.com/x/contoso_growth/status/1971234567890120034",
            "authorUrl": "https://example.com/x/contoso_growth",
            "authorHandle": "contoso_growth",
            "authorName": "Contoso Growth (sample)",
            "authorFollowers": 42300,
            "authorVerified": True,
            "authorBio": "Growth lead for B2B SaaS. Landing pages, activation, newsletters.",
            "authorWebsite": "https://contoso.example",
            "fullText": "Looking for 3 SaaS teams to beta-test our activation checklist. DM me.",
            "createdAt": "2026-08-08 12:45:00+00:00",
            "likeCount": 130,
            "repostCount": 10,
            "retweetCount": 8,
            "quoteCount": 2,
            "replyCount": 45,
            "viewCount": 17000,
            "bookmarkCount": 8,
            "sample": True,
        },
        {
            "tweetId": "1971234567890120035",
            "tweetUrl": "https://example.com/x/contoso_growth/status/1971234567890120035",
            "authorUrl": "https://example.com/x/contoso_growth",
            "authorHandle": "contoso_growth",
            "authorName": "Contoso Growth (sample)",
            "authorFollowers": 42300,
            "authorVerified": True,
            "authorBio": "Growth lead for B2B SaaS. Landing pages, activation, newsletters.",
            "authorWebsite": "https://contoso.example",
            "fullText": "Try GrowthKit free for 14 days — the growth dashboard 9,000 teams use.",
            "createdAt": "2026-08-12 17:52:00+00:00",
            "likeCount": 2400,
            "repostCount": 300,
            "retweetCount": 240,
            "quoteCount": 60,
            "replyCount": 80,
            "viewCount": 900000,
            "bookmarkCount": 60,
            "isAd": True,
            "sample": True,
        },
        {
            "tweetId": "1971234567890120036",
            "tweetUrl": "https://example.com/x/contoso_growth/status/1971234567890120036",
            "authorUrl": "https://example.com/x/contoso_growth",
            "authorHandle": "contoso_growth",
            "authorName": "Contoso Growth (sample)",
            "authorFollowers": 42300,
            "authorVerified": True,
            "authorBio": "Growth lead for B2B SaaS. Landing pages, activation, newsletters.",
            "authorWebsite": "https://contoso.example",
            "fullText": "RT @fabrikam_devrel: How to cut your CI time from 14 minutes to 3",
            "createdAt": "2026-08-16 22:59:00+00:00",
            "likeCount": 0,
            "repostCount": 0,
            "retweetCount": 0,
            "quoteCount": 0,
            "replyCount": 0,
            "viewCount": 0,
            "bookmarkCount": 0,
            "isRetweet": True,
            "sample": True,
        },
        {
            "tweetId": "1971234567890120037",
            "tweetUrl": "https://example.com/x/fabrikam_devrel/status/1971234567890120037",
            "authorUrl": "https://example.com/x/fabrikam_devrel",
            "authorHandle": "fabrikam_devrel",
            "authorName": "Fabrikam DevRel (sample)",
            "authorFollowers": 9100,
            "authorVerified": False,
            "authorBio": "Developer relations at Fabrikam CLI. CI, testing, developer experience.",
            "authorWebsite": "https://fabrikam.example",
            "fullText": """How to cut your CI time from 14 minutes to 3:

1. Cache dependencies by lockfile hash
2. Split tests by timing, not by file
3. Run lint and types in parallel
4. Skip docs-only changes

Steal this.""",
            "createdAt": "2026-08-04 09:00:00+00:00",
            "likeCount": 210,
            "repostCount": 45,
            "retweetCount": 36,
            "quoteCount": 9,
            "replyCount": 18,
            "viewCount": 38000,
            "bookmarkCount": 160,
            "sample": True,
        },
        {
            "tweetId": "1971234567890120038",
            "tweetUrl": "https://example.com/x/fabrikam_devrel/status/1971234567890120038",
            "authorUrl": "https://example.com/x/fabrikam_devrel",
            "authorHandle": "fabrikam_devrel",
            "authorName": "Fabrikam DevRel (sample)",
            "authorFollowers": 9100,
            "authorVerified": False,
            "authorBio": "Developer relations at Fabrikam CLI. CI, testing, developer experience.",
            "authorWebsite": "https://fabrikam.example",
            "fullText": """I deleted 40% of our codebase last quarter. Nothing broke.

Here's what was in it:""",
            "createdAt": "2026-08-08 14:07:00+00:00",
            "likeCount": 130,
            "repostCount": 20,
            "retweetCount": 16,
            "quoteCount": 4,
            "replyCount": 34,
            "viewCount": 21000,
            "bookmarkCount": 26,
            "sample": True,
        },
        {
            "tweetId": "1971234567890120039",
            "tweetUrl": "https://example.com/x/fabrikam_devrel/status/1971234567890120039",
            "authorUrl": "https://example.com/x/fabrikam_devrel",
            "authorHandle": "fabrikam_devrel",
            "authorName": "Fabrikam DevRel (sample)",
            "authorFollowers": 9100,
            "authorVerified": False,
            "authorBio": "Developer relations at Fabrikam CLI. CI, testing, developer experience.",
            "authorWebsite": "https://fabrikam.example",
            "fullText": "This is the best explanation of database indexes I've read. Required reading for every new hire.",
            "createdAt": "2026-08-12 19:14:00+00:00",
            "likeCount": 70,
            "repostCount": 22,
            "retweetCount": 18,
            "quoteCount": 4,
            "replyCount": 6,
            "viewCount": 12000,
            "bookmarkCount": 48,
            "isQuote": True,
            "quotedTweetUrl": "https://example.com/x/someone_else/status/1971234567890100001",
            "sample": True,
        },
        {
            "tweetId": "1971234567890120040",
            "tweetUrl": "https://example.com/x/fabrikam_devrel/status/1971234567890120040",
            "authorUrl": "https://example.com/x/fabrikam_devrel",
            "authorHandle": "fabrikam_devrel",
            "authorName": "Fabrikam DevRel (sample)",
            "authorFollowers": 9100,
            "authorVerified": False,
            "authorBio": "Developer relations at Fabrikam CLI. CI, testing, developer experience.",
            "authorWebsite": "https://fabrikam.example",
            "fullText": "Released v2.4: faster cold starts, fewer config files.",
            "createdAt": "2026-08-16 00:21:00+00:00",
            "likeCount": 28,
            "repostCount": 4,
            "retweetCount": 3,
            "quoteCount": 1,
            "replyCount": 3,
            "viewCount": 3900,
            "bookmarkCount": 2,
            "sample": True,
        },
        {
            "tweetId": "1971234567890120041",
            "tweetUrl": "https://example.com/x/fabrikam_devrel/status/1971234567890120041",
            "authorUrl": "https://example.com/x/fabrikam_devrel",
            "authorHandle": "fabrikam_devrel",
            "authorName": "Fabrikam DevRel (sample)",
            "authorFollowers": 9100,
            "authorVerified": False,
            "authorBio": "Developer relations at Fabrikam CLI. CI, testing, developer experience.",
            "authorWebsite": "https://fabrikam.example",
            "fullText": "Which do you reach for first: logs, traces or metrics?",
            "createdAt": "2026-08-20 05:28:00+00:00",
            "likeCount": 15,
            "repostCount": 1,
            "retweetCount": 1,
            "quoteCount": 0,
            "replyCount": 29,
            "viewCount": 4100,
            "bookmarkCount": 0,
            "sample": True,
        },
        {
            "tweetId": "1971234567890120042",
            "tweetUrl": "https://example.com/x/fabrikam_devrel/status/1971234567890120042",
            "authorUrl": "https://example.com/x/fabrikam_devrel",
            "authorHandle": "fabrikam_devrel",
            "authorName": "Fabrikam DevRel (sample)",
            "authorFollowers": 9100,
            "authorVerified": False,
            "authorBio": "Developer relations at Fabrikam CLI. CI, testing, developer experience.",
            "authorWebsite": "https://fabrikam.example",
            "fullText": "Docs PRs are the best first contribution. We label them good-first-issue.",
            "createdAt": "2026-08-24 10:35:00+00:00",
            "likeCount": 31,
            "repostCount": 5,
            "retweetCount": 4,
            "quoteCount": 1,
            "replyCount": 4,
            "viewCount": 4200,
            "bookmarkCount": 3,
            "sample": True,
        },
        {
            "tweetId": "1971234567890120043",
            "tweetUrl": "https://example.com/x/fabrikam_devrel/status/1971234567890120043",
            "authorUrl": "https://example.com/x/fabrikam_devrel",
            "authorHandle": "fabrikam_devrel",
            "authorName": "Fabrikam DevRel (sample)",
            "authorFollowers": 9100,
            "authorVerified": False,
            "authorBio": "Developer relations at Fabrikam CLI. CI, testing, developer experience.",
            "authorWebsite": "https://fabrikam.example",
            "fullText": "Live-coding the new plugin API at 5pm UTC.",
            "createdAt": "2026-08-28 15:42:00+00:00",
            "likeCount": 22,
            "repostCount": 6,
            "retweetCount": 5,
            "quoteCount": 1,
            "replyCount": 2,
            "viewCount": 3100,
            "bookmarkCount": 0,
            "sample": True,
        },
        {
            "tweetId": "1971234567890120044",
            "tweetUrl": "https://example.com/x/fabrikam_devrel/status/1971234567890120044",
            "authorUrl": "https://example.com/x/fabrikam_devrel",
            "authorHandle": "fabrikam_devrel",
            "authorName": "Fabrikam DevRel (sample)",
            "authorFollowers": 9100,
            "authorVerified": False,
            "authorBio": "Developer relations at Fabrikam CLI. CI, testing, developer experience.",
            "authorWebsite": "https://fabrikam.example",
            "fullText": "Benchmarks for the new release.",
            "createdAt": "2026-09-04 20:49:00+00:00",
            "likeCount": 34,
            "repostCount": 4,
            "retweetCount": 3,
            "quoteCount": 1,
            "replyCount": 6,
            "viewCount": 4600,
            "bookmarkCount": 5,
            "mediaType": "photo",
            "imageUrls": ["https://example.com/x/media/sample-fd-1.jpg"],
            "sample": True,
        },
        {
            "tweetId": "1971234567890120045",
            "tweetUrl": "https://example.com/x/fabrikam_devrel/status/1971234567890120045",
            "authorUrl": "https://example.com/x/fabrikam_devrel",
            "authorHandle": "fabrikam_devrel",
            "authorName": "Fabrikam DevRel (sample)",
            "authorFollowers": 9100,
            "authorVerified": False,
            "authorBio": "Developer relations at Fabrikam CLI. CI, testing, developer experience.",
            "authorWebsite": "https://fabrikam.example",
            "fullText": "TIL you can bisect a flaky test with git bisect run.",
            "createdAt": "2026-09-08 01:56:00+00:00",
            "likeCount": 38,
            "repostCount": 6,
            "retweetCount": 5,
            "quoteCount": 1,
            "replyCount": 4,
            "viewCount": 5200,
            "bookmarkCount": 9,
            "sample": True,
        },
        {
            "tweetId": "1971234567890120046",
            "tweetUrl": "https://example.com/x/fabrikam_devrel/status/1971234567890120046",
            "authorUrl": "https://example.com/x/fabrikam_devrel",
            "authorHandle": "fabrikam_devrel",
            "authorName": "Fabrikam DevRel (sample)",
            "authorFollowers": 9100,
            "authorVerified": False,
            "authorBio": "Developer relations at Fabrikam CLI. CI, testing, developer experience.",
            "authorWebsite": "https://fabrikam.example",
            "fullText": "Our changelog is now an RSS feed. Old-school, still the best.",
            "createdAt": "2026-09-12 06:03:00+00:00",
            "likeCount": 26,
            "repostCount": 3,
            "retweetCount": 2,
            "quoteCount": 1,
            "replyCount": 5,
            "viewCount": 3600,
            "bookmarkCount": 2,
            "sample": True,
        },
        {
            "tweetId": "1971234567890120047",
            "tweetUrl": "https://example.com/x/fabrikam_devrel/status/1971234567890120047",
            "authorUrl": "https://example.com/x/fabrikam_devrel",
            "authorHandle": "fabrikam_devrel",
            "authorName": "Fabrikam DevRel (sample)",
            "authorFollowers": 9100,
            "authorVerified": False,
            "authorBio": "Developer relations at Fabrikam CLI. CI, testing, developer experience.",
            "authorWebsite": "https://fabrikam.example",
            "fullText": "Conference season. Who's going to DevToolsConf?",
            "createdAt": "2026-09-16 11:10:00+00:00",
            "likeCount": 19,
            "repostCount": 1,
            "retweetCount": 1,
            "quoteCount": 0,
            "replyCount": 14,
            "viewCount": 3300,
            "bookmarkCount": 0,
            "sample": True,
        },
        {
            "tweetId": "1971234567890120048",
            "tweetUrl": "https://example.com/x/fabrikam_devrel/status/1971234567890120048",
            "authorUrl": "https://example.com/x/fabrikam_devrel",
            "authorHandle": "fabrikam_devrel",
            "authorName": "Fabrikam DevRel (sample)",
            "authorFollowers": 9100,
            "authorVerified": False,
            "authorBio": "Developer relations at Fabrikam CLI. CI, testing, developer experience.",
            "authorWebsite": "https://fabrikam.example",
            "fullText": "Rewrote the CLI help text. Support questions dropped 30%.",
            "createdAt": "2026-09-20 16:17:00+00:00",
            "likeCount": 41,
            "repostCount": 7,
            "retweetCount": 6,
            "quoteCount": 1,
            "replyCount": 6,
            "viewCount": 5400,
            "bookmarkCount": 4,
            "sample": True,
        },
        {
            "tweetId": "1971234567890120049",
            "tweetUrl": "https://example.com/x/fabrikam_devrel/status/1971234567890120049",
            "authorUrl": "https://example.com/x/fabrikam_devrel",
            "authorHandle": "fabrikam_devrel",
            "authorName": "Fabrikam DevRel (sample)",
            "authorFollowers": 9100,
            "authorVerified": False,
            "authorBio": "Developer relations at Fabrikam CLI. CI, testing, developer experience.",
            "authorWebsite": "https://fabrikam.example",
            "fullText": "Error messages are UI.",
            "createdAt": "2026-09-24 21:24:00+00:00",
            "likeCount": 44,
            "repostCount": 8,
            "retweetCount": 6,
            "quoteCount": 2,
            "replyCount": 3,
            "viewCount": 5600,
            "bookmarkCount": 3,
            "sample": True,
        },
        {
            "tweetId": "1971234567890120050",
            "tweetUrl": "https://example.com/x/fabrikam_devrel/status/1971234567890120050",
            "authorUrl": "https://example.com/x/fabrikam_devrel",
            "authorHandle": "fabrikam_devrel",
            "authorName": "Fabrikam DevRel (sample)",
            "authorFollowers": 9100,
            "authorVerified": False,
            "authorBio": "Developer relations at Fabrikam CLI. CI, testing, developer experience.",
            "authorWebsite": "https://fabrikam.example",
            "fullText": "Shipping a VS Code extension next week. Beta testers wanted.",
            "createdAt": "2026-09-28 02:31:00+00:00",
            "likeCount": 27,
            "repostCount": 5,
            "retweetCount": 4,
            "quoteCount": 1,
            "replyCount": 12,
            "viewCount": 3800,
            "bookmarkCount": 1,
            "sample": True,
        },
        {
            "tweetId": "1971234567890120051",
            "tweetUrl": "https://example.com/x/fabrikam_devrel/status/1971234567890120051",
            "authorUrl": "https://example.com/x/fabrikam_devrel",
            "authorHandle": "fabrikam_devrel",
            "authorName": "Fabrikam DevRel (sample)",
            "authorFollowers": 9100,
            "authorVerified": False,
            "authorBio": "Developer relations at Fabrikam CLI. CI, testing, developer experience.",
            "authorWebsite": "https://fabrikam.example",
            "fullText": "Friday deploys are fine if rollbacks are boring.",
            "createdAt": "2026-08-04 07:38:00+00:00",
            "likeCount": 39,
            "repostCount": 4,
            "retweetCount": 3,
            "quoteCount": 1,
            "replyCount": 9,
            "viewCount": 5000,
            "bookmarkCount": 2,
            "sample": True,
        },
        {
            "tweetId": "1971234567890120052",
            "tweetUrl": "https://example.com/x/fabrikam_devrel/status/1971234567890120052",
            "authorUrl": "https://example.com/x/fabrikam_devrel",
            "authorHandle": "fabrikam_devrel",
            "authorName": "Fabrikam DevRel (sample)",
            "authorFollowers": 9100,
            "authorVerified": False,
            "authorBio": "Developer relations at Fabrikam CLI. CI, testing, developer experience.",
            "authorWebsite": "https://fabrikam.example",
            "fullText": "New blog post on how we test our migrations: https://fabrikam.example/blog/migrations",
            "createdAt": "2026-08-08 12:45:00+00:00",
            "likeCount": 23,
            "repostCount": 4,
            "retweetCount": 3,
            "quoteCount": 1,
            "replyCount": 2,
            "viewCount": 3400,
            "bookmarkCount": 3,
            "externalUrls": ["https://fabrikam.example/blog/migrations"],
            "sample": True,
        },
        {
            "tweetId": "1971234567890120053",
            "tweetUrl": "https://example.com/x/fabrikam_devrel/status/1971234567890120053",
            "authorUrl": "https://example.com/x/fabrikam_devrel",
            "authorHandle": "fabrikam_devrel",
            "authorName": "Fabrikam DevRel (sample)",
            "authorFollowers": 9100,
            "authorVerified": False,
            "authorBio": "Developer relations at Fabrikam CLI. CI, testing, developer experience.",
            "authorWebsite": "https://fabrikam.example",
            "fullText": "@someone_else we fixed that in v2.4.1, try again?",
            "createdAt": "2026-08-12 17:52:00+00:00",
            "likeCount": 3,
            "repostCount": 0,
            "retweetCount": 0,
            "quoteCount": 0,
            "replyCount": 1,
            "viewCount": 200,
            "bookmarkCount": 0,
            "isReply": True,
            "replyToHandle": "someone_else",
            "sample": True,
        },
        {
            "tweetId": "1971234567890120054",
            "tweetUrl": "https://example.com/x/fabrikam_devrel/status/1971234567890120054",
            "authorUrl": "https://example.com/x/fabrikam_devrel",
            "authorHandle": "fabrikam_devrel",
            "authorName": "Fabrikam DevRel (sample)",
            "authorFollowers": 9100,
            "authorVerified": False,
            "authorBio": "Developer relations at Fabrikam CLI. CI, testing, developer experience.",
            "authorWebsite": "https://fabrikam.example",
            "fullText": "RT @northwind_saas: We raised prices 40% last month.",
            "createdAt": "2026-08-16 22:59:00+00:00",
            "likeCount": 0,
            "repostCount": 0,
            "retweetCount": 0,
            "quoteCount": 0,
            "replyCount": 0,
            "viewCount": 0,
            "bookmarkCount": 0,
            "isRetweet": True,
            "sample": True,
        },
    ],
}

# Run the Actor and wait for it to finish
run = client.actor("rich_minds/x-winning-tweets-ai").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "accounts": [
    "northwind_saas",
    "contoso_growth",
    "fabrikam_devrel"
  ],
  "maxDiscoveryChargeUsd": 0.5,
  "sourceMode": "list",
  "itemsList": [
    {
      "tweetId": "1971234567890120001",
      "tweetUrl": "https://example.com/x/northwind_saas/status/1971234567890120001",
      "authorUrl": "https://example.com/x/northwind_saas",
      "authorHandle": "northwind_saas",
      "authorName": "Northwind (sample)",
      "authorFollowers": 18400,
      "authorVerified": false,
      "authorBio": "Founder of Northwind Invoicing. Building a bootstrapped B2B SaaS in public.",
      "authorWebsite": "https://northwind.example",
      "fullText": "We raised prices 40% last month.\\n\\nChurn didn'\''t move. Revenue did: $18.2k → $24.9k MRR.\\n\\nHere'\''s exactly how we announced it to 412 customers 🧵",
      "createdAt": "2026-08-04 09:00:00+00:00",
      "likeCount": 420,
      "repostCount": 70,
      "retweetCount": 56,
      "quoteCount": 14,
      "replyCount": 52,
      "viewCount": 61000,
      "bookmarkCount": 160,
      "sample": true
    },
    {
      "tweetId": "1971234567890120002",
      "tweetUrl": "https://example.com/x/northwind_saas/status/1971234567890120002",
      "authorUrl": "https://example.com/x/northwind_saas",
      "authorHandle": "northwind_saas",
      "authorName": "Northwind (sample)",
      "authorFollowers": 18400,
      "authorVerified": false,
      "authorBio": "Founder of Northwind Invoicing. Building a bootstrapped B2B SaaS in public.",
      "authorWebsite": "https://northwind.example",
      "fullText": "Unpopular opinion: your SaaS doesn'\''t need a free plan.\\n\\nIt needs a 14-day trial and a founder who answers every support email.",
      "createdAt": "2026-08-08 14:07:00+00:00",
      "likeCount": 190,
      "repostCount": 22,
      "retweetCount": 18,
      "quoteCount": 4,
      "replyCount": 60,
      "viewCount": 24000,
      "bookmarkCount": 18,
      "sample": true
    },
    {
      "tweetId": "1971234567890120003",
      "tweetUrl": "https://example.com/x/northwind_saas/status/1971234567890120003",
      "authorUrl": "https://example.com/x/northwind_saas",
      "authorHandle": "northwind_saas",
      "authorName": "Northwind (sample)",
      "authorFollowers": 18400,
      "authorVerified": false,
      "authorBio": "Founder of Northwind Invoicing. Building a bootstrapped B2B SaaS in public.",
      "authorWebsite": "https://northwind.example",
      "fullText": "How I got our first 100 paying customers without ads:\\n\\n1. Answered 3 questions a day in niche forums\\n2. Wrote one teardown a week\\n3. Emailed every churned trial user\\n4. Shipped what they asked for within 48h\\n\\nBookmark this if you'\''re pre-PMF.",
      "createdAt": "2026-08-12 19:14:00+00:00",
      "likeCount": 300,
      "repostCount": 50,
      "retweetCount": 40,
      "quoteCount": 10,
      "replyCount": 25,
      "viewCount": 41000,
      "bookmarkCount": 180,
      "sample": true
    },
    {
      "tweetId": "1971234567890120004",
      "tweetUrl": "https://example.com/x/northwind_saas/status/1971234567890120004",
      "authorUrl": "https://example.com/x/northwind_saas",
      "authorHandle": "northwind_saas",
      "authorName": "Northwind (sample)",
      "authorFollowers": 18400,
      "authorVerified": false,
      "authorBio": "Founder of Northwind Invoicing. Building a bootstrapped B2B SaaS in public.",
      "authorWebsite": "https://northwind.example",
      "fullText": "Shipped: recurring invoices now support multi-currency. Small change, 11 customers asked for it.",
      "createdAt": "2026-08-16 00:21:00+00:00",
      "likeCount": 62,
      "repostCount": 6,
      "retweetCount": 5,
      "quoteCount": 1,
      "replyCount": 9,
      "viewCount": 7400,
      "bookmarkCount": 4,
      "sample": true
    },
    {
      "tweetId": "1971234567890120005",
      "tweetUrl": "https://example.com/x/northwind_saas/status/1971234567890120005",
      "authorUrl": "https://example.com/x/northwind_saas",
      "authorHandle": "northwind_saas",
      "authorName": "Northwind (sample)",
      "authorFollowers": 18400,
      "authorVerified": false,
      "authorBio": "Founder of Northwind Invoicing. Building a bootstrapped B2B SaaS in public.",
      "authorWebsite": "https://northwind.example",
      "fullText": "Monday metrics: 412 paying teams, 2.1% monthly churn, 61% of new signups from referrals.",
      "createdAt": "2026-08-20 05:28:00+00:00",
      "likeCount": 74,
      "repostCount": 9,
      "retweetCount": 7,
      "quoteCount": 2,
      "replyCount": 14,
      "viewCount": 8900,
      "bookmarkCount": 6,
      "sample": true
    },
    {
      "tweetId": "1971234567890120006",
      "tweetUrl": "https://example.com/x/northwind_saas/status/1971234567890120006",
      "authorUrl": "https://example.com/x/northwind_saas",
      "authorHandle": "northwind_saas",
      "authorName": "Northwind (sample)",
      "authorFollowers": 18400,
      "authorVerified": false,
      "authorBio": "Founder of Northwind Invoicing. Building a bootstrapped B2B SaaS in public.",
      "authorWebsite": "https://northwind.example",
      "fullText": "What'\''s the one feature you'\''d pay double for in an invoicing tool?",
      "createdAt": "2026-08-24 10:35:00+00:00",
      "likeCount": 48,
      "repostCount": 3,
      "retweetCount": 2,
      "quoteCount": 1,
      "replyCount": 41,
      "viewCount": 6100,
      "bookmarkCount": 2,
      "sample": true
    },
    {
      "tweetId": "1971234567890120007",
      "tweetUrl": "https://example.com/x/northwind_saas/status/1971234567890120007",
      "authorUrl": "https://example.com/x/northwind_saas",
      "authorHandle": "northwind_saas",
      "authorName": "Northwind (sample)",
      "authorFollowers": 18400,
      "authorVerified": false,
      "authorBio": "Founder of Northwind Invoicing. Building a bootstrapped B2B SaaS in public.",
      "authorWebsite": "https://northwind.example",
      "fullText": "Spent the morning on support. 9 tickets, 7 were the same confusing button. Renaming it today.",
      "createdAt": "2026-08-28 15:42:00+00:00",
      "likeCount": 55,
      "repostCount": 4,
      "retweetCount": 3,
      "quoteCount": 1,
      "replyCount": 12,
      "viewCount": 6900,
      "bookmarkCount": 3,
      "sample": true
    },
    {
      "tweetId": "1971234567890120008",
      "tweetUrl": "https://example.com/x/northwind_saas/status/1971234567890120008",
      "authorUrl": "https://example.com/x/northwind_saas",
      "authorHandle": "northwind_saas",
      "authorName": "Northwind (sample)",
      "authorFollowers": 18400,
      "authorVerified": false,
      "authorBio": "Founder of Northwind Invoicing. Building a bootstrapped B2B SaaS in public.",
      "authorWebsite": "https://northwind.example",
      "fullText": "Building in public, week 37: MRR $24.9k, burn $0, team of 3. #buildinpublic",
      "createdAt": "2026-09-04 20:49:00+00:00",
      "likeCount": 88,
      "repostCount": 8,
      "retweetCount": 6,
      "quoteCount": 2,
      "replyCount": 19,
      "viewCount": 9800,
      "bookmarkCount": 5,
      "hashtags": [
        "buildinpublic"
      ],
      "sample": true
    },
    {
      "tweetId": "1971234567890120009",
      "tweetUrl": "https://example.com/x/northwind_saas/status/1971234567890120009",
      "authorUrl": "https://example.com/x/northwind_saas",
      "authorHandle": "northwind_saas",
      "authorName": "Northwind (sample)",
      "authorFollowers": 18400,
      "authorVerified": false,
      "authorBio": "Founder of Northwind Invoicing. Building a bootstrapped B2B SaaS in public.",
      "authorWebsite": "https://northwind.example",
      "fullText": "Our onboarding email #3 has a 61% open rate. It'\''s three sentences and a GIF.",
      "createdAt": "2026-09-08 01:56:00+00:00",
      "likeCount": 70,
      "repostCount": 7,
      "retweetCount": 6,
      "quoteCount": 1,
      "replyCount": 10,
      "viewCount": 8300,
      "bookmarkCount": 12,
      "mediaType": "animated_gif",
      "videoUrls": [
        "https://example.com/x/media/sample-nw-1.mp4"
      ],
      "sample": true
    },
    {
      "tweetId": "1971234567890120010",
      "tweetUrl": "https://example.com/x/northwind_saas/status/1971234567890120010",
      "authorUrl": "https://example.com/x/northwind_saas",
      "authorHandle": "northwind_saas",
      "authorName": "Northwind (sample)",
      "authorFollowers": 18400,
      "authorVerified": false,
      "authorBio": "Founder of Northwind Invoicing. Building a bootstrapped B2B SaaS in public.",
      "authorWebsite": "https://northwind.example",
      "fullText": "Reminder that a boring product with happy customers beats an exciting demo with none.",
      "createdAt": "2026-09-12 06:03:00+00:00",
      "likeCount": 81,
      "repostCount": 11,
      "retweetCount": 9,
      "quoteCount": 2,
      "replyCount": 8,
      "viewCount": 9100,
      "bookmarkCount": 6,
      "sample": true
    },
    {
      "tweetId": "1971234567890120011",
      "tweetUrl": "https://example.com/x/northwind_saas/status/1971234567890120011",
      "authorUrl": "https://example.com/x/northwind_saas",
      "authorHandle": "northwind_saas",
      "authorName": "Northwind (sample)",
      "authorFollowers": 18400,
      "authorVerified": false,
      "authorBio": "Founder of Northwind Invoicing. Building a bootstrapped B2B SaaS in public.",
      "authorWebsite": "https://northwind.example",
      "fullText": "Hiring our first support engineer. Remote, EU hours. Details: https://northwind.example/jobs",
      "createdAt": "2026-09-16 11:10:00+00:00",
      "likeCount": 39,
      "repostCount": 12,
      "retweetCount": 10,
      "quoteCount": 2,
      "replyCount": 6,
      "viewCount": 7200,
      "bookmarkCount": 2,
      "externalUrls": [
        "https://northwind.example/jobs"
      ],
      "sample": true
    },
    {
      "tweetId": "1971234567890120012",
      "tweetUrl": "https://example.com/x/northwind_saas/status/1971234567890120012",
      "authorUrl": "https://example.com/x/northwind_saas",
      "authorHandle": "northwind_saas",
      "authorName": "Northwind (sample)",
      "authorFollowers": 18400,
      "authorVerified": false,
      "authorBio": "Founder of Northwind Invoicing. Building a bootstrapped B2B SaaS in public.",
      "authorWebsite": "https://northwind.example",
      "fullText": "Tried cold email for 30 days. 600 sent, 14 replies, 2 demos, 0 customers. Back to writing.",
      "createdAt": "2026-09-20 16:17:00+00:00",
      "likeCount": 66,
      "repostCount": 5,
      "retweetCount": 4,
      "quoteCount": 1,
      "replyCount": 17,
      "viewCount": 8600,
      "bookmarkCount": 9,
      "sample": true
    },
    {
      "tweetId": "1971234567890120013",
      "tweetUrl": "https://example.com/x/northwind_saas/status/1971234567890120013",
      "authorUrl": "https://example.com/x/northwind_saas",
      "authorHandle": "northwind_saas",
      "authorName": "Northwind (sample)",
      "authorFollowers": 18400,
      "authorVerified": false,
      "authorBio": "Founder of Northwind Invoicing. Building a bootstrapped B2B SaaS in public.",
      "authorWebsite": "https://northwind.example",
      "fullText": "New dashboard, first look. Feedback welcome.",
      "createdAt": "2026-09-24 21:24:00+00:00",
      "likeCount": 52,
      "repostCount": 3,
      "retweetCount": 2,
      "quoteCount": 1,
      "replyCount": 15,
      "viewCount": 6400,
      "bookmarkCount": 2,
      "mediaType": "photo",
      "imageUrls": [
        "https://example.com/x/media/sample-nw-2.jpg"
      ],
      "sample": true
    },
    {
      "tweetId": "1971234567890120014",
      "tweetUrl": "https://example.com/x/northwind_saas/status/1971234567890120014",
      "authorUrl": "https://example.com/x/northwind_saas",
      "authorHandle": "northwind_saas",
      "authorName": "Northwind (sample)",
      "authorFollowers": 18400,
      "authorVerified": false,
      "authorBio": "Founder of Northwind Invoicing. Building a bootstrapped B2B SaaS in public.",
      "authorWebsite": "https://northwind.example",
      "fullText": "The best pricing page advice I got: show the plan most people pick, not the one you want them to pick.",
      "createdAt": "2026-09-28 02:31:00+00:00",
      "likeCount": 77,
      "repostCount": 10,
      "retweetCount": 8,
      "quoteCount": 2,
      "replyCount": 9,
      "viewCount": 8800,
      "bookmarkCount": 14,
      "sample": true
    },
    {
      "tweetId": "1971234567890120015",
      "tweetUrl": "https://example.com/x/northwind_saas/status/1971234567890120015",
      "authorUrl": "https://example.com/x/northwind_saas",
      "authorHandle": "northwind_saas",
      "authorName": "Northwind (sample)",
      "authorFollowers": 18400,
      "authorVerified": false,
      "authorBio": "Founder of Northwind Invoicing. Building a bootstrapped B2B SaaS in public.",
      "authorWebsite": "https://northwind.example",
      "fullText": "Taking Friday off. The product will survive.",
      "createdAt": "2026-08-04 07:38:00+00:00",
      "likeCount": 58,
      "repostCount": 2,
      "retweetCount": 2,
      "quoteCount": 0,
      "replyCount": 11,
      "viewCount": 5900,
      "bookmarkCount": 0,
      "sample": true
    },
    {
      "tweetId": "1971234567890120016",
      "tweetUrl": "https://example.com/x/northwind_saas/status/1971234567890120016",
      "authorUrl": "https://example.com/x/northwind_saas",
      "authorHandle": "northwind_saas",
      "authorName": "Northwind (sample)",
      "authorFollowers": 18400,
      "authorVerified": false,
      "authorBio": "Founder of Northwind Invoicing. Building a bootstrapped B2B SaaS in public.",
      "authorWebsite": "https://northwind.example",
      "fullText": "Integrations shipped this quarter: Stripe, Xero, QuickBooks. Next: Sage.",
      "createdAt": "2026-08-08 12:45:00+00:00",
      "likeCount": 61,
      "repostCount": 6,
      "retweetCount": 5,
      "quoteCount": 1,
      "replyCount": 7,
      "viewCount": 7000,
      "bookmarkCount": 3,
      "sample": true
    },
    {
      "tweetId": "1971234567890120017",
      "tweetUrl": "https://example.com/x/northwind_saas/status/1971234567890120017",
      "authorUrl": "https://example.com/x/northwind_saas",
      "authorHandle": "northwind_saas",
      "authorName": "Northwind (sample)",
      "authorFollowers": 18400,
      "authorVerified": false,
      "authorBio": "Founder of Northwind Invoicing. Building a bootstrapped B2B SaaS in public.",
      "authorWebsite": "https://northwind.example",
      "fullText": "RT @contoso_growth: Stop A/B testing button colors.",
      "createdAt": "2026-08-12 17:52:00+00:00",
      "likeCount": 0,
      "repostCount": 0,
      "retweetCount": 0,
      "quoteCount": 0,
      "replyCount": 0,
      "viewCount": 0,
      "bookmarkCount": 0,
      "isRetweet": true,
      "sample": true
    },
    {
      "tweetId": "1971234567890120018",
      "tweetUrl": "https://example.com/x/northwind_saas/status/1971234567890120018",
      "authorUrl": "https://example.com/x/northwind_saas",
      "authorHandle": "northwind_saas",
      "authorName": "Northwind (sample)",
      "authorFollowers": 18400,
      "authorVerified": false,
      "authorBio": "Founder of Northwind Invoicing. Building a bootstrapped B2B SaaS in public.",
      "authorWebsite": "https://northwind.example",
      "fullText": "@someone_else congrats on the launch!",
      "createdAt": "2026-08-16 22:59:00+00:00",
      "likeCount": 4,
      "repostCount": 0,
      "retweetCount": 0,
      "quoteCount": 0,
      "replyCount": 1,
      "viewCount": 300,
      "bookmarkCount": 0,
      "isReply": true,
      "replyToHandle": "someone_else",
      "sample": true
    },
    {
      "tweetId": "1971234567890120019",
      "tweetUrl": "https://example.com/x/contoso_growth/status/1971234567890120019",
      "authorUrl": "https://example.com/x/contoso_growth",
      "authorHandle": "contoso_growth",
      "authorName": "Contoso Growth (sample)",
      "authorFollowers": 42300,
      "authorVerified": true,
      "authorBio": "Growth lead for B2B SaaS. Landing pages, activation, newsletters.",
      "authorWebsite": "https://contoso.example",
      "fullText": "Stop A/B testing button colors.\\n\\nTest the offer. Test the headline. Test who you'\''re talking to.\\n\\nButton colors are where growth teams go to feel busy.",
      "createdAt": "2026-08-04 09:00:00+00:00",
      "likeCount": 980,
      "repostCount": 160,
      "retweetCount": 128,
      "quoteCount": 32,
      "replyCount": 120,
      "viewCount": 152000,
      "bookmarkCount": 240,
      "sample": true
    },
    {
      "tweetId": "1971234567890120020",
      "tweetUrl": "https://example.com/x/contoso_growth/status/1971234567890120020",
      "authorUrl": "https://example.com/x/contoso_growth",
      "authorHandle": "contoso_growth",
      "authorName": "Contoso Growth (sample)",
      "authorFollowers": 42300,
      "authorVerified": true,
      "authorBio": "Growth lead for B2B SaaS. Landing pages, activation, newsletters.",
      "authorWebsite": "https://contoso.example",
      "fullText": "7 landing page lines that doubled our demo bookings:\\n\\n→ \\"Set up in 5 minutes\\"\\n→ \\"No card needed\\"\\n→ \\"Cancel in one click\\"\\n→ \\"Used by 1,200 teams\\"\\n→ \\"See it with your data\\"\\n→ \\"Talk to a human\\"\\n→ \\"Free migration\\"",
      "createdAt": "2026-08-08 14:07:00+00:00",
      "likeCount": 640,
      "repostCount": 130,
      "retweetCount": 104,
      "quoteCount": 26,
      "replyCount": 40,
      "viewCount": 118000,
      "bookmarkCount": 520,
      "sample": true
    },
    {
      "tweetId": "1971234567890120021",
      "tweetUrl": "https://example.com/x/contoso_growth/status/1971234567890120021",
      "authorUrl": "https://example.com/x/contoso_growth",
      "authorHandle": "contoso_growth",
      "authorName": "Contoso Growth (sample)",
      "authorFollowers": 42300,
      "authorVerified": true,
      "authorBio": "Growth lead for B2B SaaS. Landing pages, activation, newsletters.",
      "authorWebsite": "https://contoso.example",
      "fullText": "Our 4-person team grew a newsletter from 0 to 31,000 readers in 11 months.\\n\\nEvery channel we tried, ranked by cost per subscriber 🧵",
      "createdAt": "2026-08-12 19:14:00+00:00",
      "likeCount": 720,
      "repostCount": 95,
      "retweetCount": 76,
      "quoteCount": 19,
      "replyCount": 70,
      "viewCount": 131000,
      "bookmarkCount": 380,
      "sample": true
    },
    {
      "tweetId": "1971234567890120022",
      "tweetUrl": "https://example.com/x/contoso_growth/status/1971234567890120022",
      "authorUrl": "https://example.com/x/contoso_growth",
      "authorHandle": "contoso_growth",
      "authorName": "Contoso Growth (sample)",
      "authorFollowers": 42300,
      "authorVerified": true,
      "authorBio": "Growth lead for B2B SaaS. Landing pages, activation, newsletters.",
      "authorWebsite": "https://contoso.example",
      "fullText": "60-second teardown of the best onboarding flow I'\''ve seen this year.",
      "createdAt": "2026-08-16 00:21:00+00:00",
      "likeCount": 450,
      "repostCount": 60,
      "retweetCount": 48,
      "quoteCount": 12,
      "replyCount": 35,
      "viewCount": 97000,
      "bookmarkCount": 110,
      "mediaType": "video",
      "videoUrls": [
        "https://example.com/x/media/sample-cg-1.mp4"
      ],
      "sample": true
    },
    {
      "tweetId": "1971234567890120023",
      "tweetUrl": "https://example.com/x/contoso_growth/status/1971234567890120023",
      "authorUrl": "https://example.com/x/contoso_growth",
      "authorHandle": "contoso_growth",
      "authorName": "Contoso Growth (sample)",
      "authorFollowers": 42300,
      "authorVerified": true,
      "authorBio": "Growth lead for B2B SaaS. Landing pages, activation, newsletters.",
      "authorWebsite": "https://contoso.example",
      "fullText": "Retention is a growth channel. Most teams just don'\''t put it on the roadmap.",
      "createdAt": "2026-08-20 05:28:00+00:00",
      "likeCount": 160,
      "repostCount": 22,
      "retweetCount": 18,
      "quoteCount": 4,
      "replyCount": 18,
      "viewCount": 21000,
      "bookmarkCount": 20,
      "sample": true
    },
    {
      "tweetId": "1971234567890120024",
      "tweetUrl": "https://example.com/x/contoso_growth/status/1971234567890120024",
      "authorUrl": "https://example.com/x/contoso_growth",
      "authorHandle": "contoso_growth",
      "authorName": "Contoso Growth (sample)",
      "authorFollowers": 42300,
      "authorVerified": true,
      "authorBio": "Growth lead for B2B SaaS. Landing pages, activation, newsletters.",
      "authorWebsite": "https://contoso.example",
      "fullText": "What'\''s the most underrated growth channel in 2026? Wrong answers only.",
      "createdAt": "2026-08-24 10:35:00+00:00",
      "likeCount": 120,
      "repostCount": 8,
      "retweetCount": 6,
      "quoteCount": 2,
      "replyCount": 140,
      "viewCount": 26000,
      "bookmarkCount": 4,
      "sample": true
    },
    {
      "tweetId": "1971234567890120025",
      "tweetUrl": "https://example.com/x/contoso_growth/status/1971234567890120025",
      "authorUrl": "https://example.com/x/contoso_growth",
      "authorHandle": "contoso_growth",
      "authorName": "Contoso Growth (sample)",
      "authorFollowers": 42300,
      "authorVerified": true,
      "authorBio": "Growth lead for B2B SaaS. Landing pages, activation, newsletters.",
      "authorWebsite": "https://contoso.example",
      "fullText": "Weekly reminder: your homepage is not for you.",
      "createdAt": "2026-08-28 15:42:00+00:00",
      "likeCount": 190,
      "repostCount": 25,
      "retweetCount": 20,
      "quoteCount": 5,
      "replyCount": 12,
      "viewCount": 23000,
      "bookmarkCount": 15,
      "sample": true
    },
    {
      "tweetId": "1971234567890120026",
      "tweetUrl": "https://example.com/x/contoso_growth/status/1971234567890120026",
      "authorUrl": "https://example.com/x/contoso_growth",
      "authorHandle": "contoso_growth",
      "authorName": "Contoso Growth (sample)",
      "authorFollowers": 42300,
      "authorVerified": true,
      "authorBio": "Growth lead for B2B SaaS. Landing pages, activation, newsletters.",
      "authorWebsite": "https://contoso.example",
      "fullText": "Ran a pricing survey with 1,200 B2B buyers. Results next week.",
      "createdAt": "2026-09-04 20:49:00+00:00",
      "likeCount": 170,
      "repostCount": 30,
      "retweetCount": 24,
      "quoteCount": 6,
      "replyCount": 25,
      "viewCount": 24000,
      "bookmarkCount": 18,
      "sample": true
    },
    {
      "tweetId": "1971234567890120027",
      "tweetUrl": "https://example.com/x/contoso_growth/status/1971234567890120027",
      "authorUrl": "https://example.com/x/contoso_growth",
      "authorHandle": "contoso_growth",
      "authorName": "Contoso Growth (sample)",
      "authorFollowers": 42300,
      "authorVerified": true,
      "authorBio": "Growth lead for B2B SaaS. Landing pages, activation, newsletters.",
      "authorWebsite": "https://contoso.example",
      "fullText": "New post: the 5-step activation audit we run for every client. https://contoso.example/activation-audit",
      "createdAt": "2026-09-08 01:56:00+00:00",
      "likeCount": 140,
      "repostCount": 26,
      "retweetCount": 21,
      "quoteCount": 5,
      "replyCount": 14,
      "viewCount": 19000,
      "bookmarkCount": 40,
      "externalUrls": [
        "https://contoso.example/activation-audit"
      ],
      "sample": true
    },
    {
      "tweetId": "1971234567890120028",
      "tweetUrl": "https://example.com/x/contoso_growth/status/1971234567890120028",
      "authorUrl": "https://example.com/x/contoso_growth",
      "authorHandle": "contoso_growth",
      "authorName": "Contoso Growth (sample)",
      "authorFollowers": 42300,
      "authorVerified": true,
      "authorBio": "Growth lead for B2B SaaS. Landing pages, activation, newsletters.",
      "authorWebsite": "https://contoso.example",
      "fullText": "Good copy is mostly deleting.",
      "createdAt": "2026-09-12 06:03:00+00:00",
      "likeCount": 210,
      "repostCount": 28,
      "retweetCount": 22,
      "quoteCount": 6,
      "replyCount": 9,
      "viewCount": 25000,
      "bookmarkCount": 12,
      "sample": true
    },
    {
      "tweetId": "1971234567890120029",
      "tweetUrl": "https://example.com/x/contoso_growth/status/1971234567890120029",
      "authorUrl": "https://example.com/x/contoso_growth",
      "authorHandle": "contoso_growth",
      "authorName": "Contoso Growth (sample)",
      "authorFollowers": 42300,
      "authorVerified": true,
      "authorBio": "Growth lead for B2B SaaS. Landing pages, activation, newsletters.",
      "authorWebsite": "https://contoso.example",
      "fullText": "Spoke at GrowthConf today. Slides below.",
      "createdAt": "2026-09-16 11:10:00+00:00",
      "likeCount": 150,
      "repostCount": 12,
      "retweetCount": 10,
      "quoteCount": 2,
      "replyCount": 20,
      "viewCount": 18000,
      "bookmarkCount": 9,
      "mediaType": "photo",
      "imageUrls": [
        "https://example.com/x/media/sample-cg-2.jpg"
      ],
      "sample": true
    },
    {
      "tweetId": "1971234567890120030",
      "tweetUrl": "https://example.com/x/contoso_growth/status/1971234567890120030",
      "authorUrl": "https://example.com/x/contoso_growth",
      "authorHandle": "contoso_growth",
      "authorName": "Contoso Growth (sample)",
      "authorFollowers": 42300,
      "authorVerified": true,
      "authorBio": "Growth lead for B2B SaaS. Landing pages, activation, newsletters.",
      "authorWebsite": "https://contoso.example",
      "fullText": "Hot take: most '\''PLG'\'' companies are sales-led companies with a free trial.",
      "createdAt": "2026-09-20 16:17:00+00:00",
      "likeCount": 230,
      "repostCount": 30,
      "retweetCount": 24,
      "quoteCount": 6,
      "replyCount": 60,
      "viewCount": 31000,
      "bookmarkCount": 10,
      "sample": true
    },
    {
      "tweetId": "1971234567890120031",
      "tweetUrl": "https://example.com/x/contoso_growth/status/1971234567890120031",
      "authorUrl": "https://example.com/x/contoso_growth",
      "authorHandle": "contoso_growth",
      "authorName": "Contoso Growth (sample)",
      "authorFollowers": 42300,
      "authorVerified": true,
      "authorBio": "Growth lead for B2B SaaS. Landing pages, activation, newsletters.",
      "authorWebsite": "https://contoso.example",
      "fullText": "If your onboarding needs a video, your product needs a fix.",
      "createdAt": "2026-09-24 21:24:00+00:00",
      "likeCount": 200,
      "repostCount": 24,
      "retweetCount": 19,
      "quoteCount": 5,
      "replyCount": 22,
      "viewCount": 24500,
      "bookmarkCount": 14,
      "sample": true
    },
    {
      "tweetId": "1971234567890120032",
      "tweetUrl": "https://example.com/x/contoso_growth/status/1971234567890120032",
      "authorUrl": "https://example.com/x/contoso_growth",
      "authorHandle": "contoso_growth",
      "authorName": "Contoso Growth (sample)",
      "authorFollowers": 42300,
      "authorVerified": true,
      "authorBio": "Growth lead for B2B SaaS. Landing pages, activation, newsletters.",
      "authorWebsite": "https://contoso.example",
      "fullText": "Client win: trial-to-paid 9% → 14% after cutting the signup form from 7 fields to 3.",
      "createdAt": "2026-09-28 02:31:00+00:00",
      "likeCount": 220,
      "repostCount": 35,
      "retweetCount": 28,
      "quoteCount": 7,
      "replyCount": 18,
      "viewCount": 27000,
      "bookmarkCount": 30,
      "sample": true
    },
    {
      "tweetId": "1971234567890120033",
      "tweetUrl": "https://example.com/x/contoso_growth/status/1971234567890120033",
      "authorUrl": "https://example.com/x/contoso_growth",
      "authorHandle": "contoso_growth",
      "authorName": "Contoso Growth (sample)",
      "authorFollowers": 42300,
      "authorVerified": true,
      "authorBio": "Growth lead for B2B SaaS. Landing pages, activation, newsletters.",
      "authorWebsite": "https://contoso.example",
      "fullText": "Testing a new format this week. Feedback welcome.",
      "createdAt": "2026-08-04 07:38:00+00:00",
      "likeCount": 110,
      "repostCount": 5,
      "retweetCount": 4,
      "quoteCount": 1,
      "replyCount": 30,
      "viewCount": 15000,
      "bookmarkCount": 2,
      "sample": true
    },
    {
      "tweetId": "1971234567890120034",
      "tweetUrl": "https://example.com/x/contoso_growth/status/1971234567890120034",
      "authorUrl": "https://example.com/x/contoso_growth",
      "authorHandle": "contoso_growth",
      "authorName": "Contoso Growth (sample)",
      "authorFollowers": 42300,
      "authorVerified": true,
      "authorBio": "Growth lead for B2B SaaS. Landing pages, activation, newsletters.",
      "authorWebsite": "https://contoso.example",
      "fullText": "Looking for 3 SaaS teams to beta-test our activation checklist. DM me.",
      "createdAt": "2026-08-08 12:45:00+00:00",
      "likeCount": 130,
      "repostCount": 10,
      "retweetCount": 8,
      "quoteCount": 2,
      "replyCount": 45,
      "viewCount": 17000,
      "bookmarkCount": 8,
      "sample": true
    },
    {
      "tweetId": "1971234567890120035",
      "tweetUrl": "https://example.com/x/contoso_growth/status/1971234567890120035",
      "authorUrl": "https://example.com/x/contoso_growth",
      "authorHandle": "contoso_growth",
      "authorName": "Contoso Growth (sample)",
      "authorFollowers": 42300,
      "authorVerified": true,
      "authorBio": "Growth lead for B2B SaaS. Landing pages, activation, newsletters.",
      "authorWebsite": "https://contoso.example",
      "fullText": "Try GrowthKit free for 14 days — the growth dashboard 9,000 teams use.",
      "createdAt": "2026-08-12 17:52:00+00:00",
      "likeCount": 2400,
      "repostCount": 300,
      "retweetCount": 240,
      "quoteCount": 60,
      "replyCount": 80,
      "viewCount": 900000,
      "bookmarkCount": 60,
      "isAd": true,
      "sample": true
    },
    {
      "tweetId": "1971234567890120036",
      "tweetUrl": "https://example.com/x/contoso_growth/status/1971234567890120036",
      "authorUrl": "https://example.com/x/contoso_growth",
      "authorHandle": "contoso_growth",
      "authorName": "Contoso Growth (sample)",
      "authorFollowers": 42300,
      "authorVerified": true,
      "authorBio": "Growth lead for B2B SaaS. Landing pages, activation, newsletters.",
      "authorWebsite": "https://contoso.example",
      "fullText": "RT @fabrikam_devrel: How to cut your CI time from 14 minutes to 3",
      "createdAt": "2026-08-16 22:59:00+00:00",
      "likeCount": 0,
      "repostCount": 0,
      "retweetCount": 0,
      "quoteCount": 0,
      "replyCount": 0,
      "viewCount": 0,
      "bookmarkCount": 0,
      "isRetweet": true,
      "sample": true
    },
    {
      "tweetId": "1971234567890120037",
      "tweetUrl": "https://example.com/x/fabrikam_devrel/status/1971234567890120037",
      "authorUrl": "https://example.com/x/fabrikam_devrel",
      "authorHandle": "fabrikam_devrel",
      "authorName": "Fabrikam DevRel (sample)",
      "authorFollowers": 9100,
      "authorVerified": false,
      "authorBio": "Developer relations at Fabrikam CLI. CI, testing, developer experience.",
      "authorWebsite": "https://fabrikam.example",
      "fullText": "How to cut your CI time from 14 minutes to 3:\\n\\n1. Cache dependencies by lockfile hash\\n2. Split tests by timing, not by file\\n3. Run lint and types in parallel\\n4. Skip docs-only changes\\n\\nSteal this.",
      "createdAt": "2026-08-04 09:00:00+00:00",
      "likeCount": 210,
      "repostCount": 45,
      "retweetCount": 36,
      "quoteCount": 9,
      "replyCount": 18,
      "viewCount": 38000,
      "bookmarkCount": 160,
      "sample": true
    },
    {
      "tweetId": "1971234567890120038",
      "tweetUrl": "https://example.com/x/fabrikam_devrel/status/1971234567890120038",
      "authorUrl": "https://example.com/x/fabrikam_devrel",
      "authorHandle": "fabrikam_devrel",
      "authorName": "Fabrikam DevRel (sample)",
      "authorFollowers": 9100,
      "authorVerified": false,
      "authorBio": "Developer relations at Fabrikam CLI. CI, testing, developer experience.",
      "authorWebsite": "https://fabrikam.example",
      "fullText": "I deleted 40% of our codebase last quarter. Nothing broke.\\n\\nHere'\''s what was in it:",
      "createdAt": "2026-08-08 14:07:00+00:00",
      "likeCount": 130,
      "repostCount": 20,
      "retweetCount": 16,
      "quoteCount": 4,
      "replyCount": 34,
      "viewCount": 21000,
      "bookmarkCount": 26,
      "sample": true
    },
    {
      "tweetId": "1971234567890120039",
      "tweetUrl": "https://example.com/x/fabrikam_devrel/status/1971234567890120039",
      "authorUrl": "https://example.com/x/fabrikam_devrel",
      "authorHandle": "fabrikam_devrel",
      "authorName": "Fabrikam DevRel (sample)",
      "authorFollowers": 9100,
      "authorVerified": false,
      "authorBio": "Developer relations at Fabrikam CLI. CI, testing, developer experience.",
      "authorWebsite": "https://fabrikam.example",
      "fullText": "This is the best explanation of database indexes I'\''ve read. Required reading for every new hire.",
      "createdAt": "2026-08-12 19:14:00+00:00",
      "likeCount": 70,
      "repostCount": 22,
      "retweetCount": 18,
      "quoteCount": 4,
      "replyCount": 6,
      "viewCount": 12000,
      "bookmarkCount": 48,
      "isQuote": true,
      "quotedTweetUrl": "https://example.com/x/someone_else/status/1971234567890100001",
      "sample": true
    },
    {
      "tweetId": "1971234567890120040",
      "tweetUrl": "https://example.com/x/fabrikam_devrel/status/1971234567890120040",
      "authorUrl": "https://example.com/x/fabrikam_devrel",
      "authorHandle": "fabrikam_devrel",
      "authorName": "Fabrikam DevRel (sample)",
      "authorFollowers": 9100,
      "authorVerified": false,
      "authorBio": "Developer relations at Fabrikam CLI. CI, testing, developer experience.",
      "authorWebsite": "https://fabrikam.example",
      "fullText": "Released v2.4: faster cold starts, fewer config files.",
      "createdAt": "2026-08-16 00:21:00+00:00",
      "likeCount": 28,
      "repostCount": 4,
      "retweetCount": 3,
      "quoteCount": 1,
      "replyCount": 3,
      "viewCount": 3900,
      "bookmarkCount": 2,
      "sample": true
    },
    {
      "tweetId": "1971234567890120041",
      "tweetUrl": "https://example.com/x/fabrikam_devrel/status/1971234567890120041",
      "authorUrl": "https://example.com/x/fabrikam_devrel",
      "authorHandle": "fabrikam_devrel",
      "authorName": "Fabrikam DevRel (sample)",
      "authorFollowers": 9100,
      "authorVerified": false,
      "authorBio": "Developer relations at Fabrikam CLI. CI, testing, developer experience.",
      "authorWebsite": "https://fabrikam.example",
      "fullText": "Which do you reach for first: logs, traces or metrics?",
      "createdAt": "2026-08-20 05:28:00+00:00",
      "likeCount": 15,
      "repostCount": 1,
      "retweetCount": 1,
      "quoteCount": 0,
      "replyCount": 29,
      "viewCount": 4100,
      "bookmarkCount": 0,
      "sample": true
    },
    {
      "tweetId": "1971234567890120042",
      "tweetUrl": "https://example.com/x/fabrikam_devrel/status/1971234567890120042",
      "authorUrl": "https://example.com/x/fabrikam_devrel",
      "authorHandle": "fabrikam_devrel",
      "authorName": "Fabrikam DevRel (sample)",
      "authorFollowers": 9100,
      "authorVerified": false,
      "authorBio": "Developer relations at Fabrikam CLI. CI, testing, developer experience.",
      "authorWebsite": "https://fabrikam.example",
      "fullText": "Docs PRs are the best first contribution. We label them good-first-issue.",
      "createdAt": "2026-08-24 10:35:00+00:00",
      "likeCount": 31,
      "repostCount": 5,
      "retweetCount": 4,
      "quoteCount": 1,
      "replyCount": 4,
      "viewCount": 4200,
      "bookmarkCount": 3,
      "sample": true
    },
    {
      "tweetId": "1971234567890120043",
      "tweetUrl": "https://example.com/x/fabrikam_devrel/status/1971234567890120043",
      "authorUrl": "https://example.com/x/fabrikam_devrel",
      "authorHandle": "fabrikam_devrel",
      "authorName": "Fabrikam DevRel (sample)",
      "authorFollowers": 9100,
      "authorVerified": false,
      "authorBio": "Developer relations at Fabrikam CLI. CI, testing, developer experience.",
      "authorWebsite": "https://fabrikam.example",
      "fullText": "Live-coding the new plugin API at 5pm UTC.",
      "createdAt": "2026-08-28 15:42:00+00:00",
      "likeCount": 22,
      "repostCount": 6,
      "retweetCount": 5,
      "quoteCount": 1,
      "replyCount": 2,
      "viewCount": 3100,
      "bookmarkCount": 0,
      "sample": true
    },
    {
      "tweetId": "1971234567890120044",
      "tweetUrl": "https://example.com/x/fabrikam_devrel/status/1971234567890120044",
      "authorUrl": "https://example.com/x/fabrikam_devrel",
      "authorHandle": "fabrikam_devrel",
      "authorName": "Fabrikam DevRel (sample)",
      "authorFollowers": 9100,
      "authorVerified": false,
      "authorBio": "Developer relations at Fabrikam CLI. CI, testing, developer experience.",
      "authorWebsite": "https://fabrikam.example",
      "fullText": "Benchmarks for the new release.",
      "createdAt": "2026-09-04 20:49:00+00:00",
      "likeCount": 34,
      "repostCount": 4,
      "retweetCount": 3,
      "quoteCount": 1,
      "replyCount": 6,
      "viewCount": 4600,
      "bookmarkCount": 5,
      "mediaType": "photo",
      "imageUrls": [
        "https://example.com/x/media/sample-fd-1.jpg"
      ],
      "sample": true
    },
    {
      "tweetId": "1971234567890120045",
      "tweetUrl": "https://example.com/x/fabrikam_devrel/status/1971234567890120045",
      "authorUrl": "https://example.com/x/fabrikam_devrel",
      "authorHandle": "fabrikam_devrel",
      "authorName": "Fabrikam DevRel (sample)",
      "authorFollowers": 9100,
      "authorVerified": false,
      "authorBio": "Developer relations at Fabrikam CLI. CI, testing, developer experience.",
      "authorWebsite": "https://fabrikam.example",
      "fullText": "TIL you can bisect a flaky test with git bisect run.",
      "createdAt": "2026-09-08 01:56:00+00:00",
      "likeCount": 38,
      "repostCount": 6,
      "retweetCount": 5,
      "quoteCount": 1,
      "replyCount": 4,
      "viewCount": 5200,
      "bookmarkCount": 9,
      "sample": true
    },
    {
      "tweetId": "1971234567890120046",
      "tweetUrl": "https://example.com/x/fabrikam_devrel/status/1971234567890120046",
      "authorUrl": "https://example.com/x/fabrikam_devrel",
      "authorHandle": "fabrikam_devrel",
      "authorName": "Fabrikam DevRel (sample)",
      "authorFollowers": 9100,
      "authorVerified": false,
      "authorBio": "Developer relations at Fabrikam CLI. CI, testing, developer experience.",
      "authorWebsite": "https://fabrikam.example",
      "fullText": "Our changelog is now an RSS feed. Old-school, still the best.",
      "createdAt": "2026-09-12 06:03:00+00:00",
      "likeCount": 26,
      "repostCount": 3,
      "retweetCount": 2,
      "quoteCount": 1,
      "replyCount": 5,
      "viewCount": 3600,
      "bookmarkCount": 2,
      "sample": true
    },
    {
      "tweetId": "1971234567890120047",
      "tweetUrl": "https://example.com/x/fabrikam_devrel/status/1971234567890120047",
      "authorUrl": "https://example.com/x/fabrikam_devrel",
      "authorHandle": "fabrikam_devrel",
      "authorName": "Fabrikam DevRel (sample)",
      "authorFollowers": 9100,
      "authorVerified": false,
      "authorBio": "Developer relations at Fabrikam CLI. CI, testing, developer experience.",
      "authorWebsite": "https://fabrikam.example",
      "fullText": "Conference season. Who'\''s going to DevToolsConf?",
      "createdAt": "2026-09-16 11:10:00+00:00",
      "likeCount": 19,
      "repostCount": 1,
      "retweetCount": 1,
      "quoteCount": 0,
      "replyCount": 14,
      "viewCount": 3300,
      "bookmarkCount": 0,
      "sample": true
    },
    {
      "tweetId": "1971234567890120048",
      "tweetUrl": "https://example.com/x/fabrikam_devrel/status/1971234567890120048",
      "authorUrl": "https://example.com/x/fabrikam_devrel",
      "authorHandle": "fabrikam_devrel",
      "authorName": "Fabrikam DevRel (sample)",
      "authorFollowers": 9100,
      "authorVerified": false,
      "authorBio": "Developer relations at Fabrikam CLI. CI, testing, developer experience.",
      "authorWebsite": "https://fabrikam.example",
      "fullText": "Rewrote the CLI help text. Support questions dropped 30%.",
      "createdAt": "2026-09-20 16:17:00+00:00",
      "likeCount": 41,
      "repostCount": 7,
      "retweetCount": 6,
      "quoteCount": 1,
      "replyCount": 6,
      "viewCount": 5400,
      "bookmarkCount": 4,
      "sample": true
    },
    {
      "tweetId": "1971234567890120049",
      "tweetUrl": "https://example.com/x/fabrikam_devrel/status/1971234567890120049",
      "authorUrl": "https://example.com/x/fabrikam_devrel",
      "authorHandle": "fabrikam_devrel",
      "authorName": "Fabrikam DevRel (sample)",
      "authorFollowers": 9100,
      "authorVerified": false,
      "authorBio": "Developer relations at Fabrikam CLI. CI, testing, developer experience.",
      "authorWebsite": "https://fabrikam.example",
      "fullText": "Error messages are UI.",
      "createdAt": "2026-09-24 21:24:00+00:00",
      "likeCount": 44,
      "repostCount": 8,
      "retweetCount": 6,
      "quoteCount": 2,
      "replyCount": 3,
      "viewCount": 5600,
      "bookmarkCount": 3,
      "sample": true
    },
    {
      "tweetId": "1971234567890120050",
      "tweetUrl": "https://example.com/x/fabrikam_devrel/status/1971234567890120050",
      "authorUrl": "https://example.com/x/fabrikam_devrel",
      "authorHandle": "fabrikam_devrel",
      "authorName": "Fabrikam DevRel (sample)",
      "authorFollowers": 9100,
      "authorVerified": false,
      "authorBio": "Developer relations at Fabrikam CLI. CI, testing, developer experience.",
      "authorWebsite": "https://fabrikam.example",
      "fullText": "Shipping a VS Code extension next week. Beta testers wanted.",
      "createdAt": "2026-09-28 02:31:00+00:00",
      "likeCount": 27,
      "repostCount": 5,
      "retweetCount": 4,
      "quoteCount": 1,
      "replyCount": 12,
      "viewCount": 3800,
      "bookmarkCount": 1,
      "sample": true
    },
    {
      "tweetId": "1971234567890120051",
      "tweetUrl": "https://example.com/x/fabrikam_devrel/status/1971234567890120051",
      "authorUrl": "https://example.com/x/fabrikam_devrel",
      "authorHandle": "fabrikam_devrel",
      "authorName": "Fabrikam DevRel (sample)",
      "authorFollowers": 9100,
      "authorVerified": false,
      "authorBio": "Developer relations at Fabrikam CLI. CI, testing, developer experience.",
      "authorWebsite": "https://fabrikam.example",
      "fullText": "Friday deploys are fine if rollbacks are boring.",
      "createdAt": "2026-08-04 07:38:00+00:00",
      "likeCount": 39,
      "repostCount": 4,
      "retweetCount": 3,
      "quoteCount": 1,
      "replyCount": 9,
      "viewCount": 5000,
      "bookmarkCount": 2,
      "sample": true
    },
    {
      "tweetId": "1971234567890120052",
      "tweetUrl": "https://example.com/x/fabrikam_devrel/status/1971234567890120052",
      "authorUrl": "https://example.com/x/fabrikam_devrel",
      "authorHandle": "fabrikam_devrel",
      "authorName": "Fabrikam DevRel (sample)",
      "authorFollowers": 9100,
      "authorVerified": false,
      "authorBio": "Developer relations at Fabrikam CLI. CI, testing, developer experience.",
      "authorWebsite": "https://fabrikam.example",
      "fullText": "New blog post on how we test our migrations: https://fabrikam.example/blog/migrations",
      "createdAt": "2026-08-08 12:45:00+00:00",
      "likeCount": 23,
      "repostCount": 4,
      "retweetCount": 3,
      "quoteCount": 1,
      "replyCount": 2,
      "viewCount": 3400,
      "bookmarkCount": 3,
      "externalUrls": [
        "https://fabrikam.example/blog/migrations"
      ],
      "sample": true
    },
    {
      "tweetId": "1971234567890120053",
      "tweetUrl": "https://example.com/x/fabrikam_devrel/status/1971234567890120053",
      "authorUrl": "https://example.com/x/fabrikam_devrel",
      "authorHandle": "fabrikam_devrel",
      "authorName": "Fabrikam DevRel (sample)",
      "authorFollowers": 9100,
      "authorVerified": false,
      "authorBio": "Developer relations at Fabrikam CLI. CI, testing, developer experience.",
      "authorWebsite": "https://fabrikam.example",
      "fullText": "@someone_else we fixed that in v2.4.1, try again?",
      "createdAt": "2026-08-12 17:52:00+00:00",
      "likeCount": 3,
      "repostCount": 0,
      "retweetCount": 0,
      "quoteCount": 0,
      "replyCount": 1,
      "viewCount": 200,
      "bookmarkCount": 0,
      "isReply": true,
      "replyToHandle": "someone_else",
      "sample": true
    },
    {
      "tweetId": "1971234567890120054",
      "tweetUrl": "https://example.com/x/fabrikam_devrel/status/1971234567890120054",
      "authorUrl": "https://example.com/x/fabrikam_devrel",
      "authorHandle": "fabrikam_devrel",
      "authorName": "Fabrikam DevRel (sample)",
      "authorFollowers": 9100,
      "authorVerified": false,
      "authorBio": "Developer relations at Fabrikam CLI. CI, testing, developer experience.",
      "authorWebsite": "https://fabrikam.example",
      "fullText": "RT @northwind_saas: We raised prices 40% last month.",
      "createdAt": "2026-08-16 22:59:00+00:00",
      "likeCount": 0,
      "repostCount": 0,
      "retweetCount": 0,
      "quoteCount": 0,
      "replyCount": 0,
      "viewCount": 0,
      "bookmarkCount": 0,
      "isRetweet": true,
      "sample": true
    }
  ]
}' |
apify call rich_minds/x-winning-tweets-ai --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,rich_minds/x-winning-tweets-ai"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/JqST0wCvdcob8DoGD/builds/waxCYWTJnwDBW60LG/openapi.json
