> ## Documentation Index
> Fetch the complete documentation index at: https://docs.particle.pro/llms.txt
> Use this file to discover all available pages before exploring further.

# External links

> Every third-party identifier a company carries — LinkedIn, social profiles, its registrable domain, stock tickers, SEC CIK, and Wikidata QID — in one normalized shape.

A company is identified differently by everyone who tracks it: LinkedIn
by a slug, the SEC by a CIK, an exchange by a ticker, a sales tool by
its domain, Wikidata by a QID. The **external-links** endpoint returns
every one of those in a single shape — the platform, the
platform-native identifier, and a ready-to-use URL where one exists.

<Tip>
  This page is the **forward** index: given a company, list every
  identifier we hold for it. To go the other way — given a LinkedIn
  slug, domain, ticker, or CIK, find the matching company, in bulk —
  use [`GET /v1/entities/lookup`](/entities/lookup).
</Tip>

Use this endpoint when you want to:

* Enrich your own company records with identifiers you do not yet hold.
* Join Particle companies to a dataset keyed by LinkedIn, ticker, or CIK.
* Build a "find this company on…" UI without per-platform URL templates.

## List external links for a company

Identify the company by slug, domain, or ID.

<CodeGroup>
  ```bash curl theme={"dark"}
  curl "https://api.particle.pro/v1/companies/apple.com/external-links" \
    -H "X-API-Key: $PARTICLE_API_KEY"
  ```

  ```javascript JavaScript theme={"dark"}
  const res = await fetch(
    "https://api.particle.pro/v1/companies/apple.com/external-links",
    { headers: { "X-API-Key": process.env.PARTICLE_API_KEY } },
  );
  const { data } = await res.json();
  ```

  ```python Python theme={"dark"}
  import os, requests

  r = requests.get(
      "https://api.particle.pro/v1/companies/apple.com/external-links",
      headers={"X-API-Key": os.environ["PARTICLE_API_KEY"]},
  )
  links = r.json()["data"]
  ```
</CodeGroup>

```jsonc theme={"dark"}
{
  "data": [
    {
      "platform": { "name": "domain", "display_name": "Website Domain", "type": "website" },
      "identifier": "apple.com",
      "url": "https://apple.com"
    },
    {
      "platform": { "name": "linkedin", "display_name": "LinkedIn", "type": "social_profile" },
      "identifier": "company/apple",
      "url": "https://www.linkedin.com/company/apple/"
    },
    {
      "platform": { "name": "ticker", "display_name": "Stock Ticker", "type": "other" },
      "identifier": "AAPL"
    }
  ],
  "has_more": false
}
```

Every `identifier` here is accepted by
[`GET /v1/entities/lookup`](/entities/lookup), so the two endpoints
round-trip.

## Platforms

| Platform                           | Identifier             | Coverage               |
| ---------------------------------- | ---------------------- | ---------------------- |
| `domain`                           | `apple.com`            | Near-universal         |
| `linkedin`                         | `company/apple`        | Broad                  |
| `twitter`, `facebook`, `instagram` | Handle                 | Partial                |
| `ticker`                           | `AAPL`                 | Public companies only  |
| `sec`                              | CIK, e.g. `0000320193` | SEC filers only        |
| `wikidata`                         | QID, e.g. `Q312`       | Notable companies only |

<Note>
  A company can carry several tickers — a dual-listed or multi-class
  company holds one row per symbol. Every other platform is one
  identifier per company.

  Symbols are read live from the company's ticker records rather than
  stored alongside the other identifiers, so they are never stale.
</Note>

## Behavior and edge cases

### Identifiers also appear inline on the company

`GET /v1/companies/{id}` returns the same list as `external_links`
alongside the company, so fetching a single company does not need a
second call. The list endpoint `GET /v1/companies` omits it.

### `url` is absent where no canonical page exists

A ticker symbol identifies a company but has no single web page that
represents it, so those rows carry an identifier and no URL.

### Discovery is asynchronous

Identifiers that come from a company's own record — domain, ticker,
CIK, QID — are present as soon as the company is. Social profiles are
discovered separately, so a newly created company may not carry them
yet.

## Related

* [Look up a company by identifier](/entities/lookup)
* [Companies overview](/companies/overview)
* [A person's external links](/api-reference/people/list-person-external-links)
