Twitter Lead Generation: AI Buying-Intent X Leads, 25 Free avatar

Twitter Lead Generation: AI Buying-Intent X Leads, 25 Free

Pricing

from $2.50 / 1,000 qualified lead (rules only)s

Go to Apify Store
Twitter Lead Generation: AI Buying-Intent X Leads, 25 Free

Twitter Lead Generation: AI Buying-Intent X Leads, 25 Free

First 25 leads free. Twitter lead generation — pay per qualified lead, junk never charged by us: find customers on Twitter who ask for a tool like yours, with the need, ICP fit and a reply draft. Free demo on any plan; live search runs on your Apify account, any plan that runs Store Actors

Pricing

from $2.50 / 1,000 qualified lead (rules only)s

Rating

0.0

(0)

Developer

Rich Minds

Rich Minds

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 days ago

Last modified

Share

People on X asking for a tool like yours — with a reply draft, every week.

⚡ First 25 leads free · 💵 $0.0025 per qualified lead · 🤖 $0.009 with AI assessment · ⏱️ demo in seconds

Shortlist: hot and warm X leads with intent type, the need quoted from the tweet, role and competitor named

Try it in 30 seconds. Click Try it — the form is already filled with a working example. Your first 25 qualified leads are free, and tweets that fail your filters are never charged by us. Already scraped tweets? Pass the dataset ID in datasetId — no new scrape. → What a run costs · What the AI adds · Run it weekly

⚡ At a glance

What you getpeople on X asking for a product like yours: their need quoted, role and company, a lead score and a reply draft
You provide1–10 words buyers use for what you sell (email marketing) and one sentence about your offer
OutputJSON / CSV / Excel dataset, best-first, plus the funnel in the OUTPUT record
Typical run500 tweets scanned → ≈ 20 qualified leads in ≈ 2 min (estimate; every run measures OUTPUT.timing)
Cost of that run$0.13 rules only · $0.36 with the AI verdict ($0.075 X Tweet Scraper + 20 × $0.0025 / 20 × $0.009 here + ≈ $0.10 AI tokens), after your 25 free leads
Free tierfirst 25 qualified leads per account
Keys / setupPlan with Apify model access: no key · other plans: your own Gemini / Groq key — free = 1–3 AI verdicts per run, paid = every lead
Which planFree demo and your own list (list mode, template): any plan · live search: a plan that runs Store Actors
Works withSchedules, webhooks, Google Sheets, Slack, Discord, Make / n8n / Zapier, MCP & AI agents

🎯 What this Actor does

Twitter lead generation and X lead generation for founders, SDRs and agencies:

  • Searches X for buyers, not mentions — "looking for", "alternative to", "sick of" … queries.
  • Drops the junk for free — vendor promos, bots, hiring posts, giveaways, hashtag spam and retweets, each with a reason.
  • Tells you who is asking — role, company, website, public e-mail from the bio, fit vs icpBioKeywords.
  • Hands you the reply — a ≤ 280-character draft, a one-click replyUrl, isUnanswered to answer first.
  • Only new people on every run — memory per tweet and per author.

🧲 Find customers on Twitter who already ask

People tweeting "can anyone recommend…" or "switching from…" are ready to buy — this finds, ranks and answers them.

🔎 Twitter sales prospecting: the queries are built for you

Your product words (or your offer alone) become X queries; competitor names add "alternative / switching from" searches.

🎚️ Twitter buying intent, filtered your way

Intent types, follower bands, minimum score and flags filter for free, before any charge.

🚀 How to use it

  1. Click Try it — the free demo on 9 sample tweets: 4 leads, 5 junk tweets rejected, $0.
  2. Type your own offer (plus productKeywords if you know them) — that starts the live X search on your account. Leave enableAi on.
  3. Press Start — the Reply queue tab lists who to answer, the draft and the reply link.
  4. Schedule it with your address in notifyEmail — only new leads are delivered and charged.

Reply queue: each lead with its reply draft and one-click reply link

📚 Learn more: Step-by-step tutorial — twitter lead generation with this Actor

🆚 Why this instead of an X Tweet Scraper?

X Tweet Scraper (xquik/x-tweet-scraper)This Actor
Your time per 100 leadsread and judge ≈ 2,500 tweets (on the demo sample 5 of 9 were junk: promo, hiring, giveaway, bot, venting)0 h — 100 ranked leads, need quoted, reply drafted
Price$0.00015 per tweet · 1,386 users / 30 days$0.0025 per qualified lead, first 25 free
What you pay forevery tweet — promos, bots, jokes includedonly qualified leads — junk costs $0 here
Same 100 leads, all in$0.38 for ≈ 2,500 tweets, then you read all 2,500100 ranked, explained leads: $0.63 rules only · $1.78 with AI ($0.25 / $0.90 here + $0.38 source you pay either way + ≈ $0.50 tokens)
Who is buying?raw rowsintent, stage, quoted need, role, ICP fit
Next stepnonereply draft + one-click reply link

Free and SaaS alternatives: X Advanced Search is free but has no scoring, export or schedule. Octolens and Brand24 are monthly seats (pricing, prices).

💵 Pricing — what a run really costs

Pay per result: one event per qualified lead, nothing else.

EventWhen it is chargedPrice
free-tieryour first 25 qualified leads on this Actor, in any mode$0.00
qualified-lead-basicAI off — intent score, bio parser, lead score, template reply$0.0025
qualified-lead-aiAI on — plus the AI verdict, quoted need, ICP fit and a tailored reply$0.009

One free tier: your first 25 qualified leads are free, whatever the tier.

Never charged: the search, retweets, bots, vendor promos, hiring posts, giveaways, off-topic tweets, leads below minScore, tweets the AI calls "not a genuine buyer", leads you already received. Compute is included.

How that compares — $0.0025 is 1.4× the $0.001745 median of the same-job X Actors the Store shows for "twitter lead generation" (one per developer), and 8× one raw tweet ($0.0003 median) — but one qualified lead replaces 25 raw tweets you would read and judge: $0.0001 per raw-row equivalent.

Worked example — 500 tweets scanned → 20 qualified leads with AI on: X Tweet Scraper $0.075 on your account + 20 × $0.009 here + ≈ $0.10 tokens → $0.36 total, ≈ $0.018 all-in per lead. Rules only: $0.075 + 20 × $0.0025 = $0.13, ≈ $0.006 all-in per lead. Your first 25 leads cost $0 here.

AI tier, all in: ≈ $0.014 per lead ($0.009 here + ≈ $0.005 tokens through Apify's model access or your own key) — 3.6× the basic price before tokens.

🤖 What the AI tier adds

The same demo tweet, AI off — the free rules (intent lexicon, bio parser, template reply):

{"authorUsername": "kaylaships", "intentType": "alternative_seeking", "need": "Seriously looking for a Klaviyo alternative for email marketing before our renewal in October.", "authorRole": "Head of Growth", "intentScore": 83, "icpFit": 83, "leadScore": 82, "leadTier": "hot", "suggestedReply": "@kaylaships Email marketing tool for Shopify stores — happy to share how it handles \"looking for a Klaviyo alternative for email marketing before our renewal in October\"."}

AI on (qualified-lead-ai, $0.009) — the same tweet from a real own-key run on 2026-10-17 (llmProvider: byok with a free Gemini key, llmModel left empty):

{
"authorUsername": "kaylaships", "intentType": "alternative_seeking", "buyingStage": "frustrated",
"need": "looking for a Klaviyo alternative for email marketing before our renewal in October.",
"authorRole": "Head of Growth", "intentScore": 92, "icpFit": 95, "leadScore": 90, "leadTier": "hot",
"reasons": ["Tweet explicitly states 'looking for a Klaviyo alternative for email marketing'.", "Complains about price doubling and broken flows ('Klaviyo bill doubled', 'flows keep breaking').", "Has a clear timeline ('before our renewal in October').", "Bio states Head of Growth at a DTC & ecommerce brand."],
"aiAssessment": {"intentType": "alternative_seeking", "isGenuineBuyer": true, "stage": "frustrated", "confidence": 0.95, "reason": "Author explicitly seeks a Klaviyo alternative due to rising costs and broken flows before October renewal.", "icpFit": 95},
"aiModel": "google:gemini-3.6-flash"
}

The AI tells a real shopper from a vendor or a joke and writes the reply — the 20 minutes a day of reading you skip.

Try the AI on any plan: the free demo shows labelled sample AI verdicts (aiModel: "sample"). Without model access, your first real leads can get live verdicts on the developer's key (OUTPUT.aiTrial). Then your own key (llmProvider: byok): a free Gemini key (aistudio.google.com/apikey) assesses a few leads per run; a paid Gemini / Groq key (billing on, ≈ $0.005 per lead) assesses every lead.

⚙️ Input

{"productKeywords": ["invoicing app"], "offer": "Invoicing app for freelance designers", "competitorNames": ["FreshBooks"], "sourceMode": "actor", "maxDiscoveryChargeUsd": 0.5}

Input options

Flags

Put a flag name into targetFlags; an unknown name stops the run with the valid list.

📤 Output

One item per qualified lead — JSON, CSV, Excel or a webhook.

Output fields

Upsert key for a CRM or Sheet: dedupeKey — tweet:<tweetId>, the key the cross-run memory uses, so one tweet is one row however many runs find it; authorId groups one person's tweets.

⭐ Found it useful? A review on the Store helps others find it — it takes a minute on the Actor's page.

🔁 Run it weekly

  1. Open the saved task and click Schedule — your first real run saves its search as a task and links it in the status (OUTPUT.scheduleTaskUrl). Add notifyEmail: every run with new leads e-mails the digest and the trend.
  2. Keep dedupeAcrossRuns: true — charged tweets and authors are remembered per search; a lead you paid for in another search is delivered free (already-charged). Several clients: one dedupeStoreName each.
  3. Add slackWebhookUrl, discordWebhookUrl or webhookUrl / Google Sheets for the rows themselves — start from the ready tracker sheet (dedupeKey first to upsert on, your status / owner columns next to it).
  4. From run two, OUTPUT.history and the REPORT page show every run.
  5. A scheduled run covers the days since the last one (1,000 tweets, capped by maxDiscoveryChargeUsd).

Weekly cost is the new leads only: 1,000 tweets a week → ≈ 40 new leads in week 1 → 40 × $0.009 = $0.36 here + $0.15 of X Tweet Scraper on your account; from week 2 the memory drops what week 1 delivered.

🎯 Try it for your niche

Copy the input into the form (JSON view), run it once, then schedule it.

NicheWhat it looks forStart
SaaS founder (invoicing app)invoicing-app requests, FreshBooks / HoneyBook switchersinput below
B2B SDR (CRM)CRM requests from sales leaders, score ≥ 70input below
Competitor conquesting (PM tool)Asana / Monday.com / ClickUp complaints and switchersinput below

🧹 Already scraping X? Qualify your Twitter scraper data

Ran apidojo/tweet-scraper, kaitoeasyapi/twitter-x-data-tweet-scraper-pay-per-result-cheapest or X Tweet Scraper already? Pass that run's dataset ID in datasetId: no new scrape, no source cost — you pay only per qualified lead.

🔌 Integrations, automation and API

  • After your tweet scraper — the scraper's run succeeded → a webhook or a Make / n8n step starts this Actor with {"datasetId": "<the scraper's defaultDatasetId>", "enableAi": false} (rules only; set enableAi to true for AI verdicts). Works with apidojo/tweet-scraper and kaitoeasyapi output as-is.

List-mode rows — what a pasted record needs

sourceMode: "list" (and dataset) run on any Apify plan: rows in the xquik/x-tweet-scraper flat shape (start from the ready template), or apidojo/tweet-scraper / kaitoeasyapi output with its nested author object.

Run outcomes — what your integration sees

👥 Who is it for?

You are…You run it to…Start with
A SaaS founder / indie hackerfind people asking for a tool like yours today and answer firstproductKeywords + offer, AI on
An SDR or growth marketer (B2B)a daily ranked list of in-market prospects with role and company, in Slack or the CRM+ icpBioKeywords, minScore: 70
An agencyone saved task per client, scheduled, webhook to each client's pipelineone dedupeStoreName + webhookUrl per client
A competitor-conquesting teampeople complaining about or leaving a named competitorcompetitorNames, intentTypes: ["alternative_seeking", "pain_point"]

🧠 How the AI works

  • Grounded. One tweet + the public profile per call; the need must be a verbatim quote and role / company must appear in the bio, else the rule value or null is kept.
  • Replies are checked. A link other than offerUrl, a number not in the tweet or offer, or a "happy customer" claim → the template; weak leads and non-buyers get none.
  • Tokens only where they matter. Every tweet past the free filters (rule intent ≥ 30), best rule score first, capped at aiCandidateMultiplier × maxQualified.
  • Model. anthropic/claude-haiku-4.5 via Apify's model access, or llmProvider: "byok" with your own key (a Gemini key runs google:gemini-3.6-flash, a Groq or Anthropic key that provider's model); if it fails, leads keep the rule verdict.

🔒 Data, compliance and limits

  • Public tweets and profiles only, via X Tweet Scraper on your account — no X login; an e-mail only when the author published it in the bio. Not affiliated with X Corp. The Actor never posts — replies are drafts you send.
  • X search returns what X indexes; niche terms can return few tweets. Use the output within X's terms and GDPR / CCPA.

❓ FAQ

How much will one run cost me? 500 tweets ≈ $0.075 on your account, capped by maxDiscoveryChargeUsd ($0.50); ≈ 20 leads × $0.009 with AI (× $0.0025 without) here, the first 25 free, plus ≈ $0.005 tokens each.

Why pay when X Advanced Search is free? For a one-off look at a live thread it wins. It has no scoring, junk removal, export, API, schedule or memory — you read every tweet, every day. This is the X Advanced Search alternative for doing it daily.

How is this an Octolens alternative? Octolens and Brand24 sell monthly seats; here you pay per new qualified lead, with a reply draft, and nothing when nothing new shows up. Octolens also watches Reddit, LinkedIn and Hacker News: this Actor covers X; LinkedIn is LinkedIn Buying Intent Leads; Reddit and Hacker News are on the roadmap.

Which Apify plan do I need? Any plan runs the free demo. The live X search and Apify's model access need a plan that can run Store Actors; on the free plan use dataset / list mode and llmProvider: "byok" — a free key assesses a few leads per run, a paid Gemini / Groq key (billing on) every lead.

🧩 More Actors from the same developer

Not quite your use case? The same pay-per-qualified-result model, closest to this Actor's buyers first:

🆘 Support

Something missing or wrong? Open an issue on the Actor's page.

📝 Changelog

One line per published build, newest first — what changed for you: output, status messages, prices.

  • 0.1.6 (2026-10-17) — A lead you already paid for in another search (after adding a keyword or rewording your offer) is still delivered, marked already-charged, and never billed twice; If X Tweet Scraper changes its output format, the run now stops with a clear reason and charges nothing, instead of quietly finishing with 0 leads; With your own key and no model chosen, the AI now uses that key's provider: a free Gemini key runs Gemini, and a Groq or Anthropic key runs that provider's model. Before, a Gemini key was sent to an Anthropic model and failed.
  • 0.1.5 (2026-10-04) — Bring your own data: send rows in itemsList or a dataset ID in datasetId and the Actor picks the mode itself, starts no source Actor and charges only for the analysis. Fields it cannot read are listed in the run log instead of being dropped silently.
  • 0.1.4 (2026-09-27) — clearer Store listing: title, keywords and the first screen.
  • 0.1.3 (2026-09-27) — your offer alone starts a live search (terms read from it, OUTPUT.termsFromOffer); scheduled runs cover the days since the last run and scan 1,000 tweets (OUTPUT.scheduledSizing); views and snippets use score / label; the status says only "N free leads left".
  • 0.1.2 (2026-09-27) — AI on without model access: your first real leads get live verdicts; a live run saves its search as a task you schedule in one click; the digest and report name the LinkedIn sibling; HubSpot / Pipedrive recipe.
  • 0.1.1 (2026-09-27) — initial release: buying-intent leads from X with free junk filters, the quoted need, ICP fit and a reply draft.