---
title: "List or search companies."
method: GET
path: "/v3/companies"
tags: ["Companies"]
---

# List or search companies.

`GET /v3/companies`

## Request

- Base URL: `https://api.datocapital.com`
- URL: `https://api.datocapital.com/v3/companies`
- Auth: HTTP bearer

Two paths:
- **Filter mode** when `q` is absent: filter by `country`,
  `company_number`, `company_type_code`, `status`, `superseded`,
  `incorporation_from`/`incorporation_to`, geo (`near`/`bbox`),
  paginated by name.
- **Search mode** when `q` is present: full-text on
  company name, optional `country` filter, ranked by score.

## Query parameters

- `q` string
- `country` string
- `company_number` string
- `company_number_secondary` string
- `company_type_code` string
- `status` 'open' | 'closed'
- `superseded` boolean
- `incorporation_from` string, date
- `incorporation_to` string, date
- `near` string
- `radius` number
- `radius_unit` 'm' | 'km' | 'mi'
- `bbox` string
- `language` 'en' | 'es' | 'fr' | 'nl'
- `page_size` integer
- `cursor` string

## Response `200`

ok

- CompanyList
  - `data` Company[]
    - `uec` string
    - `name` string
    - `name_original` string
    - `name_commercial` string
    - `country` string
    - `country_of_origin` string
    - `company_number` string
    - `company_number_secondary` string
    - `incorporation_date` string, date
    - `published_on` string, date
    - `dissolution_date` string, date
    - `company_type` CompanyType
      - `id` string
      - `code` string
      - `name_local` string
      - `country` string
    - `status` CompanyStatus
      - `id` string
      - `name_local` string
      - `is_closed` boolean
    - `registered_address` Address
      - `line1` string
      - `line2` string
      - `postal_code` string
      - `city` string
      - `region` string
      - `country` string
      - `latitude` number
      - `longitude` number
    - `website` string
    - `principal_activity` string
    - `corporate_purpose` string
    - `subscribed_capital` number
    - `paid_in_capital` number
    - `superseded_by` Supersession
      - `uec` string
      - `reason` 'name_change' | 'address_change' | 'duplicate_name' | 'transformation' | 'dissolution' | 'extinction' | 'different_company_number'
      - `url` string
    - `url` string
    - `representatives_url` string
    - `filings_url` string
    - `connections_url` string
    - `sources_url` string
  - `next_cursor` string, nullable
  - `has_more` boolean
  - `total_estimate` integer: Search-mode only (when `q` is set).

## Other responses

- `400`: 400 — bad parameter shape or value.
- `401`: 401 — missing or invalid bearer token.
- `403`: 403 — endpoint requires a higher plan. `X-Required-Plan` header carries the unlock plan.
- `429`: 429 — the per-minute, per-day or per-month limit of your plan is reached. `Retry-After` in seconds.

---

[API](https://skmtc.dev/datocapital/apis/datocapital-api.md) · [All operations](https://skmtc.dev/datocapital/apis/datocapital-api/llms.txt) · [OpenAPI document](https://skmtc.dev/datocapital/apis/datocapital-api/revisions/c0257df2db1a?raw)
