B2B Lead Discovery by Job Title & Location
Find public LinkedIn profiles by job title, location, or company using cookieless web search. Returns names, best-effort titles and companies, locations when shown, canonical profile URLs, and quality flags. No verified emails or phone numbers.
Input schema
Input fields, types, required flags, descriptions, defaults, and prefills come from the published definition. Prefill examples are distinct from defaults.
| Field | Type | Required | Description |
|---|---|---|---|
jobTitles | array | required | Job titles to search for (e.g. 'Software Engineer', 'CEO', 'Marketing Manager'). Each title generates a separate search query. |
locations | array | optional | Locations to target (e.g. 'New York', 'California', 'United States'). Leave empty to search globally. |
companyNames | array | optional | Specific companies to target (max 5). Leave empty to search all companies. |
Show all input fields
| Field | Type | Required | Description |
|---|---|---|---|
jobTitles | array | required | Job titles to search for (e.g. 'Software Engineer', 'CEO', 'Marketing Manager'). Each title generates a separate search query. |
locations | array | optional | Locations to target (e.g. 'New York', 'California', 'United States'). Leave empty to search globally. |
companyNames | array | optional | Specific companies to target (max 5). Leave empty to search all companies. |
maxLeads | integer | optional | Maximum number of leads to return (1-100). |
includeEmailGuess | boolean | optional | Add a best-effort email guess derived from name + company domain. Guesses are NOT verified and may be wrong. Off by default. |
proxyConfiguration | object | optional | Optional Apify proxy configuration. Yahoo may block datacenter IPs. |
Download the published input schema
View complete JSON
{
"description": "Find public LinkedIn profiles by job title, location, and company using cookieless Yahoo search. Returns name, title, company, location, profile URL, and data-quality flags. No login or API keys.",
"properties": {
"companyNames": {
"default": [],
"description": "Specific companies to target (max 5). Leave empty to search all companies.",
"editor": "stringList",
"items": {
"type": "string"
},
"title": "Company Names",
"type": "array"
},
"includeEmailGuess": {
"default": false,
"description": "Add a best-effort email guess derived from name + company domain. Guesses are NOT verified and may be wrong. Off by default.",
"title": "Include Unverified Email Guess",
"type": "boolean"
},
"jobTitles": {
"description": "Job titles to search for (e.g. 'Software Engineer', 'CEO', 'Marketing Manager'). Each title generates a separate search query.",
"editor": "stringList",
"items": {
"type": "string"
},
"minItems": 1,
"prefill": [
"CEO"
],
"title": "Job Titles",
"type": "array"
},
"locations": {
"default": [],
"description": "Locations to target (e.g. 'New York', 'California', 'United States'). Leave empty to search globally.",
"editor": "stringList",
"items": {
"type": "string"
},
"title": "Locations",
"type": "array"
},
"maxLeads": {
"default": 25,
"description": "Maximum number of leads to return (1-100).",
"maximum": 100,
"minimum": 1,
"prefill": 1,
"title": "Max Leads",
"type": "integer"
},
"proxyConfiguration": {
"description": "Optional Apify proxy configuration. Yahoo may block datacenter IPs.",
"editor": "proxy",
"title": "Proxy configuration",
"type": "object"
}
},
"required": [
"jobTitles"
],
"schemaVersion": 1,
"title": "Lead Finder Input",
"type": "object"
}
Output schema
Published result links and storage locations. This schema is not an exhaustive contract for every field in a dataset record.
| Field | Type | Required | Description |
|---|---|---|---|
results | string | optional | Dataset with discovered B2B leads |
Download the published output schema
View complete JSON
{
"actorOutputSchemaVersion": 1,
"description": "B2B leads with name, job title, company, LinkedIn profile, location, and data-quality flags.",
"properties": {
"results": {
"description": "Dataset with discovered B2B leads",
"template": "{{links.apiDefaultDatasetUrl}}/items",
"title": "Leads",
"type": "string"
}
},
"title": "B2B Lead Discovery by Job Title & Location Output"
}
Dataset schema
Published dataset views and any declared field definitions. A view can select only a subset of the returned record fields.
Download the published dataset schema
View complete JSON
{
"actorSpecification": 1,
"title": "Lead Finder Results",
"views": {
"detailed": {
"display": {
"component": "table",
"properties": {
"company": {
"format": "text",
"label": "Company"
},
"emailGuess": {
"format": "text",
"label": "Email Guess (Unverified)"
},
"emailGuessStatus": {
"format": "text",
"label": "Email Guess Status"
},
"linkedinUrl": {
"format": "link",
"label": "LinkedIn URL"
},
"location": {
"format": "text",
"label": "Location"
},
"name": {
"format": "text",
"label": "Name"
},
"position": {
"format": "number",
"label": "Position"
},
"scrapedAt": {
"format": "text",
"label": "Scraped At"
},
"sourceQuery": {
"format": "text",
"label": "Source Query"
},
"title": {
"format": "text",
"label": "Title"
}
}
},
"title": "Detailed View",
"transformation": {
"fields": [
"name",
"title",
"company",
"location",
"linkedinUrl",
"sourceQuery",
"position",
"emailGuess",
"emailGuessStatus",
"scrapedAt"
]
}
},
"overview": {
"display": {
"component": "table",
"properties": {
"company": {
"format": "text",
"label": "Company"
},
"linkedinUrl": {
"format": "link",
"label": "LinkedIn"
},
"location": {
"format": "text",
"label": "Location"
},
"name": {
"format": "text",
"label": "Name"
},
"title": {
"format": "text",
"label": "Title"
}
}
},
"title": "Leads Overview",
"transformation": {
"fields": [
"name",
"title",
"company",
"location",
"linkedinUrl"
]
}
}
}
}
Key-value schema
Published key-value store definitions, when provided by this build.
This definition is not present in the default published build. See the published README for available documentation.
Published README
Read the full published documentation
B2B Lead Discovery by Job Title & Location
Find public LinkedIn profiles by job title, location, and company using cookieless Yahoo search. No login, cookies, or API keys are required.
What this actor does
- Builds
site:linkedin.com/inqueries from one or more job titles, optionally combined with locations and company names. - Parses public search-result snippets into lead records and deduplicates by canonical LinkedIn profile URL.
- Adds honest data-quality flags instead of presenting inferred values as verified facts.
- Optionally adds an explicitly unverified email-pattern guess. It never claims a mailbox was verified.
Output per lead
| Field | Description |
|---|---|
name |
Profile name. |
title |
Current headline/title when the card or snippet exposes it. |
company |
Company when exposed by the card, snippet, or title. |
location |
Location when exposed by the card, snippet, or title. |
linkedinUrl |
Canonical https://www.linkedin.com/in/<slug> URL. |
snippet |
Public Yahoo search snippet (truncated). |
sourceQuery |
Query that produced the lead. |
position |
Position on the results page (stable ordering). |
scrapedAt |
ISO 8601 UTC timestamp. |
dataQuality |
title, company, and location are verified, inferred, missing, or mismatch; partial is added when the query plan was capped or a query failed. |
emailGuess / emailGuessStatus / emailGuessNote |
Only with includeEmailGuess; a pattern guess whose domain has MX records. Not verified. |
Fields that cannot be resolved are omitted rather than filled with placeholders.
Input
| Field | Type | Default | Description |
|---|---|---|---|
jobTitles |
array | required | Titles to search, e.g. ["CEO", "VP of Marketing"] (max 10). |
locations |
array | [] |
Locations such as "Austin, Texas" (max 10). |
companyNames |
array | [] |
Companies to target (max 5). |
maxLeads |
integer | 25 |
Maximum leads to return (1-100). |
includeEmailGuess |
boolean | false |
Add unverified name/domain email guesses. |
proxyConfiguration |
object | none | Optional Apify proxy. Yahoo may block datacenter IPs. |
Hard limits: 24 queries per run, 3 pages per query, 5 leads per company.
Example
{
"jobTitles": ["CEO"],
"locations": ["Austin, Texas"],
"maxLeads": 25
}
Data quality and limits
- Yahoo Search is an unofficial, cookieless source and may block or throttle requests. The actor retries and can use Apify proxy, but runs can return partial results.
- Location fill is roughly 50% and location precision among filled rows is about 75%; some snippets omit location entirely.
- Titles/companies can be inferred from headlines. Check
dataQualitybefore using a row for outreach. - Verified email and phone are not available from public search alone; email guesses are unverified pattern guesses, not mailbox checks.
Use cases
- Recruiting and sourcing by title and region.
- Market/account mapping across named companies.
- Building shortlists for manual review before outreach.
Backward-compatible fields
The pre-revamp snake_case output is preserved alongside the new fields: full_name, first_name, last_name, linkedin_url, company_name, company_domain, email, and scraped_at. They are emitted only when a value exists; email is the same unverified guess as emailGuess.
Python quickstart
Use a schema-derived input and the Python standard library to start a run. An Apify account and token are required for execution.
Source build 7RJl92cbfyYuYVKbK. Documentation is regenerated from the default published build; private drafts are not included.