> For the complete documentation index, see [llms.txt](https://docs.facephi.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.facephi.com/docs.facephi-en/rest-api/identity-api/identity-api-reference/onboarding/kyc/nigeria/company-verification/cac-search.md).

# CAC Search

Search for companies registered in the **Corporate Affairs Commission** (CAC) of Nigeria by name or registration number (RC number).

### Endpoint

```
GET /kyc/nga/cac/search
```

### Authentication

| Type    | Location | Name          |
| ------- | -------- | ------------- |
| API Key | Header   | **x-api-key** |

### Query parameters

| Parameter | Type   | Required | Description                              |
| --------- | ------ | -------- | ---------------------------------------- |
| `search`  | string | **Yes**  | Company name or RC number to search for. |

### Request example

```
GET /kyc/nga/cac/search?search=acme
```

### Responses

#### `200` Success

#### Response parameters

| Parameter              | Type    | Description                                                                                                                   |
| ---------------------- | ------- | ----------------------------------------------------------------------------------------------------------------------------- |
| `serviceResultCode`    | integer | Code that indicates the **overall result** of the service execution. See [Service Result Code](#service-result-code)          |
| `serviceTime`          | string  | Processing time **(milliseconds)**.                                                                                           |
| `serviceResultLog`     | string  | Descriptive field of the result of the service execution. Includes details when there is an error or exception in the module. |
| `serviceTransactionId` | string  | Transaction identifier associated with the request processed by the API.                                                      |
| `data`                 | array   | **Array** with the found companies (no container object). See table below.                                                    |

#### Response parameters — `data[]`

Each array element represents a company registered with the CAC:

| Parameter                    | Type           | Description                                                         |
| ---------------------------- | -------------- | ------------------------------------------------------------------- |
| `id`                         | integer        | Unique company identifier in the CAC database.                      |
| `approved_name`              | string         | Registered (approved) company name.                                 |
| `rc_number`                  | string         | Registration number (RC Number).                                    |
| `classification`             | string         | Entity classification. Possible values: `company`, `business`, `IT` |
| `classification_id`          | integer        | Numeric code for the classification.                                |
| `active`                     | boolean        | Indicates whether the company is currently active.                  |
| `registration_approved`      | boolean        | Indicates whether the registration is approved.                     |
| `registration_date`          | string         | Registration date (ISO 8601 format).                                |
| `business_commencement_date` | string \| null | Business start date.                                                |
| `head_office_address`        | string         | Head office address.                                                |
| `branch_address`             | string         | Branch address.                                                     |
| `address`                    | string         | Physical address.                                                   |
| `city`                       | string         | City.                                                               |
| `state`                      | string         | Status.                                                             |
| `lga`                        | string         | Local Government Area (LGA).                                        |
| `email`                      | string         | Contact email address.                                              |
| `objectives`                 | string         | Company purpose / declared activity.                                |
| `company_type_name`          | string \| null | Company type.                                                       |
| `nature_of_business_name`    | string \| null | Nature of business.                                                 |
| `delisting_status`           | string \| null | Delisting status (if applicable).                                   |

#### Service Result Code

The `serviceResultCode` indicates the overall result of the service execution:

| serviceResultCode | Description                                                                       | HTTP Code |
| ----------------- | --------------------------------------------------------------------------------- | --------- |
| 200               | The service execution was successful, the module processed the request correctly. | 200       |

#### Response example

```json
{
  "serviceResultCode": 200,
  "serviceTime": "1200",
  "serviceResultLog": "Success",
  "serviceTransactionId": "b18e902f-01f9-8e0i-e53e-9f3589eg99gh",
  "data": [
    {
      "id": 300075,
      "approved_name": "ACME TECHNOLOGIES NIGERIA LIMITED",
      "rc_number": "1234567",
      "classification": "company",
      "classification_id": 2,
      "active": true,
      "registration_approved": true,
      "registration_date": "2020-05-15T00:00:00.000+00:00",
      "business_commencement_date": null,
      "head_office_address": "1 MAIN STREET, IKEJA",
      "branch_address": "",
      "address": "LEKKI PHASE 1",
      "city": "IKEJA LGA",
      "state": "LAGOS",
      "lga": "",
      "email": "",
      "objectives": "",
      "company_type_name": null,
      "nature_of_business_name": null,
      "delisting_status": null
    },
    {
      "id": 300076,
      "approved_name": "ACME MICROFINANCE BANK LIMITED",
      "rc_number": "7654321",
      "classification": "company",
      "classification_id": 2,
      "active": true,
      "registration_approved": true,
      "registration_date": "2018-03-22T00:00:00.000+00:00",
      "business_commencement_date": null,
      "head_office_address": "12 AWOLOWO ROAD, IKOYI",
      "branch_address": "",
      "address": "IKOYI",
      "city": "ETI-OSA LGA", 
      "state": "LAGOS",
      "lga": "",
      "email": "",
      "objectives": "",
      "company_type_name": null,
      "nature_of_business_name": null,
      "delisting_status": null
    }
  ]
}
```

#### `400` Bad Request

Error returned with the service envelope (`serviceResultCode` reflects the HTTP status code of the response):

```json
{
  "serviceResultCode": 400,
  "serviceResultLog": "Sorry, lookup failed. Please check the details and try again",
  "serviceTime": "151",
  "serviceTransactionId": "08ac9699-dc9e-4cdc-81d7-264f71838309"
}
```

#### `502` Bad Gateway

Returned when the service is temporarily unavailable or its response could not be interpreted. The body uses the service envelope with `serviceResultCode: 500`:

```json
{
  "serviceResultCode": 500,
  "serviceResultLog": "Service temporarily unavailable. Please try again later",
  "serviceTime": "3000",
  "serviceTransactionId": "38de2932-0f2h-7gff-14g0-597h04161632"
}
```

#### `504` Gateway Timeout

Timeout error **timeout**, returned with the service envelope:

```json
{
  "serviceResultCode": 504,
  "serviceResultLog": "Request timeout. Please try again",
  "serviceTime": "30000",
  "serviceTransactionId": "48ef3043-1g3i-8hgg-25h1-608i15272743"
}
```

{% hint style="info" %}
Authentication errors (`401`/`403`) are rejected by the **gateway before reaching the service** and **do not** use the envelope `serviceResultCode`. Platform validation errors use the format `application/problem+json`. See [Error handling](/docs.facephi-en/rest-api/identity-api/identity-api-reference/onboarding/kyc/nigeria.md#manejo-de-errores) for details on the three response formats.
{% endhint %}
