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

# Company branches

> List a company's registered branches - its secondary registered locations - alongside its headquarters.

`syrto_list_company_branches` lists the secondary locations a company has registered in the business register, paginated, with its headquarters returned separately.

**Related tools:** For the company's own profile and registered address, use [Company overview](/mcp/tools/company-overview). For subsidiaries and group structure, use [Company structure](/mcp/tools/company-structure).

## What counts as a branch

A branch here is a secondary location of the **same legal entity** as recorded in the business register - in Italian, a *sede secondaria* or *unità locale*. Two things it is not:

* **Not the headquarters.** The registered head office comes back separately as `headquarters`, is never listed among `branches`, and is the location [Company overview](/mcp/tools/company-overview) reports and every geographic search filter matches on. A branch address and the headquarters address can coincide, so "not the HQ address" is not what makes a location a branch.
* **Not a subsidiary**, or any other separate company. Subsidiaries are different legal persons with their own company IDs and their own filings - [Company structure](/mcp/tools/company-structure) covers those. A branch has no company ID of its own.

<Note>
  These are registry records of registered locations, and that is all they are. They do not establish that a site is currently operating or staffed, what kind of site it is (factory, warehouse, shop, office), that it defines a sales territory, or that revenue arises in that area - the register records none of that. An empty list means no secondary location is registered, which is not evidence that the business operates from a single site.
</Note>

Branches carry no name of their own. A registered branch is the same legal person as the company, so the register holds the company's legal name for each one; it appears in the response once, as `company_name`.

## Use this tool to

* Find where a company has registered locations beyond its registered address, and how many
* Get the addresses of a company's registered locations

## Arguments

<ParamField query="company_id" type="string" required>
  The company ID from [`syrto_find_company`](/mcp/tools/find-company).
</ParamField>

<ParamField query="after" type="string">
  Pagination cursor. Pass the `end_cursor` from a previous response to fetch the next page of 100 branches. Omit for the first page.
</ParamField>

<ParamField query="language" type="string">
  `"en"` for English (default) or `"it"` for Italian.
</ParamField>

## Returns

<ResponseField name="company_id" type="string">
  The ID this answer is for.
</ResponseField>

<ResponseField name="company_name" type="string">
  The company's legal name - and the registered name of every branch below.
</ResponseField>

<ResponseField name="consolidated" type="boolean">
  Which statement this ID names. Both statements of a company share one branch network, so this does not change the answer.
</ResponseField>

<ResponseField name="headquarters" type="object">
  The registered head office - **not** a branch. Same fields as each branch below.
</ResponseField>

<ResponseField name="branches_total" type="integer">
  How many registered branches the company has in total, which is not necessarily how many are on this page.
</ResponseField>

<ResponseField name="has_next_page" type="boolean">
  Whether more branches exist beyond this page.
</ResponseField>

<ResponseField name="end_cursor" type="string">
  Pass as `after` for the next page. Absent on a last page, and absent in the rare case where more branches remain but no cursor came back - `warning` says so, and the list is then partial with no way to page on.
</ResponseField>

<ResponseField name="branches" type="object[]">
  This page of registered branches, each with:

  * `address` - street line, e.g. `"VIA ROMA 135/139"`
  * `city`, `postal_code`, `country_code`
  * `nuts` - EU NUTS region codes: `level_1` (macro-region), `level_2` (region, what [Company overview](/mcp/tools/company-overview) calls `region`), `level_3` (province). Any of them can be passed to the `nuts` search filter, or to `group_by` in [Aggregate companies](/mcp/tools/aggregate-companies), to query that area
  * `lau` - LAU (municipality) code, accepted by the `lau` filter

  A field is absent when the register holds no value for it.
</ResponseField>

<ResponseField name="note" type="string">
  Context note about data availability and where to find more on syrto.ai.
</ResponseField>

<ResponseField name="source_url" type="string">
  Link to the Syrto web app, where you can explore more data and insights.
</ResponseField>

<ResponseField name="warning" type="string | null">
  Present when the page is partial in a way the other fields do not show - notably when more branches remain but no cursor came back to reach them.
</ResponseField>

<Note>
  An empty `branches` with `branches_total` of `0` is a valid, complete answer: the company has no registered branches. It is not a failure.
</Note>

## Example

**List the registered branches of a company:**

```json theme={null}
{
  "company_id": "Zm86SVRfMDE2NTQwMTAzNDVfVTox"
}
```

**Response (abbreviated):**

```json theme={null}
{
  "result": {
    "company_id": "Zm86SVRfMDE2NTQwMTAzNDVfVTox",
    "company_name": "BARILLA G. E R. FRATELLI - SOCIETÀ PER AZIONI",
    "consolidated": false,
    "headquarters": {
      "address": "VIA MANTOVA 166",
      "city": "PARMA",
      "postal_code": "43122",
      "country_code": "IT",
      "nuts": { "level_1": "ITH", "level_2": "ITH5", "level_3": "ITH52" },
      "lau": "034027"
    },
    "branches_total": 12,
    "has_next_page": false,
    "branches": [
      {
        "address": "VIA CADUTI DI CEFALONIA 1",
        "city": "PEDRIGNANO",
        "postal_code": "43122",
        "country_code": "IT",
        "nuts": { "level_1": "ITH", "level_2": "ITH5", "level_3": "ITH52" },
        "lau": "034027"
      }
    ]
  },
  "note": "Syrto data summary. More metrics, benchmarks, and insights are available at https://www.syrto.ai",
  "source_url": "https://app.syrto.ai"
}
```
