Skip to main content
POST
/
api
/
linkedin
/
leads
/
by_icp
/
curl --request POST \
--url https://api.generect.com/api/linkedin/leads/by_icp/ \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '{
"company_link": "https://www.linkedin.com/company/slack-technologies",
"locations": [
"San Francisco, California, United States",
"New York, New York, United States",
"London, England, United Kingdom"
],
"personas": [
[
"Marketing Leaders",
[
"marketing",
"digital marketing",
"growth",
"demand generation",
"brand"
],
[
"Director",
"VP",
"Head",
"Manager"
],
[
"intern",
"coordinator",
"specialist",
"associate"
]
],
[
"Sales Executives",
[
"sales",
"business development",
"revenue",
"enterprise sales",
"account management"
],
[
"VP",
"Director",
"Head",
"Manager"
],
[
"representative",
"coordinator",
"intern",
"junior"
]
],
[
"Product Managers",
[
"product",
"product management",
"product marketing",
"product strategy",
"product operations"
],
[
"VP",
"Director",
"Head",
"Senior"
],
[
"analyst",
"coordinator",
"intern",
"associate"
]
]
],
"limit_by": 50,
"exclude_names": [
"John Smith",
"Sarah Johnson",
"Michael Brown",
"Emily Davis",
"David Wilson",
"Jennifer Garcia"
],
"filter_empty_vars": [
"job_started_on",
"profile_photo"
]
}'
{
"amount": -1,
"leads": [
{
"certifications": [],
"company_city": "San Francisco",
"company_country": "United States",
"company_description": "Fette Compacting is the world's leading provider of integrated solutions for industrial tablet production.",
"company_headcount_range": "501-1000",
"company_id": "21828",
"company_image": "https://media.licdn.com/dms/image/v2/D4E0BAQEuyU0O4IbVRQ/company-logo_200_200/company-logo_200_200/0/1720783130887/fette_compacting_gmbh_logo?e=1740009600&v=beta&t=jP_aJALpJhdsmjNIpbePqKkzUyp1-Qno9lWH9eV9g9M",
"company_industry": "Software Development",
"company_location": "San Francisco, California, United States",
"company_name": "Slack",
"company_state": "California",
"company_url": null,
"company_website": "https://slack.com",
"educations": [],
"first_name": "Sarah",
"full_name": "Sarah Chen",
"headline": "Senior Marketing Director at Slack",
"industry": "Software Development",
"is_full_data": true,
"is_job_seeker": false,
"is_openlink": false,
"is_premium": false,
"is_retired": false,
"job_description": "Lead global marketing strategy and demand generation programs to drive customer acquisition and retention. Oversee brand positioning, content marketing, and digital campaigns across all channels. Collaborate with product, sales, and growth teams to accelerate user adoption and revenue growth. Manage marketing budget allocation and performance metrics to optimize ROI and scale marketing operations globally.",
"job_ended_on": null,
"job_location": "San Francisco, California, United States",
"job_started_on": "Mar 2023",
"job_still_working": true,
"job_title": "Senior Marketing Director",
"jobs": [
{
"company_city": "Cincinnati",
"company_country": "United States",
"company_description": "ART WORKS IN ANDERSON LLC is a retail company based out of 1115 MAYCLIFFE PL, Cincinnati, Ohio, United States.",
"company_headcount_range": "11-50",
"company_id": "63587704",
"company_image": null,
"company_industry": "Retail",
"company_location": "Cincinnati, Ohio, United States",
"company_name": "Anderson Art Work / Self-employed",
"company_state": "Ohio",
"company_url": "https://www.linkedin.com/company/art-works-in-anderson-llc/",
"company_website": "http://cincinnatiartclasses.com",
"job_description": "http://www.andersonartwork.de/\nhttps://www.facebook.com/AndersonArtWork.de\nhttp://instagram.com/nicoleandersonartwork \nhttp://www.pinterest.com/AndersonAW/",
"job_ended_on": null,
"job_location": "Hamburg und Umgebung, Deutschland",
"job_started_on": "2013",
"job_still_working": true,
"job_title": "Freelance Artist",
"raw_company_name": "Anderson Art Work / Self-employed",
"raw_job_title": "Freelance Artist"
},
{
"company_city": "San Francisco",
"company_country": "United States",
"company_description": "Fette Compacting is the world's leading provider of integrated solutions for industrial tablet production.",
"company_headcount_range": "501-1000",
"company_id": "21828",
"company_image": "https://media.licdn.com/dms/image/v2/D4E0BAQEuyU0O4IbVRQ/company-logo_400_400/company-logo_400_400/0/1720783130887/fette_compacting_gmbh_logo?e=1741219200&v=beta&t=HvwsgIyJYXepYTbSz8ySstMn8d3F9LgQtRtqEeLdqKI",
"company_industry": "Software Development",
"company_location": "San Francisco, California, United States",
"company_name": "Slack",
"company_state": "California",
"company_url": "https://www.linkedin.com/company/slack-technologies/",
"company_website": "https://slack.com",
"job_description": "Lead global marketing strategy and demand generation programs to drive customer acquisition and retention. Oversee brand positioning, content marketing, and digital campaigns across all channels. Collaborate with product, sales, and growth teams to accelerate user adoption and revenue growth. Manage marketing budget allocation and performance metrics to optimize ROI and scale marketing operations globally.",
"job_ended_on": null,
"job_location": "San Francisco, California, United States",
"job_started_on": "Mar 2023",
"job_still_working": true,
"job_title": "Senior Marketing Director",
"raw_company_name": "Slack",
"raw_job_title": "Senior Marketing Director"
}
],
"languages": [
{
"name": "Englisch",
"proficiency": "FULL_PROFESSIONAL"
},
{
"name": "Deutsch",
"proficiency": "NATIVE_OR_BILINGUAL"
}
],
"last_name": "Anderson",
"linkedin_company_id": "21828",
"linkedin_id": "80282110",
"linkedin_lead_persona": "Marketing Leaders",
"linkedin_sales_link": "https://www.linkedin.com/sales/lead/ACwAAATJAf4BWNxU442ZgFSJw2zzlmG6S3zv-e0,NAME_SEARCH,OJWs",
"linkedin_url": "https://www.linkedin.com/in/sarah-chen-marketing",
"location": "San Francisco, California, United States",
"location_city": null,
"location_country": "United States",
"location_county": null,
"location_state": "California",
"middle_name": "",
"num_of_connections": 710,
"private_website": null,
"profile_photo": "https://media.licdn.com/dms/image/v2/D4D03AQHdu7xNE9zgIw/profile-displayphoto-shrink_800_800/profile-displayphoto-shrink_800_800/0/1724341778966?e=1738800000&v=beta&t=bEH4zW5MrIkRknwhvnOX5GQYRUOlIg9jib4wpsEWahE",
"raw_company_name": "Slack",
"raw_headline": "Senior Marketing Director at Slack",
"raw_job_title": "Senior Marketing Director",
"sales_id": "ACwAAATJAf4BWNxU442ZgFSJw2zzlmG6S3zv-e0",
"skills": [],
"summary": "Experienced marketing leader with 8+ years driving growth for B2B SaaS companies. Expert in demand generation, content marketing, and marketing automation platforms. Proven track record of scaling marketing operations from startup to IPO, including leading marketing teams of 20+ professionals. Specialized in product marketing, customer lifecycle campaigns, and conversion optimization.\n\nPassionate about data-driven marketing, emerging technologies, and building high-performing teams.",
"twitter_link": null,
"unformatted_full_name": "Sarah Chen"
}
],
"results_count": "within limit"
}
Parallel requests limit: 50 requests Recommended timeout: 100 seconds

Use Case:

Build a targeted list of prospects for outreach campaigns

Additional Information:

  • 50 Parallel processing available (multiple threads)
  • Supported locations:
    • List of Supported Locations.
    • In case of inputting a location which is not listed you will receive a ValidationError (free request), with Hint what location you need to edit.
  • Personas rules: (see example request first)
    • Parent List contains a list of personas (list type).
    • 1 parameter is Name (string type) - required.
    • 2 parameter is Function (list of type strings) - required
      • If words like OR operator.
      • e.g. To look for all marketing and sales titles you have to create ["marketing", "sales"] function.
    • 3 parameter is Seniority (list of type strings) - optional (if not selected, you should pass it as [ ] (empty list) )
      • It works like Logical_conjunction: in conjunction with Functions looks for a 1-to-1 match
        • For example if Seniority passed are ["Head", "Manager"].
      • e.g. To look for such titles: Head of Marketing, Head of Sales, Manager of Marketing, Manager of Sales - you have to create ["marketing", "sales"] Function and ["Head", "Manager"] Seniority.
      • Expands
        • VP automatically search for [VP, SVP, EVP, GVP]
    • 4 parameter is Prohibit Keywords (list of type strings) - optional (if not selected, you should pass it as [ ] (empty list) )
      • When at least 1 of that keyword appears in the Job Title of lead, this lead will be filtered out.
    • In case of bad input you will receive a ValidationError (free request), with Hint what you need to edit.
    • More Persona Bad Examples and Good Practise you can see here
  • limit_by rules:
    • Will return only N-strip of first leads that match input criteria
  • company_link supported formats:
  • company_types:
    • "Public Company", "Educational", "Self Employed", "Government Agency"
    • "Non Profit", "Self Owned", "Privately Held", "Partnership"
  • By default Generect is able to search up to linkedin limits (2500 results)
  • Parameter "company_locations" - companies headquarters locations
  • Parameter "company_headcounts" - headcounts of companies, vars - ["1-10", "11-50", "51-200", "201-500", "501-1000", "1001-5000", "5001-10000", "10 000+"]
  • Parameter "exclude_names" - skip leads by unformatted full name
  • Parameter "filter_empty_vars" - skip leads if variables is empty/None/False
    • available - job_started_on, profile_photo, started_at_position, company_website
  • Parameter "group" - list of groups id
  • Parameter "schools" - list of schools id
  • Parameter "past_company_names" - list of past company names
  • Parameter "years_in_company" - list of ids by time in current company
  • Parameter "years_in_position" - list of ids by time in current position
  • Parameter "linkedin_filter_link" - allows you to use pre-built LinkedIn search URLs instead of specifying individual search criteria
Time ranges for "years_in_company" & "years_in_position":
  1. “Less than 1 year”
  2. “1 to 2 years”
  3. “3 to 5 years”
  4. “6 to 10 years”
  5. “More than 10 years”
The linkedin_filter_link parameter allows you to use a pre-built LinkedIn search URL instead of manually specifying individual search criteria. This is particularly useful when you have complex search filters already configured in LinkedIn.

Supported LinkedIn URLs:

  • Sales Navigator People Search: https://www.linkedin.com/sales/search/people?query=...
  • Regular LinkedIn People Search: https://www.linkedin.com/search/results/people/?keywords=...

How it works:

  1. Create your desired search in LinkedIn (Sales Navigator or regular search)
  2. Copy the URL from the browser address bar
  3. Use this URL as the linkedin_filter_link parameter
  4. The API will extract and apply the search filters from your URL

Usage Example:

{
  "linkedin_filter_link": "https://www.linkedin.com/sales/search/people?query=(spellCorrectionEnabled%3Atrue%2Ckeywords%3Amarketing%2CfirstName%3A%2ClastName%3A%2Ctitle%3A%2Ccompany%3A%2Cschool%3A%2CcontactInterest%3A%2CnetworkDepth%3A%2Clanguage%3A%2Clocation%3A%2Cindustry%3A%2CcurrentCompany%3A%2CpastCompany%3A%2CprofileLanguage%3A%2CnonprofitInterest%3A%2CfortuneOrGlobal500Size%3A%2CsalesPersona%3A)",
  "limit_by": 100
}

Important Notes:

  • When using linkedin_filter_link, you don’t need to specify other filter parameters (locations, company_name, personas, etc.)
  • Maximum limit when using linkedin_filter_link is 2400 results
  • The URL must contain valid query parameters that can be parsed
  • Both Sales Navigator and regular LinkedIn search URLs are supported

Search by Company Name

You can search for leads by specifying the company name directly:
{
  "company_name": "Microsoft",
  "personas": [
    ["Marketing", ["marketing", "digital marketing"], [], []]
  ],
  "limit_by": 50
}

Important Notes for Company Search:

  • You must specify exactly one of: company_id, company_link, or company_name
  • The API will automatically find the LinkedIn company profile based on the provided information
  • If no exact company match is found, the search may return an error or empty results

Search by Lead Criteria Only

For lead searches based purely on lead parameters without targeting a specific company, use the without_company parameter:
{
  "without_company": true,
  "locations": ["New York, New York, United States"],
  "personas": [
    ["Tech Leaders", ["CTO", "VP Engineering", "Tech Director"], ["VP", "Director"], []]
  ],
  "limit_by": 100
}

How Lead Criteria Search Works:

  1. Searches for leads based only on their individual characteristics (job titles, locations, experience, etc.)
  2. Does not require specifying any company information (company_id, company_link, or company_name)
  3. Useful for finding leads across all companies that match specific criteria
  4. Higher limit of 2400 results available
  5. May have usage restrictions based on your account plan

Important Notes for Lead Criteria Search:

  • without_company: true removes the requirement to specify company information
  • Search is performed based entirely on lead parameters: personas, locations, seniority levels, etc.
  • Maximum limit of 2400 results when using this mode
  • May have daily usage limits depending on your subscription
  • Cannot be used together with company_id, company_link, or company_name
  • Ideal for broad prospecting across multiple companies based on lead profiles

Authorizations

Authorization
string
header
required

Body

application/json
company_id
integer
locations
string[]
personas
(string | string[])[][]
limit_by
integer
exclude_names
string[]
filter_empty_vars
string[]
changed_jobs
boolean
posted_on_linkedin
boolean
mentioned_in_news
boolean
lead_industries
string[]
company_locations
string[]
company_headcounts
string[]
company_types
string[]
past_company_names
string[]
years_in_company
integer[]
years_in_position
integer[]
groups
integer[]
schools
integer[]
without_company
boolean

Response

200 - application/json
amount
number
Example:
leads
object[]
Example:
results_count
string
Example:
status
string
Example: