LinkedIn Posts
A person's posts and engagement activity on LinkedIn.
Overview
Contact LinkedIn Posts capture what individual prospects are publicly saying about their priorities, challenges, and initiatives.
We track millions of professional LinkedIn profiles, optimizing coverage by seniority, title, and account importance. Each post is analyzed to extract structured pain points, initiatives, technologies mentioned, and competitors referenced—turning unstructured social content into actionable signal.
The result: you can reference a prospect's own words in outreach, understand what they care about before the first call, and time your message to what's top of mind for them right now.
How we build and maintain coverage: Our monitoring pool is designed to maximize buyer coverage across your highest-value accounts while maintaining a well-distributed sample across geographies, industries, and company sizes.
We continuously ingest new LinkedIn profile URLs and evaluate whether we can successfully gather posts from them. We plan to roughly double the total number of contacts in our monitoring pool in the near term - expanding coverage for mid-market, SMB, and international segments.
Subtype
| Signal | Subtype Enum | Description |
|---|---|---|
| LinkedIn post | linkedinPost | Contact's recent posts on LinkedIn |
Schema
{
"signal_id": "5349e887-baee-4974-aa3e-02294badfa94",
"signal_type": "linkedin-post-contact",
"signal_subtype": "linkedinPost",
"signal_name": "Contact posted on LinkedIn",
"association": "contact",
"detected_at": "2026-01-22T15:36:11.235Z",
"contact": {
"email": "[email protected]",
"name": "Aditya Shankar",
"first_name": "Aditya",
"last_name": "Shankar",
"job_title": "Senior Director of Marketing",
"linkedin_url": "linkedin.com/in/aditya-shankar"
},
"company": {
"name": "hosted.ai",
"domain": "hosted.ai",
"linkedin_url": "linkedin.com/company/hostedai",
"description": "AI infrastructure company",
"industries": [
"Software Development"
],
"employee_count_low": 11,
"employee_count_high": 50
},
"data": {
"post_url": "https://www.linkedin.com/feed/update/urn:li:activity:7416003205425303552/",
"post_text": "The inaugural AI Leadership Forum exceeded my expectation. We brought together 80 leaders across tech, infrastructure, and VC. The 'Agentic Workforce' is here. We must treat AI agents with the same rigor as FTEs.",
"posted_date": "2026-01-11T06:29:06.850Z",
"num_likes": 116,
"num_comments": 4,
"tags": [
"Artificial Intelligence",
"Events",
"Digital Transformation",
"Workforce Management"
],
"summary": "Senior Director of Marketing reflects on successful AI Leadership Forum hosting 80 leaders.",
"pain_points": [],
"initiatives": [
{
"topic": "hosting AI Leadership Forum",
"urgency": 0.9
},
{
"topic": "establishing new office in HSR",
"urgency": 0.8
}
],
"technologies_mentioned": [
{
"name": "AI Agents",
"status": "using"
},
{
"name": "DeepSeek",
"status": "considering"
}
],
"competitors_mentioned": [
{
"name": "packet.ai"
},
{
"name": "GPUaaS.com"
}
]
}
}Field Reference
Core Fields
| Field | Type | Description |
|---|---|---|
signal_id | string (UUID) | Unique identifier for this signal |
signal_type | string | Always "linkedin-post-contact" |
signal_subtype | string | Always "linkedinPost" |
signal_name | string | Always "Contact posted on LinkedIn" |
association | string | Always "contact" |
detected_at | string (ISO 8601) | When we detected this signal |
Contact Object
| Field | Type | Description |
|---|---|---|
contact.email | string | Contact's email address |
contact.name | string | Contact's full name |
contact.first_name | string | Contact's first name |
contact.last_name | string | Contact's last name |
contact.job_title | string | Contact's job title |
contact.seniority_level | string | Seniority level (e.g., "senior", "head", "director") |
contact.department | string | Department (e.g., "Marketing", "Engineering") |
contact.linkedin_url | string | Contact's LinkedIn URL |
contact.city | string | Contact's city |
contact.state | string | Contact's state |
contact.country | string | Contact's country |
Company Object
| Field | Type | Description |
|---|---|---|
company.name | string | Company name |
company.domain | string | Company website domain |
company.linkedin_url | string | LinkedIn company URL |
company.industries | array[string] | Industry classifications |
company.employee_count_low | integer | Lower bound of employee count |
company.employee_count_high | integer | Upper bound of employee count |
company.description | string | Company description |
Data Object
| Field | Type | Description |
|---|---|---|
data.post_url | string (URL) | Link to the LinkedIn post |
data.post_text | string | Full post content |
data.posted_date | string (ISO 8601) | When the post was published |
data.num_likes | integer | Number of likes on the post |
data.num_comments | integer | Number of comments on the post |
data.tags | array[string] | Gemini-generated topic tags (~300 possible values) |
data.summary | string | LLM-generated 10-15 word summary of the post |
data.pain_points | array[object] | Challenges or problems the contact is experiencing |
data.initiatives | array[object] | Projects or activities the contact is pursuing |
data.technologies_mentioned | array[object] | Tech products or platforms referenced |
data.competitors_mentioned | array[object] | Other companies referenced in the post |
Pain Points Object
| Field | Type | Description |
|---|---|---|
topic | string | Description of the pain point |
intensity | float (0-1) | How acute the pain is expressed (higher = more acute) |
Initiatives Object
| Field | Type | Description |
|---|---|---|
topic | string | Description of the initiative |
urgency | float (0-1) | How immediate/active the initiative is (higher = more urgent) |
Technologies Mentioned Object
| Field | Type | Description |
|---|---|---|
name | string | Name of the technology, product, or platform |
status | enum | Relationship: evaluating, using, implemented, migrating_from, migrating_to, churned, considering, integrated, building_on, hiring_for |
Competitors Mentioned Object
| Field | Type | Description |
|---|---|---|
name | string | Name of the company mentioned |
Example Output
"Karie - saw your post about growth marketing needing to be structured and data-informed. Totally agree that without a roadmap, you're just doing more. We've helped marketing leaders like you build that strategic framework. Would love to share what's worked."
Identity Resolution
Every contact LinkedIn post signal is pre-resolved to a business contact record with a work email. Here's how:
- LinkedIn profile URL captured from the post activity — this is a deterministic, unique identifier
- Profile URL matched against our contact database (250M+ contacts, 75M+ companies), ingested monthly with continuous updates from our pipeline exhaust
- Business email, job title, and company resolved from the matched record
- Company firmographic data (domain, LinkedIn URL, industries, headcount) attached
Key Points
- Business emails only. The
contact.emailfield is a professional/work email. Our domain validation excludes generic providers (gmail.com, yahoo.com, etc.). We do not deliver personal emails. - Match accuracy: 99.8%. We prefer no match over a false match — if we can't resolve a profile to a business contact with high confidence, the signal is not delivered.
- Coverage:
contact.linkedin_urlis populated on 90-98% of signals.contact.emailis populated on 85-95%. - No false positives from common names. LinkedIn profile URLs are deterministic unique identifiers — there is no ambiguity in the match.
Full matching guide with SQL examples: Resolution
Coverage
- Refresh: Every 2 weeks
- Coverage: 25-50% of contacts
- Best for: Social selling, account-based marketing, timing outreach
How Coverage Works
Our monitoring pool balances two objectives: deep buyer coverage on your most important accounts, and broad distribution across the market.
Prioritizing hot accounts. Contacts at high-value accounts—based on account importance, seniority, and title relevance—are prioritized for monitoring. This ensures the prospects most likely to appear in your pipeline have the highest likelihood of coverage.
Sampling across segments. Beyond priority accounts, we maintain a well-distributed sample across geographies, industries, and company sizes. This prevents blind spots in underrepresented segments and ensures signal coverage scales with your market, not just your ABM list.
Continuous URL ingestion. We are constantly adding new LinkedIn profile URLs to the monitoring pool and evaluating whether we can successfully gather posts from them. Profiles that are publicly accessible and active are retained; inactive or restricted profiles are cycled out.
Pool expansion. We plan to roughly double the total number of contacts in our monitoring pool in the near term. This expansion specifically targets improved coverage for mid-market and SMB companies, international markets (EMEA, APAC), and emerging industries and verticals.
Updated 9 days ago
