st.openCompanyPage
This action allows you to open a company page to retrieve its basic information and perform additional company-related actions if needed.
In the Node SDK this is linkedapi.fetchCompany – the call is below, under Parameters.
In the Python SDK this is linkedapi.fetch_company – the call is below, under Parameters.
In the CLI this is linkedin company fetch – the command is below, under Parameters.
Constraints
⏺️ Root Start: allowed, when
companyUrlparameter is provided.
⬆️ Parent Actions: st.doForCompanies, nv.openCompanyPage.
⬇️ Child Actions: st.retrieveCompanyEmployees, st.retrieveCompanyDMs, st.retrieveCompanyPosts, nv.openCompanyPage.
Parameters
{
"actionType": "st.openCompanyPage",
"label": "company1",
"companyUrl": "https://www.linkedin.com/company/company1",
"basicInfo": true,
"then": { ... }
}In AI assistants, the MCP server runs this action as the fetch_company tool.
In the SDK this is the fetchCompany method. It always returns basic information: basicInfo, like label and then, exists only in workflow JSON. It takes the other parameters below and returns the result below in data.
Each retrieve… flag of fetchCompany adds one child action, and its data comes back under its own property of data:
| Flag | Child action | Configuration | Property of data |
|---|---|---|---|
retrieveEmployees | st.retrieveCompanyEmployees | employeesRetrievalConfig: limit, filter | employees |
retrieveDMs | st.retrieveCompanyDMs | dmsRetrievalConfig: limit | dms |
retrievePosts | st.retrieveCompanyPosts | postsRetrievalConfig: limit, since | posts |
A configuration object takes effect only with its flag set to true, and takes the parameters of its child action – their defaults, limits and the employee filter fields are on the child's page. For example, up to 5 decision makers:
const workflow = await linkedapi.fetchCompany.execute({
companyUrl: "https://www.linkedin.com/company/company1",
retrieveDMs: true,
dmsRetrievalConfig: { limit: 5 }
});from linkedapi import FetchCompanyParams
workflow = linkedapi.fetch_company.execute(
FetchCompanyParams(
company_url="https://www.linkedin.com/company/company1",
retrieve_dms=True,
dms_retrieval_config={"limit": 5},
)
)When a child action fails, its error comes back in errors and the rest of data is still returned.
In the CLI this is linkedin company fetch:
linkedin company fetch <url> [flags]| Arg | Required | Description |
|---|---|---|
url | yes | LinkedIn company URL |
| Flag | Type | Description |
|---|---|---|
--employees | boolean | Include employee data |
--dms | boolean | Include decision makers |
--posts | boolean | Include company posts |
--employees-limit | integer | Max employees to retrieve |
--employees-first-name | string | Filter employees by first name |
--employees-last-name | string | Filter employees by last name |
--employees-position | string | Filter employees by position |
--employees-locations | string | Filter employees by locations, comma-separated |
--employees-industries | string | Filter employees by industries, comma-separated |
--employees-schools | string | Filter employees by schools, comma-separated |
--employees-connection-degrees | string | Filter employees by connection degrees (1st, 2nd, 3rd+), comma-separated |
--dms-limit | integer | Max decision makers to retrieve |
--posts-limit | integer | Max posts to retrieve |
--posts-since | string | Posts since ISO timestamp |
label(optional) – custom label for tracking this action in workflow completion.companyUrl(required for root start, forbidden for parent start) – public or hashed LinkedIn URL of the company.basicInfo(optional, default:false) – when set totrue, the action includes basic company information in the results.then(optional) – object or array of child actions to be executed within this action.
Result options
- Successful page opening with
basicInfoset totrue:
{
"actionType": "st.openCompanyPage",
"label": "company1",
"success": true,
"data": {
"name": "TechCorp",
"urn": "urn:li:organization:1234567",
"publicUrl": "https://www.linkedin.com/company/company1",
"description": "TechCorp is a leading provider of innovative technology solutions for businesses worldwide.",
"location": "Cupertino, California",
"headquarters": "US",
"industry": "Information Technology",
"specialties": "Cloud Computing, AI, Software Development",
"website": "https://techcorp.com",
"employeesCount": 500,
"yearFounded": 2019,
"jobsCount": 12,
"logoUrl": "https://media.licdn.com/dms/image/v2/C4D0BAQE/company-logo_200_200/0/1700000000000",
"then": { ... }
}
}label– included only if specified in the action parameters.data– basic information about the company and results of child actions execution.name– name of the company.urn– URN of the company, ornullif LinkedIn does not expose it.publicUrl– public LinkedIn URL of the company.description– description of the company.location– free-form string representing the company headquarters location.headquarters– two-character country code (e.g., "US", "UK") representing headquarters location.industry– enum representing the company industry. Takes specific values available in the LinkedIn interface.specialties– comma-separated list of company's specialties.website– company's official website URL.employeesCount– total number of employees associated with the company.yearFounded– year the company was established, if available.jobsCount– number of current job vacancies posted by the company.logoUrl– URL of the company's logo, ornullif the company has no logo.then– results of child actions execution.
- Successful page opening with
basicInfoset tofalse:
{
"actionType": "st.openCompanyPage",
"label": "company1",
"success": true,
"data": {
"then": { ... }
}
}label– included only if specified in the action parameters.data.then– results of child actions execution.
- Failed page opening:
{
"actionType": "st.openCompanyPage",
"label": "company1",
"success": false,
"error": {
"type": "companyNotFound",
"message": "The provided URL is not an existing LinkedIn company."
}
}label– included only if specified in the action parameters.error.type– enum with the following possible values:companyNotFound– provided URL is not an existing LinkedIn company.