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

# Business Registration Check

> Verify business registration and legal status through OpenCorporates

The Business Registration check validates a business's legal registration status by searching global corporate registries through OpenCorporates. This check confirms the business exists as a registered legal entity and provides key registration details.

## Overview

The check examines:

* Business registration in official corporate registries
* Legal entity status and type
* Registration number and jurisdiction
* Incorporation date and current status
* Company officers and directors (when available)

## Running the Check

### API Endpoint

```bash theme={null}
POST https://api.parcha.ai/api/v1/startKYBAgentJob
```

### Request Parameters

<Warning>
  **Important**: You must use your own agent key, not a default or public agent key. Your agent key can be found in the Parcha dashboard under your agent's settings, or in the "Test API Integration" dialog.
</Warning>

<ParamField body="agent_key" type="string" required>
  Your KYB agent key from the Parcha dashboard. This is unique to your organization and agent configuration.
</ParamField>

<ParamField body="check_id" type="string" required>
  Use `"kyb.open_corporates_business_check"` for business registration verification.
</ParamField>

<ParamField body="payload" type="object" required>
  The business information for verification.

  <Expandable title="Payload Properties">
    <ParamField body="id" type="string" required>
      A unique identifier for this check case.
    </ParamField>

    <ParamField body="self_attested_data" type="object" required>
      <ParamField body="business_name" type="string" required>
        The legal name of the business to verify.
      </ParamField>

      <ParamField body="registered_business_name" type="string">
        The official registered name if different from business name.
      </ParamField>

      <ParamField body="business_registration_number" type="string">
        The company registration or incorporation number.
      </ParamField>

      <ParamField body="address_of_incorporation" type="object">
        <ParamField body="country_code" type="string">
          The country code where the business is registered (ISO 3166-1 alpha-2).
        </ParamField>

        <ParamField body="state" type="string">
          The state or region of incorporation.
        </ParamField>
      </ParamField>

      <ParamField body="incorporation_date" type="string">
        The date of incorporation (YYYY-MM-DD format).
      </ParamField>
    </ParamField>
  </Expandable>
</ParamField>

### Example Request

<CodeGroup>
  ```bash cURL theme={null}
  curl -X POST 'https://api.parcha.ai/api/v1/startKYBAgentJob' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "agent_key": "your-kyb-agent-key",
    "check_id": "kyb.open_corporates_business_check",
    "payload": {
      "id": "registration-check-001",
      "self_attested_data": {
        "business_name": "Acme Corporation",
        "registered_business_name": "ACME CORPORATION INC",
        "business_registration_number": "C1234567",
        "address_of_incorporation": {
          "country_code": "US",
          "state": "DE"
        },
        "incorporation_date": "2020-01-15"
      }
    }
  }'
  ```

  ```python Python theme={null}
  import requests

  api_key = 'YOUR_API_KEY'
  url = 'https://api.parcha.ai/api/v1/startKYBAgentJob'

  headers = {
      'Authorization': f'Bearer {api_key}',
      'Content-Type': 'application/json'
  }

  data = {
      'agent_key': 'your-kyb-agent-key',  # Replace with your actual agent key
      'check_id': 'kyb.open_corporates_business_check',
      'payload': {
          'id': 'registration-check-001',
          'self_attested_data': {
              'business_name': 'Acme Corporation',
              'registered_business_name': 'ACME CORPORATION INC',
              'business_registration_number': 'C1234567',
              'address_of_incorporation': {
                  'country_code': 'US',
                  'state': 'DE'
              },
              'incorporation_date': '2020-01-15'
          }
      }
  }

  response = requests.post(url, json=data, headers=headers)
  print(response.json())
  ```

  ```typescript TypeScript theme={null}
  import axios from 'axios';

  const apiKey = 'YOUR_API_KEY';
  const url = 'https://api.parcha.ai/api/v1/startKYBAgentJob';

  const data = {
    agent_key: 'your-kyb-agent-key',  // Replace with your actual agent key
    check_id: 'kyb.open_corporates_business_check',
    payload: {
      id: 'registration-check-001',
      self_attested_data: {
        business_name: 'Acme Corporation',
        registered_business_name: 'ACME CORPORATION INC',
        business_registration_number: 'C1234567',
        address_of_incorporation: {
          country_code: 'US',
          state: 'DE'
        },
        incorporation_date: '2020-01-15'
      }
    }
  };

  axios.post(url, data, {
    headers: {
      'Authorization': `Bearer ${apiKey}`,
      'Content-Type': 'application/json'
    }
  })
  .then(response => console.log(response.data))
  .catch(error => console.error('Error:', error));
  ```
</CodeGroup>

### Initial Response

```json theme={null}
{
  "id": "job-abc123",
  "status": "PENDING",
  "created_at": "2024-02-15T10:30:00Z",
  "updated_at": "2024-02-15T10:30:00Z",
  "agent_id": "your-agent-key",
  "input_payload": {
    // Original request payload
  }
}
```

## Retrieving Check Results

Once the job is complete, retrieve the results using the job ID with the `getJobByID` endpoint. Make sure to include the `include_check_results=true` parameter to get the full check results.

```bash theme={null}
GET https://api.parcha.ai/api/v1/getJobByID?job_id=job-abc123&include_check_results=true
```

## Check Process

The business registration check follows these steps:

1. **Registry Search**
   * Searches OpenCorporates database by business name
   * Filters by jurisdiction if provided
   * Matches against registration number if provided

2. **Entity Verification**
   * Confirms business exists as registered entity
   * Validates registration details match self-attested data
   * Extracts current status (active, dissolved, etc.)

3. **Data Extraction**
   * Retrieves incorporation date
   * Extracts registration/company number
   * Identifies business type and jurisdiction
   * Collects officer information (when available)

4. **Validation**
   * Cross-references self-attested data with registry data
   * Flags discrepancies in key details
   * Confirms business is in good standing

## Check Results

### Response Structure

```typescript theme={null}
{
  type: "BusinessRegistrationCheckResult";
  passed: boolean;
  company_found: boolean;
  registry_data?: {
    company_name: string;
    registration_number: string;
    jurisdiction: string;
    incorporation_date: string;
    company_type: string;
    status: "active" | "dissolved" | "suspended" | "unknown";
    registered_address?: string;
    officers?: Array<{
      name: string;
      position: string;
      start_date?: string;
    }>;
    opencorporates_url: string;
  };
  verification?: {
    name_match: boolean;
    registration_number_match?: boolean;
    incorporation_date_match?: boolean;
  };
  discrepancies?: Array<Discrepancy>;
}

type Discrepancy = {
  field: string;
  self_attested: string;
  registry_value: string;
  severity: "low" | "medium" | "high";
}
```

### Example Results

<CodeGroup>
  ```json Low Risk - Verified Registration theme={null}
  {
    "type": "BusinessRegistrationCheckResult",
    "passed": true,
    "company_found": true,
    "registry_data": {
      "company_name": "ACME CORPORATION INC",
      "registration_number": "C1234567",
      "jurisdiction": "Delaware, US",
      "incorporation_date": "2020-01-15",
      "company_type": "Corporation",
      "status": "active",
      "registered_address": "123 Corporate Blvd, Wilmington, DE 19801",
      "officers": [
        {
          "name": "Jane Smith",
          "position": "Director",
          "start_date": "2020-01-15"
        }
      ],
      "opencorporates_url": "https://opencorporates.com/companies/us_de/C1234567"
    },
    "verification": {
      "name_match": true,
      "registration_number_match": true,
      "incorporation_date_match": true
    },
    "discrepancies": []
  }
  ```

  ```json Medium Risk - Minor Discrepancies theme={null}
  {
    "type": "BusinessRegistrationCheckResult",
    "passed": true,
    "company_found": true,
    "registry_data": {
      "company_name": "ACME CORPORATION INC",
      "registration_number": "C1234567",
      "jurisdiction": "Delaware, US",
      "incorporation_date": "2020-02-01",
      "company_type": "Corporation",
      "status": "active",
      "opencorporates_url": "https://opencorporates.com/companies/us_de/C1234567"
    },
    "verification": {
      "name_match": true,
      "registration_number_match": true,
      "incorporation_date_match": false
    },
    "discrepancies": [
      {
        "field": "incorporation_date",
        "self_attested": "2020-01-15",
        "registry_value": "2020-02-01",
        "severity": "medium"
      }
    ]
  }
  ```

  ```json High Risk - Not Found or Dissolved theme={null}
  {
    "type": "BusinessRegistrationCheckResult",
    "passed": false,
    "company_found": true,
    "registry_data": {
      "company_name": "ACME CORPORATION INC",
      "registration_number": "C1234567",
      "jurisdiction": "Delaware, US",
      "incorporation_date": "2020-01-15",
      "company_type": "Corporation",
      "status": "dissolved",
      "opencorporates_url": "https://opencorporates.com/companies/us_de/C1234567"
    },
    "verification": {
      "name_match": true,
      "registration_number_match": true,
      "incorporation_date_match": true
    },
    "discrepancies": [
      {
        "field": "status",
        "self_attested": "active",
        "registry_value": "dissolved",
        "severity": "high"
      }
    ]
  }
  ```
</CodeGroup>

## Risk Factors

The check may flag concerns if:

* Business cannot be found in any corporate registry
* Business is dissolved, suspended, or not in good standing
* Significant discrepancies in registration details
* Registration number doesn't match
* Incorporation date differs significantly
* Business name doesn't match registered name
* Recently incorporated (\< 6 months) in high-risk jurisdictions

## Data Sources

This check utilizes:

* **OpenCorporates**: Global database of company information
* Official government corporate registries from 130+ jurisdictions
* Regularly updated company status and officer information

## Best Practices

1. **Provide Complete Data**: Include registration number and jurisdiction for faster matching
2. **Allow Name Variations**: Account for different business name formats (LLC, Inc, Ltd, etc.)
3. **Check Status Regularly**: Corporate status can change over time
4. **Verify Officers**: Cross-check officers with ownership documents
5. **Consider Jurisdiction**: Some registries provide more detailed information than others

## Related Checks

* [Incorporation Document Verification](/checks/incorporation-document-verification) - Verify incorporation documents
* [Basic Business Profile Check](/checks/basic-business-profile-check) - Verify business profile
* [Business Owners Research](/checks/business-owners-check) - Research ownership structure
* [Address Verification](/checks/addresses-check) - Verify business addresses
