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

# Search CAC's register

> Businesses on CAC's register that match a name or number, best match first: the registered name, the
register (BN, RC, IT, LP or LLP), status and registration date. Free, in both modes; test keys search the
real register too. At most 30 searches a minute with a live key, 10 with a test key.



## OpenAPI

````yaml /openapi.json get /businesses/search
openapi: 3.1.0
info:
  title: FastCAC API
  description: Register Nigerian businesses with CAC from your own product.
  version: '2026-11-01'
servers:
  - url: https://api.fastcac.com/v1
security:
  - apiKey: []
tags:
  - name: Account
    description: Check your key and see your organization.
  - name: Names
    description: >-
      Check a business name against CAC's rules and registry, and the categories
      it takes, before registering it.
  - name: Registrations
    description: Register a Business Name with CAC, from draft to certificate.
  - name: Lookup
    description: >-
      Search CAC's register for free, and look up a business's full record with
      its officers.
  - name: Verification
    description: >-
      Check that a business your applicant names is real, active and run by the
      people they say.
  - name: Monitoring
    description: >-
      Watch businesses on CAC's register and get an event when one goes inactive
      or changes name.
  - name: Identities
    description: >-
      Look up a proprietor's NIN with NIMC, to prefill a registration and use
      their photo.
  - name: Balance
    description: >-
      Your prepaid wallet: what's available, its transactions and your funding
      account.
  - name: Test helpers
    description: >-
      Test keys only: move a registration on without waiting, or simulate a
      deposit.
  - name: Webhooks
    description: Endpoints that receive events, and the events sent to them.
  - name: Webhook events
    description: What FastCAC POSTs to your webhook endpoints.
paths:
  /businesses/search:
    get:
      tags:
        - Lookup
      summary: Search CAC's register
      description: >-
        Businesses on CAC's register that match a name or number, best match
        first: the registered name, the

        register (BN, RC, IT, LP or LLP), status and registration date. Free, in
        both modes; test keys search the

        real register too. At most 30 searches a minute with a live key, 10 with
        a test key.
      operationId: search_businesses_businesses_search_get
      parameters:
        - name: query
          in: query
          required: true
          schema:
            type: string
            description: >-
              A business name, or a registration number with or without its
              prefix: "Ada Foods", "8911267", "RC 8911267", "BN-8561321".
            title: Query
          description: >-
            A business name, or a registration number with or without its
            prefix: "Ada Foods", "8911267", "RC 8911267", "BN-8561321".
        - name: simulate
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              Test keys only: cac_search_unavailable (503). Ignored with a live
              key.
            title: Simulate
          description: >-
            Test keys only: cac_search_unavailable (503). Ignored with a live
            key.
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V1CacRecordList'
              examples:
                By name:
                  value:
                    object: list
                    data:
                      - object: cac_record
                        number: '7654321'
                        type: RC
                        type_label: Company
                        name: ADA FOODS LIMITED
                        status: ACTIVE
                        active: true
                        registered_on: '2024-03-18'
                      - object: cac_record
                        number: '1234567'
                        type: BN
                        type_label: Business name
                        name: ADA FOODS VENTURES
                        status: INACTIVE
                        active: false
                        registered_on: '2023-08-02'
                    has_more: false
                By number:
                  value:
                    object: list
                    data:
                      - object: cac_record
                        number: '7654321'
                        type: RC
                        type_label: Company
                        name: ADA FOODS LIMITED
                        status: ACTIVE
                        active: true
                        registered_on: '2024-03-18'
                    has_more: false
        '400':
          description: The request is invalid; `param` names the field.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                Example:
                  value:
                    error:
                      type: invalid_request_error
                      code: parameter_invalid
                      message: >-
                        Send a business name or registration number, at least 2
                        characters.
                      param: query
                      request_id: req_Ki1NnJPCI7lXwHsoBtYgBikN
        '401':
          description: The API key is missing, malformed, revoked or expired.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                Example:
                  value:
                    error:
                      type: authentication_error
                      code: api_key_missing
                      message: 'Send your API key as `Authorization: Bearer <key>`.'
                      param: null
                      request_id: req_8r9FEwNmLuxQORZX5Qhvkd0q
        '403':
          description: >-
            The key can't do this (for example, a test helper called with a live
            key).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                Example:
                  value:
                    error:
                      type: permission_error
                      code: live_mode_unavailable
                      message: >-
                        Live registrations are paused right now. Use a test key
                        (fc_test_…) meanwhile.
                      param: null
                      request_id: req_Td9lI1vsT5ARzv0XD7RGS1tD
        '404':
          description: No such object for this key's organization and mode.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                Example:
                  value:
                    error:
                      type: not_found_error
                      code: resource_missing
                      message: 'No such registration: reg_0000000000000000000000.'
                      param: id
                      request_id: req_PLJYvLLT2WjhIywrPjlhgIGv
        '409':
          description: >-
            The object's state doesn't allow this, or the Idempotency-Key was
            reused.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Too many requests; wait for `Retry-After` seconds.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          description: '`cac_search_unavailable`: CAC''s search didn''t answer.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V1Error'
              examples:
                Example:
                  value:
                    error:
                      type: api_error
                      code: cac_search_unavailable
                      message: CAC's search is busy or down. Try again in a minute.
                      param: null
                      request_id: req_Xezy8XsYQJTtLfZV3IRsSyed
components:
  schemas:
    V1CacRecordList:
      properties:
        object:
          type: string
          const: list
          title: Object
          default: list
        data:
          items:
            $ref: '#/components/schemas/V1CacRecord'
          type: array
          title: Data
          description: Up to 50 records, best match first.
        has_more:
          type: boolean
          title: Has More
          description: 'Always false: CAC returns at most 50 records for a search.'
      type: object
      required:
        - data
        - has_more
      title: V1CacRecordList
    Error:
      properties:
        error:
          $ref: '#/components/schemas/ErrorDetail'
      required:
        - error
      title: V1Error
      type: object
    V1Error:
      properties:
        error:
          $ref: '#/components/schemas/ErrorDetail'
      required:
        - error
      title: V1Error
      type: object
    V1CacRecord:
      properties:
        object:
          type: string
          const: cac_record
          title: Object
          default: cac_record
        number:
          type: string
          title: Number
          description: The registration number, digits only, as CAC stores it.
        type:
          type: string
          enum:
            - BN
            - RC
            - IT
            - LP
            - LLP
          title: Type
          description: >-
            The register: BN business name, RC company, IT incorporated
            trustees, LP limited partnership, LLP limited liability partnership.
        type_label:
          type: string
          title: Type Label
          description: The register in words, such as "Business name".
        name:
          type: string
          title: Name
          description: The registered name.
        status:
          type: string
          title: Status
          description: 'As CAC lists it: ACTIVE, INACTIVE, STRUCK OFF and so on.'
        active:
          type: boolean
          title: Active
          description: True when `status` is ACTIVE.
        registered_on:
          anyOf:
            - type: string
            - type: 'null'
          title: Registered On
          description: YYYY-MM-DD.
      type: object
      required:
        - number
        - type
        - type_label
        - name
        - status
        - active
        - registered_on
      title: V1CacRecord
    ErrorDetail:
      properties:
        type:
          type: string
          enum:
            - invalid_request_error
            - authentication_error
            - payment_error
            - permission_error
            - not_found_error
            - idempotency_error
            - rate_limit_error
            - api_error
          title: Type
        code:
          type: string
          title: Code
          description: Stable and machine-readable, e.g. registration_incomplete.
        message:
          type: string
          title: Message
          description: For a developer to read; may change.
        param:
          anyOf:
            - type: string
            - type: 'null'
          title: Param
          description: The parameter at fault, as a path like proprietors[0].nin.
        request_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Request Id
          description: Also in the FastCAC-Request-Id header. Quote it to support.
        details:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Details
          description: >-
            Only on some errors. A 402 insufficient_balance carries amount_due,
            balance, currency and funding_account (number, bank, name; null
            until it's active).
      type: object
      required:
        - type
        - code
        - message
        - param
        - request_id
      title: ErrorDetail
  securitySchemes:
    apiKey:
      type: http
      scheme: bearer
      description: 'Your secret API key: fc_test_… in test mode, fc_live_… in live mode.'

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.