LinkedIn Decision Makers Finder
Pricing
Pay per event
LinkedIn Decision Makers Finder
Find the decision makers of any LinkedIn company. Company URL or name in, owners, founders, C level executives, VPs and directors out with seniority band, department, headline and profile URL. You pay only for decision makers whose own headline names the company you asked for. No login, no cookies.
Pricing
Pay per event
Rating
0.0
(0)
Developer
George Kioko
Maintained by CommunityActor stats
0
Bookmarked
4
Total users
3
Monthly active users
2 days ago
Last modified
Categories
Share
LinkedIn Decision Makers Finder, Owners, Founders, C Level, VPs and Directors by Company
Company in, buying committee out. Give it a LinkedIn company URL or a company name and get back the owners, founders, partners, C level executives, vice presidents and directors, each with a seniority band, a department, the current headline and the public profile URL. You pay $0.022 per decision maker whose own LinkedIn headline names the company you asked for. Everyone below director is skipped before any charge. Rows that cannot be tied to the company are delivered free.
LinkedIn Decision Makers Finder is an Apify Actor that takes a LinkedIn company URL or a company name and returns its decision makers, meaning owners, founders, partners, C level executives, vice presidents and directors, with a seniority band, a department, the current headline and the public profile URL, without a login, cookies or a LinkedIn account. It is built for cold email and lead generation agencies that start from a company list and need the buying committee, for founders doing their own outbound, and for AI agents that need a stable JSON source of decision makers by company.
Decision makers only. Seniority and department filters run before the charge. $22 per 1,000 decision makers. MCP ready for AI agents.
Pricing
| Event | Price | You pay when |
|---|---|---|
decision-maker | $0.022 | A decision maker is delivered whose own indexed LinkedIn headline names the company you asked for and who passes your seniority and department filter |
actor-start | $0.00005 | The run starts |
$22 per 1,000 decision makers. Classification into seniority band and department is included in the row price. Managers, individual contributors, interns and anyone below director are skipped before any charge. A decision maker that Google returned near your company but whose headline does not name it is delivered with charged set to false and costs nothing.
Worked example. Ten companies, maxDecisionMakersPerCompany left at 10, and the run finds 62 company matched decision makers. You pay 62 times $0.022 plus the start fee, so $1.36 in total.
What counts as a decision maker
| Band | Titles that land here | Charged |
|---|---|---|
owner | Owner, Founder, Co-Founder, Proprietor | Yes |
partner | Partner | Yes |
cxo | CEO, CTO, CFO, COO, CMO, CRO, CIO and any Chief Officer | Yes |
vp | VP, Vice President, SVP, EVP | Yes |
director | Director, Head of | Yes |
manager, senior, entry, training, unpaid, unknown | Everyone else | Never, skipped before charge |
Every row also carries a department value from this list. executive, sales, marketing, engineering, data, product, design, finance, hr, legal, support, operations and other. Pass departments to keep only the functions you sell to.
How it works
company URL or name|vGoogle SERP discovery (Apify GOOGLE_SERP proxy group, no LinkedIn login)one base query + grouped title queries (CEO, CTO, Founder, VP, Director ...)|vcandidate profiles (name, headline, profile URL)|vclassify each headline -> seniorityBand + department + isDecisionMaker|+--- not a decision maker, or outside your bands and departments| -> skipped, never chargedvcompany match bar. does the person's own headline name this company?|+--- no -> delivered free, charged false, confidence lowvyes -> charged decision-maker row ($0.022), confidence medium|vdataset, one row per decision makeroptional free diff vs your previous run (new decision makers, departures, title changes)
Google may also index a person who merely mentioned the company. That is why the company match bar exists. A row is charged only when the person's own headline names the company. Former staff whose headline reads ex or former next to the company name are not charged.
What data does it extract?
{"publicIdentifier": "thegdb","profileUrl": "https://www.linkedin.com/in/thegdb/","fullName": "Greg Brockman","firstName": "Greg","lastName": "Brockman","headline": "President and Co-Founder at OpenAI","isDecisionMaker": true,"seniorityBand": "owner","department": "executive","matchedTitles": ["President", "Co-Founder"],"titleMatchType": "partial","location": "San Francisco","company": "openai","source": "google-serp-company-matched","confidence": "medium","charged": true,"scrapedAt": "2026-09-02T10:15:09.102Z"}
| Field | Type | Description |
|---|---|---|
publicIdentifier | string | LinkedIn profile slug |
profileUrl | string | Public profile URL |
fullName, firstName, lastName | string | Name as indexed by Google |
headline | string | Current headline as indexed by Google |
isDecisionMaker | boolean | Always true on decision maker rows |
seniorityBand | string | owner, partner, cxo, vp or director |
department | string | executive, sales, marketing, engineering, data, product, design, finance, hr, legal, support, operations or other |
matchedTitles | string[] | Target titles found in the headline |
titleMatchType | string | exact, partial or none |
location | string | Location when Google exposes it, often empty |
company | string | The company slug you asked for |
source | string | google-serp-company-matched or google-serp-unverified |
confidence | string | medium when the headline names the company, low otherwise |
charged | boolean | true only on billed rows |
scrapedAt | string | Scrape time, ISO 8601 |
What is NOT returned
- Emails and phone numbers. Rows carry the name, headline, profile URL and location. Pair the profile URL with the enrichment step you already use.
- Employees below director. Managers and individual contributors are skipped before any charge. Use LinkedIn Company Employees Scraper when you need the whole company.
- Full work history, education or skills. This ships the current headline.
- Live verification of current employment. The company match bar reads the person's own indexed headline. Rows are tagged
confidencemedium when the headline names the company and low when it does not. - Anything from a logged in session. No cookies, no Sales Navigator, no account.
Input
{"companies": ["https://www.linkedin.com/company/openai"],"seniorityBands": ["owner", "cxo", "vp"],"departments": ["sales", "marketing"],"maxDecisionMakersPerCompany": 10,"location": "United States","compareWithPreviousRun": false}
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
companies | array | Yes | none | LinkedIn company URLs or company names, up to 200 per run |
seniorityBands | array | No | all five | owner, partner, cxo, vp, director. Values outside the set are ignored |
departments | array | No | any | executive, sales, marketing, engineering, data, product, design, finance, hr, legal, support, operations, other |
targetTitles | array | No | built in set | Titles that expand the Google search. CEO, CTO, CFO, COO, CMO, President, Founder, Co-Founder, Owner, Managing Director plus Spanish equivalents. Pass your own for a narrower ICP |
maxDecisionMakersPerCompany | integer | No | 10 | 1 to 50 |
location | string | No | empty | Location phrase added to the search |
searchQuery | string | No | empty | Extra keyword added to the base search |
compareWithPreviousRun | boolean | No | false | Free diff row per company vs your previous run |
maxConcurrency | integer | No | 3 | Companies processed in parallel, 1 to 10 |
proxyConfiguration | object | No | GOOGLE_SERP | Country routing honored, other groups ignored |
Use it from AI agents and code
MCP (Claude, Cursor, ChatGPT and any MCP client)
https://mcp.apify.com/?tools=george.the.developer/linkedin-decision-makers-finder
JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_TOKEN' });const run = await client.actor('george.the.developer/linkedin-decision-makers-finder').call({companies: ['https://www.linkedin.com/company/openai'],seniorityBands: ['owner', 'cxo', 'vp'],maxDecisionMakersPerCompany: 10,});const { items } = await client.dataset(run.defaultDatasetId).listItems();// every row is a decision maker; items[i].charged tells you which rows were billed
Python
from apify_client import ApifyClientclient = ApifyClient('YOUR_TOKEN')run = client.actor('george.the.developer/linkedin-decision-makers-finder').call(run_input={'companies': ['https://www.linkedin.com/company/openai'],'departments': ['sales', 'marketing'],})for item in client.dataset(run['defaultDatasetId']).iterate_items():print(item['fullName'], item['seniorityBand'], item['department'], item['profileUrl'])
HTTP
curl -X POST "https://api.apify.com/v2/acts/george.the.developer~linkedin-decision-makers-finder/runs?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"companies": ["https://www.linkedin.com/company/openai"], "maxDecisionMakersPerCompany": 10}'
Monitor new decision makers (free)
Turn on compareWithPreviousRun on a scheduled run and every run adds one free company-diff-summary row per company with the decision makers who appeared since your previous run, the ones who left the list and title changes. A new VP of Sales at a target account is a buying window. Snapshots live in a key value store in your own account and the diff rows are never charged.
{"recordType": "company-diff-summary","company": "openai","newDecisionMakers": [{ "fullName": "Jane Doe", "title": "VP of Sales", "seniorityBand": "vp" }],"newDecisionMakersCount": 1,"departures": [],"titleChanges": []}
FAQ
Do I need a LinkedIn account or cookies?
No. Discovery runs on Google search through the Apify GOOGLE_SERP proxy group. Nothing logs in to LinkedIn.
Why was a decision maker delivered free?
Because the company match bar was not met. Google returned the person near your company but their own headline does not name it. You get the row with charged false and confidence low and decide for yourself.
Does it return emails?
No. It returns the profile URL, the headline and the classification. Feed the profile URLs to the email finder you already use.
How is this different from LinkedIn Company Employees Scraper?
That Actor returns every employee it can find. This one returns only the buying committee, with seniority and department filters applied before the charge, at a start fee close to zero. Same engine, same company match bar.
What if a company yields no decision makers?
Small companies with few indexed profiles can come back empty. You pay the start fee only.
Can I run many companies at once?
Yes, up to 200 per run. Large lists on the default 20 minute timeout finish gracefully with partial coverage and the log names the suggested batch size.
Can AI agents use it?
Yes. Stable JSON schema, an output view in the Console and the MCP endpoint above.
Related Actors
- LinkedIn Company Employees Scraper at https://apify.com/george.the.developer/linkedin-company-employees-scraper returns the whole company with the same classification fields.
- LinkedIn Company by Domain at https://apify.com/george.the.developer/linkedin-company-by-domain turns a website domain into the LinkedIn company URL you feed into this Actor.
Support
Open an issue on the Issues tab. It is read.