# LinkedIn Company API. Pay per record.

> LinkedIn company data as JSON: industry, size, employees, website and HQ. $0.004 per company, pay as you go, no subscription.

Canonical: https://apiforagents.dev/platforms/linkedin/company-api · Updated 2026-10-21

Turn a LinkedIn company page into structured data: industry, size, employee count, followers, website, headquarters, founding year and specialities. Up to ten companies per call, priced per company.

- Price: $0.004 / company
- Billed: Per record
- Free to start: $0.10
- Endpoint: POST /v1/linkedin

## What people build with the LinkedIn Company API

- **Firmographics for a CRM.** Fill in industry, size and headquarters for every account in a list, from the company's own LinkedIn page.
- **Qualify accounts.** Let an agent check employee count and industry before it adds a company to an outbound sequence.
- **Track competitors.** Read follower counts and specialities over time, each measured with a date you can trust.

## Quote it, then run it

1. free quote: the exact price, nothing charged:

```bash
curl -X POST https://apiforagents.dev/v1/linkedin \
  -H "Authorization: Bearer $AFA_KEY" \
  -H "Content-Type: application/json" \
  -d '{"op":"companies","subjects":["microsoft"],"estimateOnly":true}'
```

2. the same call, run:

```bash
curl -X POST https://apiforagents.dev/v1/linkedin \
  -H "Authorization: Bearer $AFA_KEY" \
  -H "Content-Type: application/json" \
  -d '{"op":"companies","subjects":["microsoft"]}'
```

## Inputs

Everything you can send in one companies call. Required inputs first.

| Input | Type | What it does |
|---|---|---|
| subjects * | text list | /company/<slug> handles or URLs. 1-10 items |

## What comes back

The fields of every row, always present. Nothing is guessed: a value that could not be measured is null, and the answer's coverage says why.

| Field | Type |
|---|---|
| universalName | string |
| urn | string |
| name | string |
| industry | string |
| sizeBucket | string |
| employeesCount | integer |
| followers | integer |
| website | string |
| linkedinUrl | string |
| hqLocation | string |
| hqStreet | string |
| hqCity | string |
| hqState | string |
| hqPostalCode | string |
| hqCountry | string |
| about | string |
| founded | integer |
| specialities | list of string |
| logoUrl | string |
| pageType | string |
| isVerified | boolean |
| isActive | boolean |
| jobsUrl | string |
| callToActionUrl | string |
| locations | list of object |
| employeesByLocation | list of object |
| details | object |

details is always the last field: everything else the source sent for that row, under our own field names. Its keys depend on the source that answered, so read them defensively; it is {} when there is nothing more.

## A sample answer

Made-up names and values in the real field names, so you can see the shape before you spend anything.

| universalName | name | industry | sizeBucket | employeesCount | followers |
|---|---|---|---|---|---|
| paylane | Paylane | Financial Services | 201-500 | 342 | 48210 |
| northfold | Northfold | Software Development | 51-200 | 128 | 15904 |
| kitebank | Kitebank | Banking | 1001-5000 | 2410 | 210388 |

## Pricing

Pay as you go, in US dollars, per record. No subscription, nothing expires, $5 first top-up, and every new agent starts with $0.10 free.

| Request | Records | At the list price |
|---|---|---|
| One company | 1 | $0.004 |
| 10 companies | 10 | $0.04 |

These are per-record list prices. Some calls also carry a minimum, such as a page of search results, so a small request can cost more than the table shows. The quote ("estimateOnly": true) is free, gives the most your exact request can cost, and the charge then settles to what came back. Records that do not come back are refunded.

## Try it without writing code

- [Open the LinkedIn Company API in the playground](https://apiforagents.dev/dashboard/run?platform=linkedin&op=companies): The playground runs any endpoint by hand: pick a platform and what you want from it, fill a short form named in plain words (or press Use sample input), see the free quote on the Run button, run it, then read the answer as a table or JSON and download it as CSV or JSON. The same call is written out as cURL, Python and Node while you type.

## Why this one, and not a scraper you run yourself

- No login, no LinkedIn account, no cookies, no proxies, no browser to babysit.
- When the site changes its pages, your request stays the same: keeping the reads working is our job, not yours.
- A fetch that fails costs nothing: it is named in the answer with a reason, and the quote says the most a call can cost before it runs.

## Questions

### What does the LinkedIn Company API return?

One row per company: universalName, name, industry, size bucket, employee count, followers, website, headquarters location, about, founding year and specialities.

### How much does it cost?

$0.004 per company, pay as you go, with a free quote before every call and a refund for any company that does not come back.

### How do I identify a company?

By its /company/<slug> handle or the full LinkedIn company URL. Up to ten per call.

### Can I search for companies instead of looking one up?

Yes. The company search operation finds companies by keyword, location, size and industry, and returns the same fields.

## Why API for Agents

- One key for 26 platforms: social, commerce, jobs, places, search and contacts, with one request shape and one response shape.
- A free quote before any spend: add "estimateOnly": true to any call and see the most it can cost.
- Pay per record in US dollars. No subscription, nothing expires, top-ups from $5.
- $0.10 free to try, no card. An AI agent can sign itself up in one request; a person claims it later.
- Measured, not estimated: every answer says when each row was measured, whether it was fresh or a recent capture, and how sure to be of each field.
- Partial success is success: anything that could not be fetched is named with a reason, and the charge settles to what came back, never above the quote.
- Typed fields that keep their names whichever source answered, and a details object last with everything else the source sent, under our own field names.
- Try any endpoint in the playground and download the answer as CSV or JSON.

## Start

The playground runs any endpoint by hand: pick a platform and what you want from it, fill a short form named in plain words (or press Use sample input), see the free quote on the Run button, run it, then read the answer as a table or JSON and download it as CSV or JSON. The same call is written out as cURL, Python and Node while you type. Open it at https://apiforagents.dev/dashboard/run?platform=linkedin&op=companies (sign in first).

Agents register at https://apiforagents.dev/auth.md (one POST, $0.10 free). People: https://apiforagents.dev/docs#start. Prices: https://apiforagents.dev/pricing.md
