LinkedIn Company Data API

LinkedIn Company Data API for company enrichment

Resolve public company URLs, company page slugs, LinkedIn company IDs, domains, or company names into structured company data for CRM enrichment, sales intelligence, market research, and developer workflows through EnvoAPI's company data endpoints.

100 free credits · No credit card required

EnvoAPI is a third-party public professional data API and is not an official LinkedIn product.

What you can start from

  • Company URLs
  • Company slugs
  • Company IDs
  • Domain discovery
  • Company name search
  • Structured JSON
  • X-API-Key auth

Use cases

Company enrichment use cases

Use EnvoAPI to enrich company records, qualify accounts, support sales workflows, and connect public company intelligence into CRM, recruiting, research, and B2B data products at scale.

  1. CRM enrichment

    Complete missing account fields before segmentation, scoring, routing, or account planning.

  2. Sales intelligence

    Add company context to account research, qualification, and territory workflows.

  3. Market research

    Analyze company categories, locations, industries, public business details, and related activity when available.

  4. Recruiting intelligence

    Research companies, hiring signals, open roles, and public business profiles.

  5. B2B data products

    Connect structured company data into SaaS products, internal tools, or warehouse models.

Common fields used in these workflows include company name, website URL, industry, employee count or range, location, description, the public company page URL, and the supported company identifiers. For people-level enrichment, pair these endpoints with the LinkedIn Profile API, or take the broader workflow view in the Data Enrichment API.

Inputs

Accepted inputs for company lookup

Send a public company URL, a company page slug, or a LinkedIn company ID to resolve straight to detail. Send a company domain or a company name to run discovery first, then fetch the same detail record. Both lanes answer with the same documented v2 envelope.

Direct detail

One call. The identifier resolves straight to a company record.

3 routes
  • Public company URL

    https://www.linkedin.com/company/northstar-systems/

    GET/api/v2/companies/detail

    Get Company by URL · parameter url · CompanyDetailResponse

    The direct path when a full public company URL is already stored.

  • Company page slug

    northstar-systems

    GET/api/v2/companies/{universal_name}

    Get Company by LinkedIn Page Slug · parameter universal_name · CompanyDetailResponse

    The direct path when your records keep the company page slug.

  • LinkedIn company ID

    synthetic-company-001

    GET/api/v2/companies/id/{company_id}

    Get Company by LinkedIn ID · parameter company_id · CompanyDetailResponse

    For systems that already store a supported company ID.

Discovery first

Two calls. Result cards come back, then detail for the one you pick.

2 routes
  • Company domain

    northstar.example

    GET/api/v2/companies/by-domain

    Find Companies by Website Domain · parameter domain · SearchResultListResponse

    Returns company result cards. Use a selected universalName or company URL for detail.

  • Company name

    Northstar Systems

    GET/api/v2/search/companies

    Search Companies by Keyword · parameter keywords · SearchResultListResponse

    Returns search result cards. Fetch detail by universalName once a match is chosen.

5 ways in, one response contract. Every company endpoint answers with the same top-level keys, so a field mapping built against one route survives switching to another. Use a company ID or a page slug when you already hold one — it keeps internal matching, deduplication, and record mapping stable across runs.

  • success
  • data
  • pagination
  • meta

Example call

Company data API request and response

One documented call, sent three ways, against a synthetic company and the documented v2 envelope. Run production calls from a server-side integration layer so the API key stays out of browser code.

Try it in the Playground

The current OpenAPI company detail response does not include a confidence score field. Use returned identifiers and your own match review rules when a domain or name lookup selected the record.

Request

GET/api/v2/companies/detailbash
curl -G "https://api.envoapi.com/api/v2/companies/detail" \  -H "X-API-Key: $ENVO_API_KEY" \  --data-urlencode "url=https://www.linkedin.com/company/northstar-systems/"

Response

Synthetic company detail response

Response200application/jsonjson
{  "success": true,  "data": {    "name": "Northstar Systems",    "universalName": "northstar-systems",    "description": "Synthetic company profile used for public documentation.",    "tagline": "Revenue data infrastructure for B2B teams",    "websiteUrl": "https://northstar.example",    "url": "https://www.linkedin.com/company/northstar-systems/",    "companyId": "synthetic-company-001",    "employeeCount": 148,    "employeeCountRange": {      "start": 51,      "end": 200    },    "followerCount": 12400,    "foundedOn": {      "year": 2018,      "month": null,      "day": null    },    "industry": {      "name": "Software Development"    },    "specialities": [      "CRM enrichment",      "Revenue operations"    ],    "logo": [],    "coverImage": [],    "locations": [],    "verified": false  },  "pagination": null,  "meta": {    "operation": "get_v2_company_by_url_query",    "input": {      "url": "https://www.linkedin.com/company/northstar-systems/"    },    "resolved": {      "universalName": "northstar-systems",      "companyId": "synthetic-company-001"    },    "cache": {      "hit": false    },    "note": "Synthetic example for public documentation."  }}

Schema

Returned company data fields

15 documented company detail fields — firmographics, public profile details, descriptions, locations, domains, and identifiers — filed by the part of the record they belong to and ready to map into a CRM account, a warehouse row, or a product workflow.

Identity

5 fields
name
Company name when available.
universalName
LinkedIn company page slug used by company detail endpoints.
url
Public company page URL when returned by the schema.
companyId
LinkedIn company ID or supported company identifier.
entityUrn / organizationalPageUrn
Structured company URN fields when available.

Positioning

4 fields
description / tagline
Public company description and short positioning text.
websiteUrl
Company website URL when returned by the detail endpoint.
industry
Structured industry information when returned.
specialities
Public company specialties collection when returned.

Scale

3 fields
employeeCount / employeeCountRange
Employee count and employee range fields when available.
followerCount
Public follower count when returned.
foundedOn
Structured date parts for founded date when available.

Place and media

3 fields
locations
Company locations or headquarters-like location objects.
verified
Verification flag when exposed by the company detail data.
logo / coverImage
Image arrays when available. Public examples should stay synthetic or empty.

Developer notes

  • REST API endpoints
  • X-API-Key authentication
  • JSON responses
  • Documented error states
  • Pagination on collections
  • Developer documentation

Field depth and returned sections may vary by input type, public data availability, endpoint access, rate limits, source behaviour, and plan. Treat unavailable fields as normal states in your integration rather than as failures.

Lookup

Domain and company name lookup

Domain lookup suits CRM enrichment and website-to-company matching; company name lookup suits sales lists, recruiting research, and market mapping. Both turn an incomplete account input into selectable company result cards. Pick the match, then fetch the same company detail the direct lane returns.

  1. Send the domain or the company name

    GET/api/v2/companies/by-domain · /api/v2/search/companies

    Domain lookup and keyword search both answer with company result cards inside the same response envelope.

    Carries forwarddomain or company name

  2. Read the result cards

    Each card carries name, industry, location, the public company URL, universalName, and companyId, so a match can be reviewed before anything is written back.

    Carries forwardthe selected result card

  3. Fetch company detail

    GET/api/v2/companies/{universal_name}

    Call a detail endpoint with the identifier from the card you selected. From here the response is identical to the direct lane.

    Carries forwarduniversalName or company URL

  4. Map it back to your record

    Store only the fields your CRM, warehouse, or product workflow needs, and keep companyId or universalName as the join key for the next run.

    Carries forwardcompanyId as the join key

Discovery request

GET /api/v2/companies/by-domain

GET/api/v2/companies/by-domainbash
curl -G "https://api.envoapi.com/api/v2/companies/by-domain" \  -H "X-API-Key: $ENVO_API_KEY" \  --data-urlencode "domain=northstar.example" \  --data-urlencode "limit=10"

Result cards

Synthetic discovery response

Response200application/jsonjson
{  "success": true,  "data": {    "items": [      {        "name": "Northstar Systems",        "description": "Software Development",        "summary": "Synthetic company result",        "linkedinUrl": "https://www.linkedin.com/company/northstar-systems/",        "universalName": "northstar-systems",        "companyId": "synthetic-company-001",        "industry": "Software Development",        "location": "San Francisco, California",        "images": []      }    ],    "count": 1,    "total": null  },  "pagination": {    "offset": 0,    "limit": 10,    "returned": 1,    "total": null,    "hasMore": false,    "nextOffset": null,    "cursor": null  },  "meta": {    "operation": "company_by_domain_search",    "input": {      "domain": "northstar.example",      "limit": 10    },    "resolved": {      "keywords": "northstar.example",      "resultType": "COMPANIES"    },    "cache": {      "hit": false    },    "note": "Synthetic example for public documentation."  }}

Match quality depends on input quality, duplicate company names, naming variations, location context, how specific the company URL is, and public data availability. Collection responses carry pagination; read nextOffset or cursor exactly when the endpoint returns them. Review the domain endpoint reference.

Data structure

Company page data structure

Public company page information is normalized into clean, predictable fields for CRM updates, account intelligence, analytics, and product integrations — structured and maintainable enrichment data instead of manual company research.

  1. Public company identifier
  2. Company lookup
  3. Structured company profile
  4. JSON response
  5. CRM, product, or warehouse workflow

This section describes company page structure conceptually. It does not include scraping steps, bypass methods, cookie workflows, proxy instructions, automation tricks, or workarounds — the documented endpoints above are the whole interface. Review the company detail reference.

Workflows

CRM enrichment workflow

Connect company responses into CRM, RevOps, data warehouse, and sales intelligence systems so teams can update, score, route, and segment accounts from structured data. Four shapes teams ship most often, each a server-side path from the identifier you hold to the place the record lands.

  • CRM enrichment

    1. company domain list
    2. company endpoint
    3. firmographic fields
    4. CRM account update
    5. lead scoring or routing
  • Sales intelligence

    1. account list
    2. company detail
    3. research and qualification context
  • Market research

    1. company names
    2. search endpoint
    3. selected company details
    4. warehouse rows
  • Hiring intelligence

    1. company slug
    2. company jobs and jobs count
    3. account-level hiring signals

Common CRM fields to enrich

  • Company name
  • Website URL
  • Industry
  • Employee count or range
  • Location data
  • Description
  • Public company page URL
  • Company ID or universal name

Company API surface

After resolving a company slug, these endpoints return company posts, employees, employee filters, jobs, job counts, insights, and products when available for your endpoint access.

  • Get Company Posts

    GET/api/v2/companies/{universal_name}/posts

    universal_name, optional postType, offset, limit, cursor

  • Get Company Employees

    GET/api/v2/companies/{universal_name}/employees

    universal_name, optional grouping_type, offset, limit, include_profile_details

  • Get Company Employee Search Filters

    GET/api/v2/companies/{universal_name}/employee-filters

    universal_name, optional grouping_types, limit

  • Get Jobs Posted by Company

    GET/api/v2/companies/{universal_name}/jobs

    universal_name, optional limit

  • Get Company Open Jobs Count

    GET/api/v2/companies/{universal_name}/jobs/count

    universal_name

  • Get Company Insights Summary

    GET/api/v2/companies/{universal_name}/insights

    universal_name, optional jobs_limit, posts_limit, products_limit

  • Get Company Products

    GET/api/v2/companies/{universal_name}/products

    universal_name, optional states, offset, limit

7 related endpoints, same envelope. Each one takes the universalName the detail lane already resolved, so no second match step is needed. Browse the API reference.

Compliance

Building on the company endpoints

EnvoAPI supports structured company data workflows without publishing collection instructions, platform workarounds, or private-access claims. Review your use case, applicable laws, platform terms, privacy obligations, and internal compliance standards before scaling.

Implementation notes

  1. Use REST GET endpoints documented in openapi.json.
  2. Authenticate with X-API-Key from server-side code only.
  3. Validate domains, URLs, slugs, IDs, and search keywords before sending requests.
  4. Handle 400, 401, 404, 409, 422, 429, 502, and 503 response states.
  5. Use pagination.nextOffset or pagination.cursor exactly when list endpoints return them.
  6. Store only the fields your CRM, warehouse, or product workflow needs.

Usage boundaries

  • Use company endpoints for public professional and company data workflows.
  • Do not position EnvoAPI as an official LinkedIn product or partner API.
  • Treat missing fields, null values, and variable field depth as normal data availability states.
  • Keep API calls server-side so X-API-Key never reaches browser bundles.
  • Review applicable laws, platform terms, privacy obligations, and internal compliance standards before scaling.

For OAuth flows, authenticated LinkedIn users, Ads, campaign creation, conversion tracking, or Marketing API use cases, review official LinkedIn products and partner access requirements.

FAQ

FAQs about the LinkedIn Company Data API

Filed the way the docs are — what the API is, how a company is matched, and what actually comes back.

What it is

3 questions

What is a LinkedIn company data API?

A LinkedIn company data API alternative helps developers work with structured company-related data such as company name, website URL, industry, location, employee range, description, and company identifiers when available.

Is EnvoAPI an official LinkedIn API?

No. EnvoAPI is a third-party public professional data API and is not an official LinkedIn product.

What can I use EnvoAPI's company data endpoints for?

Use the company endpoints for CRM enrichment, sales intelligence, account research, company lookup, recruiting intelligence, market research, and internal B2B data workflows.

Lookup and matching

4 questions

Can I enrich companies by domain?

Yes. The documented domain endpoint finds company result cards by website domain. Use a returned universalName or company URL to fetch full company detail when a matching result is selected.

Can I use company name lookup?

Yes. Use the company search endpoint with keywords for discovery, then call the company detail endpoint by universalName after selecting the right company result.

Can I use LinkedIn search by company data?

EnvoAPI is not a LinkedIn search interface. The company search endpoint takes keywords and answers with company result cards, so a company name, domain, public company URL, page slug, or supported company ID can be resolved into structured data when it is available.

What is a LinkedIn company ID?

A LinkedIn company ID is a structured identifier associated with a company page. EnvoAPI's company ID endpoint can fetch company detail when your system already has a supported company ID.

Fields and availability

3 questions

What fields can the company detail endpoint return?

The company detail schema can return fields such as name, universalName, description, tagline, websiteUrl, url, companyId, organizationalPageUrn, employeeCount, employeeCountRange, followerCount, foundedOn, industry, specialities, locations, verified, logo, and coverImage when available.

Does the company detail response include a confidence score?

The current OpenAPI company detail response does not expose a confidence score field. Use returned identifiers, selected discovery results, and your own matching rules to review matches.

Do returned fields always stay the same?

No. Returned fields may vary by input type, public data availability, endpoint access, rate limits, source behavior, and plan.

10 questions filed. Endpoint-level parameters, response schemas, pagination, and error states are already written down.

Review the endpoint reference

Start enriching

Start building with company data today

Access structured company data from public company identifiers, domains, names, or profile URLs, and connect it to CRM, sales intelligence, market research, and internal data workflows.

100 free credits · No credit card required · 5 ways in