LinkedIn Company Page Scrapers: What Public Data to Collect
A LinkedIn company page is one of the most useful public records of a business: what it says it does, how big it is, where it is, and what it posts. Sales teams, investors and marketers all track them. This post covers the official API's limits, the fields that matter, and a tracking method.
What the official API gives for other companies
LinkedIn's Organization Lookup API splits fields into admin-only and public. For companies you don't administer, it returns only: id, name, localizedName, localizedWebsite, vanityName, logoV2, locations and primaryOrganizationType. Description, industries, staff count range and founding date are admin-only. The network size endpoint returns follower counts for any organization Organization Lookup docs.
To call these you need an approved app; the Community Management API's development tier allows 500 calls per app per day access tiers. That is enough for a follower tracker on a few hundred companies, if you get approved.
Fields that matter, and why
| Field | Used for |
|---|---|
| Name, URL, vanity name | Identity and matching to your CRM |
| Followers | Brand reach and growth |
| Industry | Segmenting lists |
| Company size range | Fit for B2B sales |
| Headquarters and locations | Territory planning |
| Website | Join to other data |
| About text and specialties | Positioning and keyword search |
| Recent posts | Activity and messaging |
Notice what is not on the list: employees. You can learn a lot about a company without collecting data about the people who work there.
Method: a weekly company tracker
- Keep a list of company page URLs.
- Each week, record followers and the number of posts in the last 7 days.
- Compute follower growth:
(this_week - last_week) / last_week x 100. - Watch for changes in the about text or size range. A new tagline or a size jump often signals a pivot, a funding round or a hiring push.
- Combine with posting cadence. A company that suddenly posts three times as often is usually launching something.
import csv, datetime, json, os, requests
KEY = os.environ["SCRAPEIO_API_KEY"]
H = {"x-api-key": KEY}
week = datetime.date.today().isoformat()
with open("companies.txt") as f, open("companies.jsonl", "a") as out:
for url in (l.strip() for l in f if l.strip()):
r = requests.get("https://scrapeio.com/v1/linkedin/company",
params={"url": url}, headers=H, timeout=60)
body = r.json()
if body.get("success"):
out.write(json.dumps({"week": week, "url": url, "page": body["data"]}) + "\n")
Store the full JSON each week in a JSON Lines file. Company page results come in the source's own shape, so keeping everything lets you diff any field later, such as the about text, without deciding upfront.
A diff that catches changes
import json
rows = [json.loads(l) for l in open("companies.jsonl")]
by_url = {}
for r in rows:
by_url.setdefault(r["url"], []).append(r)
for url, snaps in by_url.items():
if len(snaps) < 2:
continue
a, b = snaps[-2]["page"], snaps[-1]["page"]
changed = [k for k in b if a.get(k) != b.get(k)]
if changed:
print(url, "changed:", changed)
What the signals usually mean
| Change | Often means |
|---|---|
| Size range moves up a band | Hiring push, often after funding |
| New tagline or about text | Repositioning or a new product line |
| New location added | Office opening or market entry |
| Follower growth spikes | A viral post, an event, or press coverage |
| Posting drops to near zero | Marketing team change, or trouble |
None of these is proof on its own. Treat them as prompts to look closer: read the posts from that week, check the company's site and news, then decide.
Matching companies to your CRM
Match on the website domain first, then on the vanity name in the page URL. Company names are unreliable: "Acme", "Acme Inc." and "ACME Group" may be one company or three. Large companies also run showcase pages for products or regions. Decide upfront whether you track the parent page only or each showcase page too, and write that rule down so the list stays consistent.
Other ways to watch companies
- LinkedIn's own competitor analytics: free Pages can compare against 1 competitor, Premium Company Pages up to 9 LinkedIn help. Good if you only need a few.
- Follow the page: free, and enough for a handful of companies.
How to do it with ScrapeIO
The LinkedIn company API returns a public company page from its URL, and the LinkedIn company posts API returns its posts by page number. Both cost 1 credit, read only public data, and don't log in. For company ads, add the LinkedIn ads search API.
Sources
Checked on 8 November 2026 from each vendor's own pages. Prices and limits change; follow the links before you decide.
- https://learn.microsoft.com/en-us/linkedin/marketing/community-management/organizations/organization-lookup-api
- https://learn.microsoft.com/en-us/linkedin/marketing/increasing-access
- https://www.linkedin.com/help/linkedin/answer/a553615
100 free credits, no card. Credits never expire.
Get API key