LinkedIn Company Profile Scraper
Pricing
from $0.25 / 1,000 scraped company profiles
LinkedIn Company Profile Scraper
Scrape public LinkedIn company pages from URLs, slugs, or simple names. Export company facts, locations, employees, related pages, job signals, public posts, and media URLs when visible.
Pricing
from $0.25 / 1,000 scraped company profiles
Rating
0.0
(0)
Developer
Maxime Dupré
Maintained by CommunityActor stats
9
Bookmarked
79
Total users
47
Monthly active users
2 days ago
Last modified
Categories
Share
🔎 LinkedIn company profile data from public pages
Sales teams, recruiters, researchers, and developers can turn public LinkedIn company pages into clean profile rows. Add company URLs, slugs, or simple names to export names, websites, industries, company sizes, employee and follower counts, locations, related pages, public posts, job signals, and media URLs when LinkedIn shows them.
- Pull structured company profile rows from URLs or slugs with Free LinkedIn Scraper.
- Send company targets from an application and read the dataset with LinkedIn Scraper API.
- Review a ready export workflow with LinkedIn Scraper Free Download.
- Review a full public company row with LinkedIn Company Profile Data.
- Find affiliated pages and similar companies with LinkedIn Affiliated Pages and Similar Companies.
📦 LinkedIn company profile data
Each saved dataset item is one successful public LinkedIn company profile. A row can include:
matchedInput,linkedinUrl, andcompanyIdname,tagline, anddescriptionwebsite,industry,organizationType, andcompanySizeemployeeCountandfollowerCountfoundedYear,headquarters, andspecialtieslogoUrlandcoverImageUrllocationswith address parts and map links when visibleaffiliatedPagesandsimilarCompaniesemployeeswith public preview names, titles, profile URLs, and image URLs when visiblejobswith public company job counts or other job signals when LinkedIn exposes themrecentPostswith text, post URLs, visible engagement counts, and media URLs when visible
Fields can be null or empty arrays when LinkedIn does not show that data on the public page. The Actor keeps missing source data empty instead of inventing values.
Each distinct submitted target is checked. If different targets resolve to the same source company, the first eligible profile is saved and later matches are ignored. Unavailable targets stay out of the dataset while other targets can continue.
This Actor focuses on public company profile data. It does not collect private LinkedIn data, Sales Navigator data, personal emails, phone numbers, full employee lists, private posts, or login-only content.
🚀 Run a LinkedIn company profile scrape
- Open the Actor input.
- Add up to 1,000 LinkedIn company URLs, slugs, or simple names in LinkedIn companies.
- Keep Language hint and Country hint as
enandUSunless you want a public page requested for another locale. - Start the Actor.
- Open the dataset and export the results as JSON, CSV, Excel, XML, RSS, HTML, or through the Apify API.
Good target examples
openaimicrosofthttps://www.linkedin.com/company/openai/https://www.linkedin.com/company/microsoft/
Use LinkedIn company slugs or full company URLs when you already know the public company page. A slug is the part after /company/, such as openai in https://www.linkedin.com/company/openai/.
Each distinct allowed target is processed until its public source is exhausted. A target that is unavailable is skipped without a dataset row, and other submitted targets can continue.
⚙️ Input
Input fields
| Field | Type | What it does |
|---|---|---|
companyTargets | array of strings | LinkedIn company URLs, slugs, or simple company names. You can mix these forms in one run. |
languageHint | string | Language hint for localized public pages. Default: en. |
countryHint | string | Country hint for localized public pages. Default: US. |
Input example
This example is copied from a successful current-beta default-input run.
{"companyTargets": ["https://www.linkedin.com/company/microsoft/","openai","google"],"languageHint": "en","countryHint": "US"}
🧾 Output
The results field links to the default dataset. Each dataset row is one successful public LinkedIn company profile.
Dataset link
| Field | Type | What it does |
|---|---|---|
results | string | Link to the default dataset of successful public LinkedIn company profiles. |
Company profile row
| Field | Type | What it does |
|---|---|---|
matchedInput | string | Submitted company URL, slug, or name that produced this profile. |
linkedinUrl | string | Canonical public LinkedIn company profile URL. |
companyId | string or null | LinkedIn company ID when visible. |
name | string | Company name from the public LinkedIn profile. |
tagline | string or null | Short company tagline when available. |
description | string or null | Company description from the public LinkedIn profile. |
website | string or null | Company website listed on LinkedIn. |
industry | string or null | LinkedIn industry label. |
organizationType | string or null | LinkedIn organization type. |
companySize | string or null | LinkedIn company size range. |
employeeCount | integer or null | Public LinkedIn employee count when available. |
followerCount | integer or null | Public LinkedIn follower count when available. |
foundedYear | integer or null | Company founding year when listed. |
headquarters | string or null | LinkedIn headquarters text. |
specialties | array of strings | Company specialties listed on LinkedIn. |
logoUrl | string or null | Direct public company logo URL when available. |
coverImageUrl | string or null | Direct public company cover-image URL when available. |
locations | array of objects | Public office or headquarters locations. Each object can contain the dotted fields below. |
locations.address | string | Full office address from LinkedIn. |
locations.streetAddress | string or null | Street address when listed. |
locations.city | string or null | City when listed. |
locations.region | string or null | State, province, or region when listed. |
locations.postalCode | string or null | Postal code when listed. |
locations.country | string or null | Country when listed. |
locations.mapUrl | string or null | Map link for the location when available. |
affiliatedPages | array of objects | Affiliated LinkedIn company pages when visible. Each object can contain the dotted fields below. |
affiliatedPages.name | string | Name of the affiliated company. |
affiliatedPages.linkedinUrl | string | Public LinkedIn URL for the affiliated company. |
affiliatedPages.industry | string or null | Industry shown for the affiliated company when available. |
affiliatedPages.location | string or null | Location shown for the affiliated company when available. |
affiliatedPages.category | string or null | LinkedIn category shown for the affiliated company when available. |
affiliatedPages.logoUrl | string or null | Public logo URL for the affiliated company when available. |
similarCompanies | array of objects | Similar LinkedIn company pages when visible. Each object can contain the dotted fields below. |
similarCompanies.name | string | Name of the similar company. |
similarCompanies.linkedinUrl | string | Public LinkedIn URL for the similar company. |
similarCompanies.industry | string or null | Industry shown for the similar company when available. |
similarCompanies.location | string or null | Location shown for the similar company when available. |
similarCompanies.logoUrl | string or null | Public logo URL for the similar company when available. |
employees | array of objects | Public employee previews visible on the company page. Each object can contain the dotted fields below. |
employees.name | string | Visible employee name. |
employees.title | string or null | Visible employee job title when available. |
employees.profileUrl | string or null | Public LinkedIn profile URL for the employee when available. |
employees.imageUrl | string or null | Public employee image URL when available. |
jobs | array of objects | Public company job counts or other source-visible job signals. Each object can contain the dotted fields below. |
jobs.title | string | Job title or source label for the signal. |
jobs.count | integer or null | Number of jobs for the signal when available. |
recentPosts | array of objects | Recent public company post summaries. Each object can contain the dotted fields below. |
recentPosts.postUrl | string or null | Public URL for the company post when available. |
recentPosts.text | string | Visible text from the company post. |
recentPosts.postedAtText | string or null | Posted time text shown by LinkedIn when available. |
recentPosts.reactionCount | integer or null | Visible reaction count when available. |
recentPosts.commentCount | integer or null | Visible comment count when available. |
recentPosts.mediaUrls | array of strings | Direct media links shown with the post. |
Genuine company profile row
This complete row came from a successful current-beta run. It is shown without shortening.
{"matchedInput": "cosmur-construction","linkedinUrl": "https://www.linkedin.com/company/cosmur-construction","companyId": "401426","name": "Cosmur Construction","tagline": "Construction","description": "Cosmur Construction (London) Ltd has been successfully trading since 1973; we are based in Queen’s Park, North West London and work on sites throughout Greater London. We pride ourselves in having a 97% customer satisfaction rate and an 80% rate in repeat customers, which truly highlights our dedication to delivering excellence. Our vision is to continue as leaders in our field; at the heart of this, is exceeding our clients’ expectations by adding value every step of the way – from concept to delivery. We treat every project as unique opportunity and believe in developing collaborative working relationships with our clients to deliver a successful outcome. Our investment in staff ensures high retention of directly employed, skilled proffesionals who are able to deliver projects on time and within budget. We have some of the best talent, bright minds and leading expertise within our organisation. Cosmur’s directors are accomplished in the industry and adopt a hands-on approach to every project to guarantee the highest standards. Cosmur specialises in working within the education, healthcare, leisure, social housing and private residential sector. Our experience also includes conservation work of Grade I and Grade II listed buildings and places of worship. Our typical values range between £50,000 and £6.5 million. We believe that we stand out from other construction companies because we have our own directly employed labour and operatives as well as in house design coordinators. Cosmur Construction was one of the first contractors to achieve ‘Investors in People’ standard in 1999. We are also one of only 50 associate members of the Considerate Constructors Scheme and the only SME.","website": "http://www.cosmur.co.uk","industry": "Construction","organizationType": "Privately Held","companySize": "51-200 employees","employeeCount": 37,"followerCount": 3224,"foundedYear": 1973,"headquarters": "LONDON, England","specialties": ["New Builds","Refurbishment","Health","Leisure","Education","Commercial","Private Residentials","Social Housing","Conservation"],"logoUrl": "https://media.licdn.com/dms/image/v2/C4E0BAQHKjnmn1nauWA/company-logo_200_200/company-logo_200_200/0/1631354482783?e=2147483647&v=beta&t=b3y9GqILnmLOE-_u8DwbCxZmNWbzs9LE9IUl_R17akA","coverImageUrl": "https://media.licdn.com/dms/image/v2/C4E1BAQHDuV0GKKFDHA/company-background_1536_768/company-background_1536_768/0/1521250468895?e=2147483647&v=beta&t=hP_BmgCF0H388VMnYRQp3bewvImZMn86OTgJVhc8nKs","locations": [{"address": "72 Salusbury Road LONDON, England NW6 6NU, GB","streetAddress": "72 Salusbury Road","city": "LONDON","region": "England NW6","postalCode": "6NU","country": "GB","mapUrl": "https://www.bing.com/maps?where=72+Salusbury+Road+LONDON+NW6+6NU+England+GB&trk=org-locations_url"}],"affiliatedPages": [],"similarCompanies": [{"name": "Alexander James Group","linkedinUrl": "https://uk.linkedin.com/company/alexanderjamesgroup","industry": "Construction","location": "Uxbridge , Hillingdon","logoUrl": "https://media.licdn.com/dms/image/v2/D4E0BAQHE1Qm2s-z9Tg/company-logo_100_100/B4EZ4bQXrvIwAQ-/0/1778573737958/alexander_james_contracts_limited_logo?e=2147483647&v=beta&t=-sSOXchvZ7hYAJBkPU7qBlhQH6NbB26gefZrqmIWU50"},{"name": "T&B","linkedinUrl": "https://uk.linkedin.com/company/tandb","industry": "Construction","location": null,"logoUrl": "https://media.licdn.com/dms/image/v2/D4E0BAQFC4-P0lgEPiA/company-logo_100_100/B4EaA6EX.fHQAM-/0/1787680620695/tandbcontractorsltd_logo?e=2147483647&v=beta&t=DpZa8mZjtszpiId2hByzostGKZILIB7lUX0mxglnbQA"},{"name": "Elkins Construction","linkedinUrl": "https://uk.linkedin.com/company/elkinsltd","industry": "Construction","location": "New Cross, London","logoUrl": "https://media.licdn.com/dms/image/v2/C4E0BAQGLhSnbisicWQ/company-logo_100_100/company-logo_100_100/0/1632731415090/aeelkinsltd_logo?e=2147483647&v=beta&t=Id8vhXVGSgSQk-T7mCrH0KVqJroz9CbF8XBnbcnQRKw"},{"name": "Neilcott Construction Limited","linkedinUrl": "https://uk.linkedin.com/company/neilcott-construction-limited","industry": "Construction","location": "Orpington, Kent","logoUrl": "https://media.licdn.com/dms/image/v2/C4E0BAQE1bVFnOgKT0g/company-logo_100_100/company-logo_100_100/0/1645553077245/neilcott_construction_limited_logo?e=2147483647&v=beta&t=cZf_5V-X6iod-9cEpgejtcOSrro9KNkDeTrRbkwZA1w"},{"name": "Storm Building Limited","linkedinUrl": "https://uk.linkedin.com/company/storm-building-limited","industry": "Construction","location": "London, England","logoUrl": "https://media.licdn.com/dms/image/v2/C560BAQE5ZfiieuFwQQ/company-logo_100_100/company-logo_100_100/0/1630578196606/storm_building_limited_logo?e=2147483647&v=beta&t=RgsPHn8HYd1wxbXrCWdl5CcYsNdOBe1e5BYTfMUEgss"},{"name": "R Benson Property Maintenance Ltd","linkedinUrl": "https://uk.linkedin.com/company/r-benson-property-maintenance-ltd","industry": "Construction","location": "Chesham, Buckinghamshire","logoUrl": "https://media.licdn.com/dms/image/v2/C4E0BAQEUB1t307BXFQ/company-logo_100_100/company-logo_100_100/0/1663767878243/r_benson_property_maintenance_ltd_logo?e=2147483647&v=beta&t=yP4IWsfaKtbLs6eQMj5amuHJnyrsRckPG_n-2Xmo8zI"},{"name": "Borras Construction Ltd","linkedinUrl": "https://uk.linkedin.com/company/borras-construction-ltd","industry": "Construction","location": "St Albans, Hertfordshire","logoUrl": "https://media.licdn.com/dms/image/v2/D4E0BAQEpi3_JryVxkA/company-logo_100_100/B4EZdTq0YbH0AQ-/0/1749455423535/borras_construction_ltd_logo?e=2147483647&v=beta&t=ReAFB0C4AsECVhmMCu9QFJK5lrHNBPe_KcCe6pmTpyM"},{"name": "Arc Group London Limited","linkedinUrl": "https://uk.linkedin.com/company/arc-group-london-ltd","industry": "Construction","location": "Edmonton, London","logoUrl": "https://media.licdn.com/dms/image/v2/C4E0BAQFdQv_niPRFfw/company-logo_100_100/company-logo_100_100/0/1653474462044/arc_group_london_ltd_logo?e=2147483647&v=beta&t=QIngQqwPx8fmhtFArUWze6_0eRjF_Co6pdw-9wpUV_U"},{"name": "Total Construction Ltd","linkedinUrl": "https://www.linkedin.com/company/total-construction-ltd","industry": "Construction","location": null,"logoUrl": "https://media.licdn.com/dms/image/v2/D4E0BAQGufkHIEhbPCA/company-logo_100_100/B4EZpd9IWDKoAU-/0/1762512899409/total_construction_ltd_logo?e=2147483647&v=beta&t=WHv6A4pRz_TSEbE9dbL7cfhiX1xAzsEM85pxZ9-gIbw"},{"name": "Greyline","linkedinUrl": "https://uk.linkedin.com/company/greylineltd","industry": "Construction","location": "Wembley, England","logoUrl": "https://media.licdn.com/dms/image/v2/D4E0BAQGA7LmL_YqsFw/company-logo_100_100/B4EZ7VF1OkJMAY-/0/1781691536770/greylineltd_logo?e=2147483647&v=beta&t=-R-zINXAe1ulW_lSeSEvkormeMdnlaCxaT5dxK1Cs54"}],"employees": [{"name": "Boris Prosenica","title": null,"profileUrl": "https://uk.linkedin.com/in/boris-prosenica","imageUrl": "https://media.licdn.com/dms/image/v2/C5603AQFsdDI9tO8giA/profile-displayphoto-shrink_100_100/profile-displayphoto-shrink_100_100/0/1610571303169?e=2147483647&v=beta&t=ps1o_iVisFVdiKPc0km7jqag-vDPAP6gBc3qLPe18Mk"}],"jobs": [],"recentPosts": []}
💳 Pricing
This Actor uses pay-per-event pricing. One saved public company profile creates one company-profile event. A run that saves no company profiles does not create company-profile events. See the Pricing panel for the current rate on your Apify plan.
🔌 Integrations
- Export datasets as JSON, CSV, Excel, XML, RSS, or HTML from Apify.
- Run the Actor through the Apify API for repeatable company enrichment workflows.
- Repeat runs through Apify when you need refreshed public company profiles.
❓ FAQ
Can I use a public LinkedIn company URL or slug?
Yes. Add a public LinkedIn company URL or vanity slug in LinkedIn companies. You can mix URLs, slugs, and simple names in one run.
Can I use this as a free LinkedIn scraper?
The Actor uses pay-per-event pricing and charges only for saved company profiles. Your actual cost depends on your Apify account, credits, and the number of profiles saved.
Can I download LinkedIn scraper results?
Yes. You can download the dataset from Apify as CSV, Excel, JSON, XML, RSS, or HTML, or pull the same rows through the Apify API.
Is this a Python or PyPI LinkedIn scraper?
No. This is an Apify Actor, not a PyPI package. You can still call it from Python through the Apify API and process the dataset in your own code.
Can I use the output with AI workflows?
Yes. The dataset is structured JSON, so you can send company profile fields into AI enrichment, account research, summarization, scoring, or review workflows outside this Actor.
Can I enter plain company names?
Use LinkedIn company slugs or URLs when you already know the public page. Plain names can work when the public source returns a matching company. For example, openai can resolve to https://www.linkedin.com/company/openai/.
Does it scrape LinkedIn employees?
It returns public employee previews shown on the company page. It is not a full LinkedIn employee scraper. If you need company People pages, use a dedicated LinkedIn company people workflow.
Does it scrape LinkedIn company posts?
It returns recent public post summaries shown on the company profile page when LinkedIn exposes them. It is not a full LinkedIn posts crawler.
Why are some fields empty?
LinkedIn does not expose every field on every public company page. Empty fields mean the value was not visible during the run.
Why not use the LinkedIn API?
Use the official LinkedIn API when your application has the access it needs. This Actor reads public company pages and saves source-visible fields through the Apify dataset.
What are LinkedIn alternatives?
For related workflows, use a LinkedIn company people scraper for People pages, a LinkedIn posts scraper for post feeds, a business address scraper for website-published addresses, or a CRM enrichment tool when you need non-LinkedIn data.
📝 Changelog
v1.0 (25-09-2026)
- Saves only public LinkedIn company profiles and keeps unavailable targets out of the dataset.
- Charges only for successful company profile rows.
v0.1
- Expanded company profiles with locations, related pages, jobs, recent posts, funding, media URLs, and lower per-profile pricing.
v0.0
- Initial release.
🆘 Support
For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡
🔗 Related Actors
- LinkedIn Company People Scraper - Export visible people and roles from a company's LinkedIn People page.
- LinkedIn Profile Scraper No Cookie - Collect fuller public profile details for people linked to a company.
- Business Address Scraper - Check addresses published on a company's website when LinkedIn has no location.
- Linkedin Company Details Scraper (No Cookies) ✅ Bulk - Compare a bulk-oriented company details workflow for larger target lists.
- LinkedIn Company Search Scraper ✅ No Cookies - Search company pages by filters before building a target list.
Made with ❤️ by Maxime Dupré