Twitter/X Posts (Contact)
Recent Twitter/X posts from individual contacts.
Contact Twitter Posts capture what individual prospects are publicly saying on X (formerly Twitter) — their opinions, challenges, and priorities expressed in real time.
We monitor Twitter/X accounts of hundreds of thousands of professionals, concentrating on hot buyers — senior decision-makers (Director+, VP, C-suite) at high-value accounts who actively tweet about their work. Multiple billion-dollar enterprise CRM and sales tech companies have built their entire social monitoring products on our refresh pools, validating the pool size and quality. Each tweet is analyzed to extract pain points, initiatives, technologies mentioned, and competitors referenced. Twitter’s informal nature often reveals more candid opinions than LinkedIn — prospects vent frustrations, celebrate wins, and share hot takes without the polished corporate filter.
The result: you can reference a prospect's real-time opinions in outreach, catch them in a moment of frustration with a competitor, and engage when a topic is clearly top of mind.
See real delivered data → Sample Files
Filter by topic — This signal uses Tags Taxonomy (300+ values) rather than subtypes for topic-based filtering. Use tags alongside pain_points, initiatives, and technologies_mentioned for targeting and routing.
Example Signal
What a single entry looks like in a delivered signal file:
{
"signal_id": "a1b98c32-7d4e-4f15-b8a2-39f7c6d21e94",
"batch_id": "2026-03-15-00-00-00",
"signal_type": "twitter-contact-posts",
"signal_subtype": "contactTweet",
"detected_at": "2026-03-14T16:42:18.109Z",
"association": "contact",
"company": {
"name": "Stripe",
"domain": "stripe.com", // match on domain
"linkedin_url": "linkedin.com/company/stripe",
"industries": ["Financial Services"],
"employee_count_low": 5001,
"employee_count_high": 10000,
"description": "Financial infrastructure for the internet..."
},
"contact": {
"name": "James Okafor",
"first_name": "James",
"last_name": "Okafor",
"email": "[email protected]", // match on email
"job_title": "Head of Developer Experience",
"linkedin_url": "linkedin.com/in/jamesokafor" // or match on LinkedIn URL
},
"data": {
"summary": "James Okafor expresses frustration with internal documentation tooling and announces evaluation of new developer portal platforms...",
"post_text": "Unpopular opinion: most internal developer portals are just wikis with better branding. We need something that actually integrates with the code. Evaluating options now...",
"post_url": "https://x.com/jamesokafor_dev/status/1901234567890234567",
"posted_date": "2026-03-14",
"tweet_id": "1901234567890234567",
"posting_source": "Twitter for iPhone",
"language": "en",
"is_reply": false,
"num_likes": 342,
"num_reposts": 67,
"num_replies": 48,
"num_quotes": 12,
"num_bookmarks": 189,
"num_views": 52000,
"hashtags": [{ "text": "DevEx", "indices": [142, 148] }],
"mentions": [],
"urls": [],
"tags": ["developer experience", "internal tooling", "developer portals"],
"pain_points": [
{ "topic": "internal documentation tooling inadequacy", "intensity": 0.85 },
{ "topic": "lack of code integration in dev portals", "intensity": 0.79 }
],
"initiatives": [
{ "topic": "evaluating developer portal platforms", "urgency": 0.92 }
],
"technologies_mentioned": [
{ "name": "Backstage", "status": "evaluating" },
{ "name": "Confluence", "status": "replacing" }
],
"competitors_mentioned": [
{ "name": "Backstage" },
{ "name": "Notion" }
],
"contact_twitter_handle": "@jamesokafor_dev",
"contact_twitter_url": "https://x.com/jamesokafor_dev",
"contact_twitter_bio": "Head of DevEx @stripe. Building tools that don't make engineers cry.",
"contact_twitter_followers": 8400,
"contact_twitter_following": 1200,
"contact_twitter_verified": false,
"contact_twitter_verification_type": null,
"contact_twitter_total_tweets": 3200,
"contact_twitter_dm_open": true,
"contact_twitter_location": "Seattle, WA",
"contact_twitter_account_created": "2014-03-22",
"contact_twitter_profile_picture": "https://pbs.twimg.com/profile_images/jamesokafor.jpg"
}
}Field Reference
Standard envelope and entity fields are shared across all signals - see Schema and Resolution. The fields below are specific to this signal:
Signal-Specific Fields
The data object contains everything unique to this signal type - the intelligence extracted from the contact's tweet.
| Field | Type | Description |
|---|---|---|
summary | string | One-line headline describing the tweet's sales relevance (e.g., "Head of DevEx expresses frustration with dev portals, evaluating alternatives"). Designed for notifications. Typically 10-20 words |
post_text | string | The full tweet text. Useful for referencing the prospect's exact words in outreach - especially valuable when they express frustration or announce initiatives |
post_url | string (URL) | Direct link to the tweet on X. Useful for verification and context |
posted_date | string (date) | Date the tweet was posted. Useful for recency filtering and timing outreach |
tweet_id | string | Unique Twitter/X tweet identifier. Useful for API lookups and deduplication |
posting_source | string | Application used to post (e.g., "Twitter for iPhone", "TweetDeck"). Mobile posts tend to be more spontaneous/candid |
language | string | ISO 639-1 language code. Useful for filtering |
is_reply | boolean | Whether this tweet is a reply. Replies often reveal more specific opinions |
replied_to_username | string | Username being replied to (if is_reply is true) |
num_likes | integer | Like count at time of processing |
num_reposts | integer | Repost count. High reposts on a prospect's tweet indicate their take resonated widely |
num_replies | integer | Reply count. Active discussion threads mean the prospect is engaged on this topic |
num_quotes | integer | Quote tweet count |
num_bookmarks | integer | Bookmark count. People bookmark content they intend to act on |
num_views | integer | View/impression count |
hashtags | array[object] | Hashtags used. Each entry has text (the hashtag) and indices (position in tweet) |
hashtags[].text | string | The hashtag text without the # symbol |
hashtags[].indices | array[integer] | Start and end character positions of the hashtag in the tweet |
mentions | array[string] | @mentions in the tweet. Useful for identifying who the prospect interacts with publicly |
urls | array[string] | URLs shared in the tweet |
tags | array[string] | Topic tags extracted from the tweet. Useful for signal filtering |
pain_points | array[object] | Frustrations expressed in the tweet. Each entry has topic and intensity (0.0-1.0). Twitter's informal tone often produces higher-signal pain points than LinkedIn |
pain_points[].topic | string | Description of the pain point |
pain_points[].intensity | float (0.0-1.0) | How strongly expressed. Higher = more frustrated |
initiatives | array[object] | Projects or evaluations the contact mentions. Each entry has topic and urgency (0.0-1.0) |
initiatives[].topic | string | Description of the initiative |
initiatives[].urgency | float (0.0-1.0) | How immediate. Higher = more active |
technologies_mentioned | array[object] | Technologies referenced. Each entry has name and status (in_use, evaluating, replacing, mentioned) |
technologies_mentioned[].name | string | Name of the technology |
technologies_mentioned[].status | string | Relationship to the technology |
competitors_mentioned | array[object] | Competitors named. Each entry has name |
competitors_mentioned[].name | string | Competitor name |
quoted_tweet.text | string | Text of a quoted tweet, if applicable |
quoted_tweet.author.name | string | Display name of the quoted author |
quoted_tweet.author.userName | string | Handle of the quoted author |
contact_twitter_handle | string | The contact's Twitter/X handle |
contact_twitter_url | string (URL) | Link to the contact's Twitter/X profile |
contact_twitter_bio | string | The contact's Twitter bio. Often reveals how they see themselves professionally |
contact_twitter_followers | integer | Follower count. Useful for gauging the contact's influence |
contact_twitter_following | integer | Following count |
contact_twitter_verified | boolean | Whether the account is verified |
contact_twitter_verification_type | string | null | Verification type if verified |
contact_twitter_total_tweets | integer | Total tweets. High counts indicate active, engaged users |
contact_twitter_dm_open | boolean | Whether DMs are open. Useful for social selling - open DMs are an additional outreach channel |
contact_twitter_location | string | Location from the contact's profile |
contact_twitter_account_created | string (date) | When the account was created |
contact_twitter_profile_picture | string (URL) | Profile picture URL |
Timing & Delivery
detected_atis when we processed the tweet. Useposted_datefor the original publication time.- One signal per contact per tweet. Multiple tweets from the same person generate separate signals.
- Each delivery arrives in a timestamped folder. Treat all signals in a new folder as recent - no need to diff against prior deliveries.
Coverage
- Refresh: Monthly
- Coverage: Hundreds of thousands of professional Twitter/X accounts (senior decision-makers)
- Best for: Catching real-time frustrations and vendor evaluations, personalizing outreach with prospect's candid opinions, identifying open DMs for social selling
Updated 19 days ago
