# searchCompanies

**Identifier:** `vidal_searchCompanies`

**Provider:** [VIDAL France](https://kirha.com/providers/vidal.md)

Find French pharmaceutical companies (laboratoires) by name. Returns company URIs for getCompanyPortfolio. companyTypes filters server-side: HOLDER = AMM titulaire (legal entity responsible for pharmacovigilance), OWNER = exploitant France (operational/commercial responsibility), DISTRIBUTOR = reseller for non-reimbursed products. VIDAL aggregates portfolios per legal entity, so a parent group like Sanofi splits into multiple companies (Sanofi-Aventis France, Sanofi Pasteur, Sanofi Winthrop Industrie…) — query each separately for full coverage.

## Run it with the CLI

```bash
kirha tools run vidal_searchCompanies \
  --input '{}'
```

`--input` takes a JSON object that matches the input schema. Pass `--input -` to read it from stdin.

## Call it over HTTP

```bash
curl https://api.kirha.com/tools/v1/execute \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: **********' \
  --data '{
  "tool_name": "vidal_searchCompanies",
  "input": {}
}'
```

Replace the stars with an API key from https://app.kirha.com/api-keys.

## Input schema

```json
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "companyTypes": {
      "description": "Filter by role: HOLDER = AMM titulaire, OWNER = exploitant France, DISTRIBUTOR = reseller for non-reimbursed products.",
      "items": {
        "enum": [
          "HOLDER",
          "OWNER",
          "DISTRIBUTOR"
        ],
        "type": "string"
      },
      "minItems": 1,
      "type": "array"
    },
    "limit": {
      "default": 20,
      "maximum": 50,
      "minimum": 1,
      "type": "number"
    },
    "offset": {
      "default": 0,
      "maximum": 500,
      "minimum": 0,
      "type": "number"
    },
    "query": {
      "description": "Free-text laboratory name. Tokens match by word-prefix (e.g. 'sano' → SANOFI).",
      "minLength": 2,
      "type": "string"
    },
    "startWith": {
      "description": "Stricter prefix match on the laboratory name (e.g. 'pfi' → PFIZER).",
      "minLength": 1,
      "type": "string"
    }
  },
  "type": "object"
}
```

## Output schema

```json
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false,
  "properties": {
    "companies": {
      "items": {
        "additionalProperties": false,
        "properties": {
          "address": {
            "description": "Registered office address (siège social).",
            "type": "string"
          },
          "archived": {
            "description": "True if the company is archived in the VIDAL referential.",
            "type": "boolean"
          },
          "atuOnly": {
            "description": "True when the entity only exists to carry named-patient imports (ATU, AAC).",
            "type": "boolean"
          },
          "name": {
            "type": "string"
          },
          "packagesOnRecord": {
            "description": "Only when productsOnRecord is 0: the non-AMM items the entity carries.",
            "type": "number"
          },
          "productsOnRecord": {
            "description": "Medicinal products (AMM) held by this entity, marketed or withdrawn. 0 means the group's AMM sit under another of its entities; it may still carry non-AMM items (accessory, parapharmacy) at package scope.",
            "type": "number"
          },
          "sellingType": {
            "description": "Distribution channel, e.g. PHARMA = officine.",
            "type": "string"
          },
          "uri": {
            "type": "string"
          }
        },
        "required": [
          "uri",
          "name",
          "productsOnRecord"
        ],
        "type": "object"
      },
      "type": "array"
    },
    "context": {
      "type": "string"
    },
    "totalFound": {
      "type": "number"
    },
    "uris": {
      "description": "Feed into getCompanyPortfolio to retrieve the laboratory's full product or package portfolio.",
      "items": {
        "type": "string"
      },
      "type": "array"
    }
  },
  "required": [
    "context",
    "companies",
    "uris",
    "totalFound"
  ],
  "type": "object"
}
```

## Related tools

Other VIDAL France tools that this tool refers to, or that refer to it.

- [`getCompanyPortfolio`](https://kirha.com/providers/vidal/getCompanyPortfolio.md)

-----

[All VIDAL France tools](https://kirha.com/providers/vidal.md) · [< Back to tools list](https://kirha.com/tools.md)