Build Account-Based Marketing from LinkedIn Companies (2026)
Build ABM target lists from LinkedIn companies using Thirdwatch. Buying-committee mapping + headcount signals + recipes.

Thirdwatch's LinkedIn Company Employees Scraper makes ABM list-building a structured workflow — buying-committee mapping, headcount-velocity tracking, real-time stakeholder identification. Built for B2B SaaS ABM teams, enterprise sales-development, B2B agency prospecting, and ABM-platform builders.
Why build ABM from LinkedIn companies
LinkedIn is the canonical B2B people-data source. According to LinkedIn's 2024 State of Sales report, 84% of B2B buyers research vendors via LinkedIn before purchase with 1B+ professional profiles + verified company-employee relationships. For ABM (Account-Based Marketing) teams running multi-stakeholder pipelines on enterprise accounts, LinkedIn-derived buying-committee maps are the canonical pipeline foundation.
The job-to-be-done is structured. A B2B SaaS ABM team builds 200-account target lists with 5-10 buying-committee stakeholders each (1000-2000 contacts) per quarter. An enterprise sales-development team maps live deal-cycle accounts for multi-thread outreach. A B2B agency prospects 50 target accounts monthly with full org-charts. An ABM-platform builder ingests LinkedIn data for customer-facing ABM products. All reduce to per-account employee-list extraction + buying-committee filtering + headcount-velocity tracking.
How does this compare to the alternatives?
Three options for ABM company-employee data:
| Approach | Cost per 200 accounts × 10 stakeholders | Reliability | Setup time | Maintenance |
|---|---|---|---|---|
| Apollo / ZoomInfo | $20K-$100K/year | 12-24mo lag | Days | Annual contract |
| LinkedIn Sales Navigator | $120/user/month | Real-time, rate-limited | Hours | Manual searches |
| Thirdwatch LinkedIn Companies | Pay per result | Lightweight HTTP path | 5 minutes | Thirdwatch tracks LinkedIn |
The LinkedIn Companies actor page gives you raw real-time employee data at the lowest unit cost.
How to build ABM in 4 steps
Step 1: Authenticate
export APIFY_TOKEN="apify_api_xxxxxxxxxxxxxxxx"Step 2: Pull employee lists for target accounts
import os, requests, pandas as pd
ACTOR = "thirdwatch~linkedin-company-employees-scraper"
TOKEN = os.environ["APIFY_TOKEN"]
TARGET_ACCOUNTS = [
"https://www.linkedin.com/company/stripe/",
"https://www.linkedin.com/company/notion/",
"https://www.linkedin.com/company/figma/",
"https://www.linkedin.com/company/anthropic/",
"https://www.linkedin.com/company/scale-ai/",
]
resp = requests.post(
f"https://api.apify.com/v2/acts/{ACTOR}/run-sync-get-dataset-items",
params={"token": TOKEN},
json={"companyUrls": TARGET_ACCOUNTS, "maxResultsPerCompany": 200},
timeout=3600,
)
df = pd.DataFrame(resp.json())
print(f"{len(df)} employees across {df.company.nunique()} target accounts")Step 3: Identify buying-committee stakeholders
DECISION_TITLES = [
r"\bCEO\b", r"\bCTO\b", r"\bCFO\b", r"\bCIO\b",
r"VP\b.*Engineering", r"VP\b.*Sales", r"VP\b.*Marketing",
r"Head of\b.*RevOps", r"Head of\b.*Operations",
r"Director\b.*Engineering", r"Director\b.*IT",
]
import re
def is_decision_maker(title):
if not isinstance(title, str): return False
return any(re.search(p, title) for p in DECISION_TITLES)
df["is_decision_maker"] = df.title.apply(is_decision_maker)
buying_committee = df[df.is_decision_maker]
print(f"{len(buying_committee)} buying-committee stakeholders across "
f"{buying_committee.company.nunique()} target accounts")
print(buying_committee.groupby(["company", "title"]).size().head(20))Step 4: Export ABM list with engagement-priority
# Score by seniority + role-fit (selling RevOps tools example)
def role_fit(title):
t = str(title).lower()
if "revops" in t or "rev ops" in t: return 5
if "sales operations" in t: return 4
if "vp sales" in t or "head of sales" in t: return 3
if "ceo" in t or "cro" in t: return 3
return 1
buying_committee = buying_committee.copy()
buying_committee["fit_score"] = buying_committee.title.apply(role_fit)
# Sort by fit + experience tenure
priority = buying_committee.sort_values(
["fit_score", "tenure_years"], ascending=[False, False]
)
priority[["company", "name", "title", "fit_score",
"linkedin_url"]].to_csv("abm-priority-list.csv", index=False)
print(f"Top 20 ABM priority outreach contacts:")
print(priority[["company", "name", "title", "fit_score"]].head(20))CSV exports to your CRM or sales-engagement tool. Multi-thread outreach across 5-10 stakeholders per account = 3-5x conversion vs single-contact outreach.
Sample output
{
"name": "Sarah Chen",
"title": "VP of Engineering",
"company": "Notion",
"company_size": "501-1000 employees",
"location": "San Francisco, CA",
"current_position_start": "2023-06",
"tenure_years": 2.8,
"linkedin_url": "https://www.linkedin.com/in/sarah-chen-eng/",
"is_decision_maker": true
}Common pitfalls
Three things go wrong in ABM list-building pipelines. Stale title data — recently-promoted/departed stakeholders show pre-change titles for 30-60 days; verify via cross-snapshot diff before high-stakes outreach. False-positive decision-makers — Director-level at large enterprises (10K+) often manages teams without budget authority; for enterprise targets, focus VP+ tier. Multi-stakeholder coordination — multi-threading ABM requires CRM coordination to avoid duplicate outreach across SDRs.
Thirdwatch's actor uses a lightweight HTTP path so you pay only for the data, not for proxy or compute overhead. Pair with LinkedIn Profile Scraper for deep-profile enrichment on top stakeholders + Career Sites Scraper for company-headcount-velocity validation. A fourth subtle issue worth flagging: LinkedIn's "Open to Work" badge is a weak buying-intent signal — these stakeholders may transition out before deal-cycle close; cross-reference recent-job-change patterns. A fifth pattern unique to ABM at scale: enterprise accounts (5000+ employees) require multi-region buying-committee mapping (US + EU + APAC stakeholders); for global enterprise ABM, segment per region. A sixth and final pitfall: post-2024 layoff cycles distorted historical-headcount-baseline; for accurate trend research, exclude major-layoff-event windows (e.g., 2023 tech layoffs) from longitudinal analysis.
Operational best practices for production pipelines
Tier the cadence: Tier 1 (active deal-cycle accounts, weekly), Tier 2 (broader ABM list, monthly), Tier 3 (long-tail discovery, quarterly). 60-80% cost reduction with negligible signal loss when watchlist is properly tiered.
Snapshot raw payloads with gzip compression. Re-derive buying-committee classification from raw JSON as your title-pattern logic evolves. Cross-snapshot diff alerts on per-stakeholder title-changes catch role-transition signals critical for ABM timing.
Schema validation. Daily validation suite asserting expected core fields with non-null rates above 80% (required) and 50% (optional). LinkedIn schema occasionally changes during platform UI revisions — catch drift early. A seventh pattern at scale: cross-snapshot diff alerts for material headcount-velocity shifts (>20% engineering headcount growth in 90 days) catch buying-intent signals before public announcements. An eighth pattern for cost-controlled teams: implement an incremental-diff pipeline that only re-processes records whose hash changed since the previous snapshot. For watchlists where 90%+ of records are unchanged between snapshots, hash-comparison-driven incremental processing reduces downstream-compute by 80-90% while preserving full data fidelity.
A ninth pattern unique to research-grade data work: schema validation should run continuously, not just at pipeline build-time. Run a daily validation suite that asserts each scraper returns the expected core fields with non-null rates above 80% (for required fields) and 50% (for optional). Alert on schema breakage same-day so consumers don't degrade silently.
A tenth pattern around alert-fatigue management: tune alert thresholds quarterly based on actual SDR-action rates. If SDRs ignore 80%+ of alerts at a given threshold, raise the threshold. If they manually surface signals the alerts missed, lower the threshold. The right threshold drifts as your watchlist composition changes.
An eleventh and final pattern at production scale: cross-snapshot diff alerts. Beyond detecting individual changes, build alerts on cross-snapshot field-level diffs — name changes, role transitions, status changes. These structural changes precede or follow material events and are leading indicators of organization-level disruption. Persist a structured-diff log alongside aggregate snapshots: for each entity, persist (field, old_value, new_value) tuples per scrape. Surface high-leverage diffs to human reviewers; low-leverage diffs stay in the audit log.
A twelfth pattern: cost attribution per consumer. Tag every API call with a downstream-consumer identifier (team, product, feature) so you can attribute compute spend back to the workflow that drove it. When a downstream consumer's spend exceeds projected budget, you can have a precise conversation with them about the queries driving cost rather than a vague "scraping is expensive" debate.
Related use cases
Frequently asked questions
Why build ABM lists from LinkedIn companies?
LinkedIn is the canonical B2B people-data source with 1B+ professional profiles + verified company-employee relationships. According to LinkedIn's 2024 State of Sales report, 84% of B2B buyers research vendors via LinkedIn before purchase. For ABM (Account-Based Marketing) teams, LinkedIn-derived buying-committee maps are the canonical multi-stakeholder pipeline foundation.
What does an ABM company-employee map look like?
Per target account: (1) all employees with title/role; (2) buying-committee identification (typically 5-10 stakeholders for $50K+ deals: CEO, VP Eng/Sales/Marketing/RevOps, IT, Finance, end-users); (3) seniority distribution (junior/mid/senior/exec); (4) team-org structure (engineering / product / GTM headcount); (5) tenure patterns (recent hires = expansion mode, recent exits = contraction). Combined map enables multi-stakeholder ABM outreach.
How fresh do ABM lists need to be?
Monthly cadence catches material headcount shifts within 30 days — buying-committee composition typically stable but new hires + exits affect ABM strategy. For active deal-cycle research (target account in active sales-process), weekly cadence on key 5-10 stakeholders. For longitudinal ABM trend research (territory-planning), quarterly snapshots produce stable patterns.
How do I identify buying-committee members?
Three signals: (1) title-pattern matching (CEO, CTO, VP Engineering, Head of RevOps, IT Director, etc.); (2) seniority-tier (decision-makers typically VP+ for $50K+ deals); (3) team-affiliation alignment with your offering (selling sales-tools? target Sales/RevOps. Selling dev-tools? target Engineering). Combined filtering identifies 5-10 ABM stakeholders per 200-employee target account.
Can I track headcount-velocity for buying-intent signals?
Yes — and headcount-velocity is a strong intent signal. Companies adding 20%+ engineering headcount in 90 days = expansion mode (high buying intent for dev-tools, infra). Companies cutting 15%+ headcount = contraction mode (low new-tool budget, high consolidation interest). Cross-snapshot headcount-tracking catches velocity within weeks of public announcement.
How does this compare to Apollo + ZoomInfo + Sales Navigator?
Apollo (250M contacts) + ZoomInfo (300M contacts): broad B2B contact-data, often stale (12-24 month lag on title changes). LinkedIn Sales Navigator ($120/user/month): real-time but rate-limited + hard to script. The actor delivers raw real-time LinkedIn employee-data on pay-per-result pricing. For ABM list-building at scale, the actor is materially cheaper than Sales Navigator + fresher than Apollo/ZoomInfo.
Related
100 free credits, no credit card.
About 30 real searches. Add the MCP to Claude or Cursor in two minutes.