All posts

LinkedIn Company Page Scrapers: What Public Data to Collect

November 8, 2026

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

FieldUsed for
Name, URL, vanity nameIdentity and matching to your CRM
FollowersBrand reach and growth
IndustrySegmenting lists
Company size rangeFit for B2B sales
Headquarters and locationsTerritory planning
WebsiteJoin to other data
About text and specialtiesPositioning and keyword search
Recent postsActivity 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

  1. Keep a list of company page URLs.
  2. Each week, record followers and the number of posts in the last 7 days.
  3. Compute follower growth: (this_week - last_week) / last_week x 100.
  4. 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.
  5. 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

ChangeOften means
Size range moves up a bandHiring push, often after funding
New tagline or about textRepositioning or a new product line
New location addedOffice opening or market entry
Follower growth spikesA viral post, an event, or press coverage
Posting drops to near zeroMarketing 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.

100 free credits, no card. Credits never expire.

Get API key