Find Company LinkedIn URL
Search for a company’s LinkedIn URL using various identifying parameters.
Method
services.company.linkedin.findUrl(params);
Parameters
Company website (e.g., “acme.com”)
Returns
Returns a Promise<string | null> containing the LinkedIn company URL if found.
Example
// Find LinkedIn URL for a prospect company
const companyName = ctx.thisRow.get("Company");
const website = ctx.thisRow.get("Website");
const companyUrl = await services.company.linkedin.findUrl({
name: companyName,
website,
});
ctx.thisRow.set({ "Company LinkedIn URL": companyUrl });
Enrich Company Profile
Get comprehensive information about a company from LinkedIn. Supports two enrichment levels: basic and extended.
Method
services.company.linkedin.enrich(params);
Parameters
Company domain (e.g., “acme.com”)
Enrichment level: "basic" or "extended"
Provide at least one of: id, shorthand, url, or companyDomain
Basic Enrichment
Basic enrichment returns core company information.
Basic Response Fields
Unique company identifier
Company type (e.g., “Public Company”, “Privately Held”)
Employee size range (e.g., “1001-5000”)
LinkedIn company page URL
Full headquarters address
Technologies detected on company website
Funding round information
Basic Example - Quick Qualification
// Basic enrichment for lead qualification
const companyUrl = ctx.thisRow.get("Company LinkedIn URL");
const company = await services.company.linkedin.enrich({
url: companyUrl,
});
// Store key qualification data
ctx.thisRow.set({
"Company Name": company.name,
Industry: company.industry,
"Employee Count": company.size_employees_count,
"HQ Location": company.location_hq_country,
"Founded Year": company.founded,
"Company Description": company.description,
Website: company.websites_main,
});
// Qualify based on company size
let qualification = "Not Qualified";
if (company.size_employees_count >= 500) {
qualification = "Enterprise";
} else if (company.size_employees_count >= 50) {
qualification = "Mid-Market";
} else if (company.size_employees_count >= 10) {
qualification = "SMB";
}
ctx.thisRow.set({ "Company Segment": qualification });
Extended Enrichment
Extended enrichment includes everything from basic plus financials, employee analytics, reviews, and much more.
Additional Extended Fields
Annual revenue by year with currency
Stock exchange and ticker symbols
Historical stock prices and market cap
Financial income statements
Detailed funding round history
acquisition_list_source_1
Companies acquired
Historical employee count trends
employees_count_breakdown_by_department
Employee distribution across departments
employees_count_by_country
Employee distribution by country
active_job_postings_count
Number of active job openings
List of current job postings
total_website_visits_monthly
Monthly website traffic
visits_breakdown_by_country
Website traffic by country
company_employee_reviews_count
Number of employee reviews
company_employee_reviews_aggregate_score
Average employee review score
employee_reviews_score_breakdown
Detailed review scores by category
Number of product reviews
product_reviews_aggregate_score
Average product review score
Recent news articles about the company
Competitor companies with similarity scores
Extended Example - Deep Account Intelligence
// Extended enrichment for high-value accounts
const companyUrl = ctx.thisRow.get("Company LinkedIn URL");
const company = await services.company.linkedin.enrich({
url: companyUrl,
enrichLevel: "extended",
});
// Store financial and growth indicators
ctx.thisRow.set({
"Annual Revenue": company.revenue_annual?.["2024"]?.annual_revenue,
"Stock Ticker": company.stock_ticker?.[0]?.ticker,
"Active Job Postings": company.active_job_postings_count,
"Employee Review Score": company.company_employee_reviews_aggregate_score,
"Monthly Website Visits": company.total_website_visits_monthly,
});
// Analyze department breakdown for targeting
const deptBreakdown = company.employees_count_breakdown_by_department;
ctx.thisRow.set({
"Engineering Team Size": deptBreakdown?.Engineering,
"Sales Team Size": deptBreakdown?.Sales,
"Marketing Team Size": deptBreakdown?.Marketing,
});
// Extract key executives for multi-threading
const executives = company.key_executives
?.slice(0, 5)
.map((exec) => `${exec.member_full_name} (${exec.member_position_title})`)
.join("; ");
ctx.thisRow.set({ "Key Executives": executives });
// Identify buying signals
const buyingSignals = [];
if (company.active_job_postings_count > 10) buyingSignals.push("High Growth");
if (company.total_website_visits_monthly > 100000) buyingSignals.push("High Traffic");
if (company.company_employee_reviews_aggregate_score > 4.0) buyingSignals.push("Good Culture");
ctx.thisRow.set({
"Buying Signals": buyingSignals.join(", "),
Priority: buyingSignals.length >= 2 ? "High" : "Medium",
});
Use Cases
Complete Account Research for Sales
// Full account research workflow for enterprise sales
const companyName = ctx.thisRow.get("Company");
const website = ctx.thisRow.get("Website");
// Step 1: Find the company
const url = await services.company.linkedin.findUrl({
name: companyName,
website,
});
if (!url) {
ctx.thisRow.set({ Status: "Company Not Found" });
return;
}
// Step 2: Get extended data for deep account intelligence
const data = await services.company.linkedin.enrich({
url,
enrichLevel: "extended",
});
// Step 3: Store comprehensive account data
ctx.thisRow.set({
"Company LinkedIn": url,
"Company Name": data.name,
Industry: data.industry,
"Employee Count": data.size_employees_count,
Founded: data.founded,
"HQ Location": data.location_hq_country,
"Annual Revenue": data.revenue_annual?.["2024"]?.annual_revenue,
"Last Funding": data.last_funding_round_amount_raised,
"Employee Review Score": data.company_employee_reviews_aggregate_score,
"Active Job Postings": data.active_job_postings_count,
"Website Traffic": data.total_website_visits_monthly,
});
// Step 4: Calculate account priority score
let priorityScore = 0;
if (data.size_employees_count > 500) priorityScore += 3;
if (data.active_job_postings_count > 10) priorityScore += 2;
if (data.total_website_visits_monthly > 100000) priorityScore += 2;
if (data.company_employee_reviews_aggregate_score > 4.0) priorityScore += 1;
ctx.thisRow.set({
"Account Priority": priorityScore >= 5 ? "High" : priorityScore >= 3 ? "Medium" : "Low",
Status: "Fully Enriched",
});
Competitive Analysis
const company = await services.company.linkedin.enrich({
url: "https://linkedin.com/company/acme",
enrichLevel: "extended",
});
// Analyze competitors
company.competitors?.forEach((competitor) => {
console.log(`${competitor.company_name} - Similarity: ${competitor.similarity_score}%`);
});
// Compare website traffic
company.competitors_websites?.forEach((comp) => {
console.log(`${comp.website} - ${comp.total_website_visits_monthly} visits/month`);
});
Track Company Growth
const company = await services.company.linkedin.enrich({
url: "https://linkedin.com/company/startup",
enrichLevel: "extended",
});
// Employee growth over time
company.employees_count_by_month?.forEach((month) => {
console.log(`${month.date}: ${month.employees_count} employees`);
});
// Job posting trends
company.active_job_postings_count_by_month?.forEach((month) => {
console.log(`${month.date}: ${month.active_job_postings_count} open positions`);
});
Best Practices
Use basic enrichment for most use cases to optimize performance and costs. Only use extended when you need
detailed financials, analytics, or reviews.
Extended enrichment is significantly more expensive and slower than basic enrichment. Cache results when possible.
Company data is updated regularly. Check the last_updated_at field to determine data freshness.