LinkedIn Company 360 — Firmographics + Hiring + Ads Fused avatar

LinkedIn Company 360 — Firmographics + Hiring + Ads Fused

Pricing

from $70.00 / 1,000 results

Go to Apify Store
LinkedIn Company 360 — Firmographics + Hiring + Ads Fused

LinkedIn Company 360 — Firmographics + Hiring + Ads Fused

One record per company fusing LinkedIn firmographics + live hiring signals (open roles, velocity, departments) + active advertising (ad count, formats, creatives) — entity-resolved by domain, provenance-tagged. The 360° company view no single-surface scraper gives. No login.

Pricing

from $70.00 / 1,000 results

Rating

0.0

(0)

Developer

Berkan Kaplan

Berkan Kaplan

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 days ago

Last modified

Share

LinkedIn Company 360

LinkedIn Company 360 — Firmographics + Hiring + Ads, Fused

Every other LinkedIn scraper gives you one surface. This returns the whole company — its firmographics, whether it's scaling (live hiring), and whether it's in-market (active advertising) — fused into one domain-keyed, provenance-tagged record, with no login and no cookies.

  • 🏢 Firmographics — size, industry, HQ, followers, website, founded, description
  • 📈 Live hiring signal — open-role count, velocity (7d/30d), momentum, top departments
  • 📣 Advertising signal — is it advertising, ad count, formats, sample creatives (LinkedIn Ad Library)
  • 🔗 One fused record per company — entity-keyed by domain, every part tagged with its source

Quick start (API)

Get a full 360° record for two companies in one call:

curl -X POST "https://api.apify.com/v2/acts/foxlabs~linkedin-company-360/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "companies": ["stripe", "https://www.linkedin.com/company/datadog/"], "includeHiring": true, "includeAdvertising": true }'

Prefer no code? Open the Input tab, paste your company URLs or slugs, toggle the signals you want, and click Start — then download the results.

What you get

One clean, flat record per company:

FieldTypeDescription
companyNamestringCompany name as shown on LinkedIn
companySlugstringLinkedIn company slug (e.g. stripe)
companyIdstringLinkedIn numeric organization id (used to resolve hiring & ads; absent if unresolved)
companyLinkedInUrlstringCanonical company page URL
domainstringWebsite domain — the entity key used to fuse signals
employeeCountnumberEmployee count from LinkedIn
industrystringIndustry / sector
hqstringHeadquarters (city, region, country)
followersnumberLinkedIn follower count
websitestringCompany website URL
foundednumberFounding year
descriptionstringCompany "About" description
hiringobjectFused hiring signal — see below (present when hiring is enabled and the company id resolves)
advertisingobjectFused advertising signal — see below
signalSummarystringOne-line human read, e.g. hiring (high, 200 roles) · advertising (24 ads)
sourcesobjectProvenance string for each fused part (firmographics, hiring, advertising)
notestringPresent only when the LinkedIn company id could not be resolved (firmographics only)
scrapedAtstringISO 8601 timestamp of the run
errorstringPresent only on an unreachable company page; that record carries just companySlug, error, scrapedAt

hiring object:

FieldTypeDescription
openJobCountnumberDistinct open roles found (capped at 200 per company)
openJobCountIsCappedbooleanPresent and true only when the 200-role cap was hit
isHiringbooleanWhether any open roles were found
hiringMomentumstringhigh / medium / low / not-hiring, from recent posting velocity
postedLast7dnumberRoles posted in the last 7 days
postedLast30dnumberRoles posted in the last 30 days
topDepartmentsarrayUp to 6 { name, count } — e.g. Engineering, Sales, Data & AI, Marketing, Product

advertising object:

FieldTypeDescription
isAdvertisingbooleanWhether any active ads were found in the LinkedIn Ad Library
activeAdCountnumberDistinct active ads found (capped at 60 per company)
activeAdCountIsCappedbooleanPresent and true only when the 60-ad cap was hit
adFormatsarray{ format, count } where format is image or video, tallied from a sample of the ads
sampleAdCreativesarrayUp to 3 short ad-copy snippets (≤140 chars each)

adFormats and sampleAdCreatives are drawn from a sample of up to 12 ad detail pages, so their counts can be lower than activeAdCount — they characterise the advertising, not enumerate every ad.

Sample output

Illustrative record (field shapes are real; values are for illustration):

{
"companyName": "Datadog",
"companySlug": "datadog",
"companyId": "1035334",
"companyLinkedInUrl": "https://www.linkedin.com/company/datadog",
"domain": "datadoghq.com",
"employeeCount": 7000,
"industry": "Software Development",
"hq": "New York, New York, United States",
"followers": 512340,
"website": "https://www.datadoghq.com",
"founded": 2010,
"description": "The observability and security platform for cloud applications.",
"hiring": {
"openJobCount": 200,
"openJobCountIsCapped": true,
"isHiring": true,
"hiringMomentum": "high",
"postedLast7d": 18,
"postedLast30d": 63,
"topDepartments": [
{ "name": "Engineering", "count": 74 },
{ "name": "Sales", "count": 38 },
{ "name": "Data & AI", "count": 21 }
]
},
"advertising": {
"isAdvertising": true,
"activeAdCount": 24,
"adFormats": [
{ "format": "image", "count": 7 },
{ "format": "video", "count": 3 }
],
"sampleAdCreatives": [
"See how leading teams cut MTTR with unified observability across metrics, traces and logs.",
"Watch your whole stack in one place — start a 14-day free trial."
]
},
"signalSummary": "hiring (high, 200 roles) · advertising (24 ads)",
"sources": {
"firmographics": "LinkedIn company page",
"hiring": "LinkedIn public jobs (f_C)",
"advertising": "LinkedIn Ad Library (public)"
},
"scrapedAt": "2026-07-05T09:12:44.031Z"
}

Input & filters

This is an enrichment Actor: you supply the companies, it returns one fused record for each. It does not discover or search for companies — pair it with a discovery source (or a LinkedIn search Actor) to build the list.

  • Companies (required) — a list of LinkedIn company URLs or bare slugs, e.g. stripe, https://www.linkedin.com/company/datadog/. Duplicates and unparseable entries are dropped.
  • Include hiring signals (default on) — fuse open-role count, 7d/30d velocity, momentum and department breakdown.
  • Include advertising signals (default on) — fuse Ad Library activity: is-advertising, ad count, formats, sample creatives.
  • Proxy (default Residential) — LinkedIn rate-limits and blocks datacenter/un-proxied traffic, so residential is strongly recommended.

Turning a signal off makes runs faster and cheaper when you only need part of the 360.

Example inputs (copy & paste)

// 1) Full 360 on a target-account list — firmographics + hiring + ads
{ "companies": ["stripe", "datadog", "https://www.linkedin.com/company/notion/"],
"includeHiring": true, "includeAdvertising": true }
// 2) Recruiting focus — firmographics + hiring only (skip ads — faster)
{ "companies": ["figma", "canva"], "includeHiring": true, "includeAdvertising": false }
// 3) ABM / in-market — advertising signals only (skip hiring)
{ "companies": ["hubspot", "salesforce"], "includeHiring": false, "includeAdvertising": true }
// 4) Pure firmographics enrichment — both signals off (fastest)
{ "companies": ["openai", "anthropic"], "includeHiring": false, "includeAdvertising": false }
// 5) Full 360 via exact LinkedIn URLs — dodge namesake slugs
{ "companies": ["https://www.linkedin.com/company/stripe/", "https://www.linkedin.com/company/datadog/"],
"includeHiring": true, "includeAdvertising": true }

Use cases

  • Account prioritisation. Score a target list by size × hiring momentum × ad activity. signalSummary answers "is this account worth a call?" in one line — growing, in-market, or quiet — so reps work the live accounts first.
  • Competitive & market monitoring. Schedule the same company list on a cadence and watch one record move as a rival ramps hiring or spins up ad campaigns — an early read on expansion and go-to-market pushes.
  • CRM enrichment. Feed a list of company URLs or slugs → append current firmographics (size, industry, HQ, website, followers) plus hiring and advertising signals to records you already own.
  • Recruiting & talent intelligence. hiringMomentum + topDepartments show who is scaling and where (Engineering vs. Sales vs. Data & AI) — target agencies, candidates and partnerships at companies that are actually hiring.
  • ABM / in-market detection. isAdvertising and activeAdCount flag companies actively spending on LinkedIn — a buying-intent signal for ABM plays and timing.
  • Investment & competitor research. Combine firmographics with hiring velocity and ad presence to gauge a company's momentum and commercial activity across a sector.

Performance & throughput

Companies are processed a few at a time. For each one the Actor fetches the public company page (firmographics), then — if enabled — pages the public guest-jobs endpoint for open roles (capped at 200, in pages of 10) and fans the LinkedIn Ad Library out across country facets before pulling a sample of ad detail pages. All fetches go through a residential proxy with automatic retry/back-off on rate-limit responses.

Actual wall-clock time depends on your Apify plan, proxy latency and LinkedIn throttling, so it isn't fixed. Two levers control it directly: turn off includeAdvertising (the ad fan-out is the heaviest step) and/or includeHiring when you only need firmographics.

Integrations

JavaScript (apify-client):

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('foxlabs/linkedin-company-360').call({
companies: ['stripe', 'datadog'], includeHiring: true, includeAdvertising: true,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();

Python (apify-client):

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("foxlabs/linkedin-company-360").call(run_input={
"companies": ["stripe", "datadog"], "includeHiring": True, "includeAdvertising": True,
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["companyName"], item.get("signalSummary"))

Also works with Make / n8n / Zapier (Apify app → run this Actor, map the input), scheduled runs, webhooks, and the Apify MCP server so AI agents can call it as a tool.

Data quality

Firmographics are read from the public data LinkedIn embeds on each company page. Name and description are almost always present; employeeCount, industry, hq, followers, website and founded depend on what the company itself publishes. Fields LinkedIn doesn't expose are omitted from the record — never guessed or fabricated.

Hiring and advertising signals require the company's LinkedIn organization id to resolve from its page. When it can't, you still get firmographics plus a note explaining why. Hiring counts come from the public guest-jobs listing and advertising from the public Ad Library, each tagged in sources. Because these numbers reflect what LinkedIn exposes at run time (and are capped — see the field tables), treat them as strong directional signals rather than an exhaustive census.

Pricing

Pay per result — you're billed per company record returned; firmographics, hiring and advertising are gathered in a single pass per company. There's an Apify free tier to evaluate the full feature set before you scale. See the Pricing tab on the Actor for current rates.

FAQ

Do I need a LinkedIn login or cookies? No. The Actor reads only publicly visible pages and endpoints — it's cookieless and never signs in.

Does LinkedIn have an official company API for this? No public one. This Actor accesses public surfaces: the company page, the public guest-jobs listing, and the public LinkedIn Ad Library. See the legal note below.

Can it discover or search for companies? No — it enriches the companies you provide. Give it URLs or slugs and it returns one fused record each. Build the list with your CRM or a LinkedIn search/discovery Actor.

A slug returned the wrong company — why? A bare slug for a common name can match a namesake. Pass the exact https://www.linkedin.com/company/… URL, and verify the returned domain matches the company you meant.

Why do some records have no companyId, hiring or advertising? If the organization id can't be resolved from the page, you get firmographics only and a note field explains it. Both hiring and advertising need that id.

How many roles and ads can it return? Hiring is capped at 200 roles per company (openJobCountIsCapped flags it); advertising at 60 ads (activeAdCountIsCapped), with formats and sample creatives drawn from up to 12 of them.

How fresh is the data? Live — every run fetches the current pages. Schedule it to track accounts over time.

What export formats are available? JSON, CSV, Excel, or via the Apify API and integrations.

Which proxy should I use? Residential (the default). LinkedIn blocks datacenter and un-proxied traffic.

Can I turn the signals off? Yes — includeHiring and includeAdvertising. Off means faster, cheaper, firmographics-only runs.

Troubleshooting

  • A record shows error: "company page unreachable". LinkedIn rate-limited or blocked that fetch even after retries. Keep the residential proxy and re-run — LinkedIn throttles bursts, so smaller batches and spacing help.
  • A record has firmographics only + a note. The organization id didn't resolve from the page. Pass the exact company URL instead of a bare slug and re-run.
  • hiring / advertising missing though enabled. Either companyId didn't resolve, or the company genuinely isn't hiring/advertising (isHiring / isAdvertising would be false). It's the signal, not a miss.
  • Runs feel slow. The ad fan-out (country facets + detail pages) is the heaviest step. Set includeAdvertising: false for fast firmographics-and-hiring pulls.
  • Public data only. Every signal comes from publicly visible LinkedIn surfaces (company page, public guest-jobs listing, public Ad Library). The Actor is cookieless and never logs in, and it collects no personal profiles — hiring and advertising signals are company-level.
  • No official API; your responsibility. LinkedIn provides no public API for this data, and its User Agreement restricts automated collection. This Actor only accesses publicly available information, but you are responsible for your own use and for complying with LinkedIn's terms and applicable law. Use it for legitimate B2B, recruiting and research.
  • Not affiliated with, endorsed by, or sponsored by LinkedIn Corporation. "LinkedIn" is a trademark of its owner.
  • Namesake risk. A bare slug for a common name can resolve to a different company — verify via the returned domain, or pass the exact LinkedIn URL.
  • Caps & scope. Hiring is capped at 200 roles and advertising at 60 ads per company (formats/creatives from up to 12 sampled ads). Deep ad analytics (EU/DSA impressions & targeting) are out of scope — see the dedicated LinkedIn Ad Tracker. Revenue, funding and Glassdoor culture data come from other foXLabs Actors and can be layered on by domain.
  • Never fabricated. Fields LinkedIn doesn't expose are omitted from the record, not guessed.

Support

Questions, a field you'd like added, or a custom build? Open the Issues tab on this Actor, or email info@foxlabs.com.tr. We reply fast.

If this Actor saves you time, a ⭐ review really helps.

Changelog

0.2 — 2026-07-05

  • Reworked docs: API quick-start, full field tables (with hiring / advertising objects), illustrative sample output, example recipes, integration snippets (JS/Python/Make/MCP), FAQ, troubleshooting and honest legal notes.

0.1

  • Initial release. Domain-keyed fusion of firmographics + live hiring signals + active advertising into one record per company, with a one-line signal summary and provenance. Cookieless, no login.

Part of the foXLabs data platform — public-data company, contact, jobs, ads, procurement & AI-search intelligence scrapers. Browse the full suite at data.foxlabs.com.tr.