X / Twitter B2b Email Scraper avatar

X / Twitter B2b Email Scraper

Pricing

from $5.99 / 1,000 results

Go to Apify Store
X / Twitter B2b Email Scraper

X / Twitter B2b Email Scraper

Twitter B2B Email Scraper extracts publicly available business emails, profile data, company details, and contact information from Twitter/X profiles. Ideal for lead generation, sales prospecting, outreach campaigns, market research, and building targeted B2B contact lists fast.

Pricing

from $5.99 / 1,000 results

Rating

0.0

(0)

Developer

ScrapeVanta

ScrapeVanta

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Share

Twitter X B2B Lead Generator Email Scraper — Ranked X / Twitter Outreach List

Search X / Twitter by keyword for business email addresses, verify every one, and get the list back in the order it should be worked — with the reason each lead sits where it does.


What it does

1. Every address is checked before you see it

Every address goes through the same checks:

CheckWhat it answers
SyntaxIs this actually an address, or a fragment like logo@2x.png?
MX recordsDoes the domain publish mail servers and accept mail at all?
Role mailboxIs this info@/sales@/support@ — a desk rather than a person?
Free providerGmail, Outlook, Yahoo and several hundred others
Throwaway inboxKnown disposable-email providers, plus the public blocklist
ConfidenceA 0–100 score combining all of the above

Filter on any of them: minimumConfidence, excludeRoleAccounts, excludeFreeProviders, excludeDisposableEmails, requireMxRecord.

requireMxRecord drops addresses whose domain has no MX record and those where the lookup could not be completed — an unknown result is not evidence that a domain accepts mail.

2. One inbox is counted once

De-duplication is on the canonical inbox, not the raw string. J.Smith@Gmail.com, jsmith@gmail.com and j.smith+news@gmail.com are one Gmail inbox and are returned once.

3. The X / Twitter profile behind each address

The result link is parsed into the identity behind it:

  • profileHandle — the account name
  • profileType — what kind of page it is
  • profileUrl — a canonical link to the profile
  • platformName / platformHost

For example https://twitter.com/jack becomes handle @jack of type profile.

4. The list comes back in send order

Every lead is ranked and segmented, and a final outreachPlan record lists them in the order to work:

SegmentWho it reachesTypical rank
decision-makerceo@, founder@, owner@, director@~90
named-personj.doe@, firstname.lastname@~88
commercialsales@, bookings@, marketing@, press@60–80
front-deskinfo@, hello@, support@44–58
back-officebilling@, careers@, legal@24–36
unreachablenoreply@, postmaster@0

Two rules override the segment, because they decide whether the message arrives at all:

  • a domain that publishes no MX records is capped near the bottom — nothing can be delivered there;
  • a no-reply mailbox scores zero regardless of how confident the address is.

Every field the rank is built from (mailboxDepartment, reachesAPerson, hasMxRecord, isFreeProvider, confidence) is on the row, so the ordering can be argued with rather than taken on trust. Set minimumOutreachRank to drop the bottom of the list entirely.

This is a ranking, not a reply prediction — nothing here sends anything.

5. Which query templates earned their cost

The run summary reports pages scanned, results seen and leads returned per query template, plus searchPatternsWithNoLeads. Every lead carries the searchPattern that produced it.


Input

FieldTypeDefaultWhat it does
keywordsarrayWhat to search for
countrystringUnited StatesWhich country's results to search
emailTypestringB2CB2B returns company domains, B2C returns free-provider addresses
maxEmailsinteger20Stop after this many
verifyEmailsbooleantrueRun the checks above
minimumConfidenceinteger0Drop anything scoring lower
excludeRoleAccountsbooleanfalseDrop info@, sales@, …
excludeFreeProvidersbooleanfalseDrop Gmail, Outlook, …
excludeDisposableEmailsbooleantrueDrop throwaway inboxes
requireMxRecordbooleanfalseOnly domains that accept mail
useDisposableBlocklistbooleantrueLoad the public throwaway list
includeResultSnippetbooleantrueKeep the text each address was found in
emitRunSummarybooleantrueAppend the totals and the template report
minimumOutreachRankinteger0Drop leads ranked below this
emitOutreachPlanbooleantrueAppend the send order

Output

{
"recordType": "lead",
"platform": "X / Twitter",
"email": "j.doe@acme.com",
"emailCategory": "business",
"confidence": 95,
"hasMxRecord": true,
"isFreeProvider": false,
"outreachRank": 88,
"outreachSegment": "named-person",
"mailboxDepartment": null,
"reachesAPerson": true,
"searchKeyword": "fitness",
"searchPattern": "bio_email_basic",
"profileHandle": "@jack",
"profileUrl": "https://twitter.com/jack",
"sourceUrl": "https://twitter.com/jack"
}

A final summary record carries the run totals, the category breakdown, the top email domains and the per-template report.


Good to know

  • This searches a public search engine for pages on X / Twitter. It reads what is publicly indexed; it does not sign in to X / Twitter and cannot see anything private.
  • Only addresses that are already public are returned. Nothing is guessed, generated or pattern-matched from a name.
  • Verification is a DNS check, not a mailbox check. hasMxRecord says the domain accepts mail. It cannot say a specific inbox exists.
  • Coverage depends on what is indexed. An address that appears nowhere in a public search result will not be found.
  • Contact your prospects lawfully. Under GDPR, CAN-SPAM and similar rules you need a lawful basis for unsolicited contact, and the fact that an address is public is not on its own that basis.