> ## 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.

# MCC Code Check

> Classify businesses with Merchant Category Codes (MCC) based on their activities and web presence

The MCC Code Check (`kyb.mcc_code_check_v3`) analyzes a business's online presence, products, and services to determine the most appropriate Merchant Category Code (MCC) for payment processing and risk assessment.

## Overview

Merchant Category Codes (MCCs) are four-digit numbers used by credit card networks to classify businesses. This check:

* Analyzes business description and stated activities
* Reviews website content and web presence data
* Identifies products and services offered
* Cross-references against the official MCC code database
* Provides alternative MCC candidates with reasoning

## Check ID

```
kyb.mcc_code_check_v3
```

## Response Schema

The check result payload uses the `MCCCodeCheckResultV2` schema:

### Primary Fields

<ResponseField name="type" type="string" required>
  Always `"MCCCodeCheckResultV2"` - identifies the payload type.
</ResponseField>

<ResponseField name="mcc_code" type="string">
  The determined 4-digit Merchant Category Code.

  **Example**: `"7372"`
</ResponseField>

<ResponseField name="mcc_title" type="string">
  The official title for the MCC code.

  **Example**: `"Computer Programming Services"`
</ResponseField>

<ResponseField name="mcc_code_description" type="string">
  Full description of what businesses typically fall under this MCC code.

  **Example**: `"Merchants classified with this MCC provide computer programming services, systems design, website design, data entry, and data processing services."`
</ResponseField>

<ResponseField name="sub_mcc_category" type="string">
  Optional sub-category for more specific classification (used when customer-specific MCC mappings are configured).

  **Example**: `"Butcher Shop"`
</ResponseField>

<ResponseField name="source_id" type="string">
  Reference ID for the data source that supported this MCC determination.
</ResponseField>

### Candidate MCC Codes

<ResponseField name="candidate_mcc_codes" type="array">
  List of alternative MCC codes that were considered, with reasoning.

  <Expandable title="Candidate MCC Code Object">
    <ResponseField name="code" type="integer" required>
      The 4-digit MCC code.

      **Example**: `7372`
    </ResponseField>

    <ResponseField name="title" type="string" required>
      The official title for this MCC code.

      **Example**: `"Computer Programming Services"`
    </ResponseField>

    <ResponseField name="short_reason" type="string">
      Brief explanation of why this MCC was considered a candidate.

      **Example**: `"Primary match - Business develops AI-powered software solutions involving computer programming, systems design, and data processing services."`
    </ResponseField>

    <ResponseField name="source_id" type="string">
      Reference ID for the data source supporting this candidate.

      **Example**: `"owfzyz"`
    </ResponseField>
  </Expandable>
</ResponseField>

## Example Response

The check result includes a wrapper with metadata and the `payload` containing the MCC classification:

```json theme={null}
{
  "command_id": "kyb.mcc_code_check_v3",
  "command_name": "MCC Code Check",
  "status": "complete",
  "passed": true,
  "recommendation": "7372",
  "explanation": "The analysis determined MCC 7372 (Computer Programming Services) as the most accurate classification based on the business's primary activities in software development and data processing...",
  "payload": {
    "type": "MCCCodeCheckResultV2",
    "mcc_code": "7372",
    "mcc_title": "Computer Programming Services",
    "mcc_code_description": "Merchants classified with this MCC provide computer programming services, systems design, website design, data entry, and data processing services.",
    "candidate_mcc_codes": [
      {
        "code": 7372,
        "title": "Computer Programming Services",
        "short_reason": "Primary match - Business develops AI-powered software solutions involving computer programming, systems design, and data processing services.",
        "source_id": "owfzyz"
      },
      {
        "code": 7379,
        "title": "Computer Related Services",
        "short_reason": "Secondary consideration - Could apply for consulting aspects but less specific than 7372 for their software development focus.",
        "source_id": "schjuw"
      }
    ],
    "sub_mcc_category": null,
    "source_id": "owfzyz"
  },
  "alerts": {}
}
```

## Extracting MCC Data with JSONPath

Use the `jsonpath_query` parameter with `getJobById` to extract specific MCC check data.

### Get Full MCC Check Result

```bash theme={null}
curl -X GET 'https://api.parcha.ai/api/v1/getJobById?job_id=YOUR_JOB_ID&include_check_results=true&jsonpath_query=$.check_results[?(@.command_id=="kyb.mcc_code_check_v3")]' \
  -H 'Authorization: Bearer YOUR_API_KEY'
```

### Get Just the MCC Code Payload

```bash theme={null}
curl -X GET 'https://api.parcha.ai/api/v1/getJobById?job_id=YOUR_JOB_ID&include_check_results=true&jsonpath_query=$.check_results[?(@.command_id=="kyb.mcc_code_check_v3")].payload' \
  -H 'Authorization: Bearer YOUR_API_KEY'
```

**Example Response:**

```json theme={null}
[
  {
    "type": "MCCCodeCheckResultV2",
    "mcc_code": "7372",
    "mcc_title": "Computer Programming Services",
    "mcc_code_description": "Merchants classified with this MCC provide computer programming services...",
    "candidate_mcc_codes": [...],
    "sub_mcc_category": null,
    "source_id": "web_profile_1"
  }
]
```

### Get MCC Code Only

```bash theme={null}
curl -X GET 'https://api.parcha.ai/api/v1/getJobById?job_id=YOUR_JOB_ID&include_check_results=true&jsonpath_query=$.check_results[?(@.command_id=="kyb.mcc_code_check_v3")].payload.mcc_code' \
  -H 'Authorization: Bearer YOUR_API_KEY'
```

**Example Response:**

```json theme={null}
["7372"]
```

### Get All Candidate MCC Codes

```bash theme={null}
curl -X GET 'https://api.parcha.ai/api/v1/getJobById?job_id=YOUR_JOB_ID&include_check_results=true&jsonpath_query=$.check_results[?(@.command_id=="kyb.mcc_code_check_v3")].payload.candidate_mcc_codes[*]' \
  -H 'Authorization: Bearer YOUR_API_KEY'
```

### Python Example

```python theme={null}
import requests
from urllib.parse import quote

api_key = 'YOUR_API_KEY'
job_id = 'YOUR_JOB_ID'

# Get MCC code payload using JSONPath
jsonpath_query = '$.check_results[?(@.command_id=="kyb.mcc_code_check_v3")].payload'
url = f'https://api.parcha.ai/api/v1/getJobById?job_id={job_id}&include_check_results=true&jsonpath_query={quote(jsonpath_query)}'

headers = {'Authorization': f'Bearer {api_key}'}
response = requests.get(url, headers=headers)

mcc_result = response.json()
if mcc_result:
    payload = mcc_result[0]
    print(f"MCC Code: {payload['mcc_code']}")
    print(f"Title: {payload['mcc_title']}")
    print(f"Description: {payload['mcc_code_description']}")
```

## Running the Check

### Using startKYBAgentJob

```bash 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": "public-bdd",
    "kyb_schema": {
      "id": "mcc-check-001",
      "self_attested_data": {
        "business_name": "CloudTech Solutions",
        "description": "We provide cloud-based software solutions for small businesses, including accounting software, CRM tools, and project management platforms delivered as SaaS",
        "website": "https://cloudtech.example",
        "industry": "Software as a Service"
      }
    }
  }'
```

### Using runCheck (Single Check)

```bash theme={null}
curl -X POST 'https://api.parcha.ai/api/v1/runCheck' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "agent_key": "your-agent-key",
    "kyb_schema": {
      "id": "unique-case-id",
      "self_attested_data": {
        "business_name": "TechInnovate Solutions",
        "description": "Providing cutting-edge software solutions for businesses",
        "website": "https://techinnovatesolutions.com"
      }
    },
    "check_id": "kyb.mcc_code_check_v3",
    "webhook_url": "https://your-webhook-url.com/callback"
  }'
```

## Input Parameters

The check uses the following input fields:

<ParamField body="business_name" type="string" required>
  The legal or operating name of the business.
</ParamField>

<ParamField body="description" type="string" required>
  A detailed description of the business's activities, products, and services. More detail leads to more accurate MCC classification.
</ParamField>

<ParamField body="business_use_case" type="string">
  The primary business activity or use case. This field takes priority when determining the MCC code.
</ParamField>

<ParamField body="website" type="string">
  The official website URL. The check will analyze website content for additional context.
</ParamField>

<ParamField body="industry" type="string">
  Self-attested industry or business category.
</ParamField>

<ParamField body="mcc_code" type="string">
  Self-attested MCC code to verify. If provided, the check will compare against the determined MCC and note any discrepancies.
</ParamField>

## Common MCC Codes

| Code | Title                                                                | Description                                              |
| ---- | -------------------------------------------------------------------- | -------------------------------------------------------- |
| 7372 | Computer Programming Services                                        | Custom software development, web design, data processing |
| 7371 | Computer Programming, Data Processing, and Integrated Systems Design | Systems integration, data processing services            |
| 7379 | Computer Maintenance, Repair and Services                            | IT consulting, maintenance, support services             |
| 5734 | Computer Software Stores                                             | Software retail, SaaS products                           |
| 5999 | Miscellaneous and Specialty Retail Stores                            | General e-commerce, online retail                        |
| 7311 | Advertising Agencies                                                 | Digital marketing, advertising services                  |
| 5812 | Eating Places and Restaurants                                        | Restaurants, food service                                |
| 5411 | Grocery Stores, Supermarkets                                         | Food retail                                              |

## High-Risk MCC Codes

The following MCC codes are flagged as high-risk by default (configurable per agent):

| Code | Title                                   | Risk Factors                                  |
| ---- | --------------------------------------- | --------------------------------------------- |
| 7995 | Gambling/Casino Services                | Regulatory requirements, high chargeback risk |
| 5993 | Tobacco Stores and Stands               | Age restrictions, regulatory compliance       |
| 5963 | Door-To-Door Sales                      | High fraud and chargeback rates               |
| 4829 | Money Transfer Services                 | MSB licensing, AML requirements               |
| 6211 | Securities Brokers/Dealers              | Financial services licensing                  |
| 6051 | Non-Financial Institutions              | Money services, currency exchange             |
| 6012 | Financial Institutions                  | Regulatory compliance, licensing              |
| 6540 | POI Funding Transactions                | Prepaid card funding, AML concerns            |
| 7273 | Dating and Escort Services              | Content policies, fraud risk                  |
| 5967 | Direct Marketing - Inbound Teleservices | High chargeback risk                          |

## Check Outcomes

### Pass Conditions

The check passes when:

* Sufficient verification data is available to determine an MCC
* A reasonable MCC classification can be made with confidence

### Fail Conditions

The check fails when:

* No verification data or search results are available
* The data is too vague or limited to determine an MCC with confidence

<Note>
  MCC discrepancies between self-attested and determined codes do **not** cause the check to fail. Discrepancies are reported as alerts while the check still passes with the determined MCC.
</Note>

## Related Checks

* [High Risk Industry Check](/checks/high-risk-industry-check) - Identify prohibited or restricted industries
* [Basic Business Profile Check](/checks/basic-business-profile-check) - Verify business profile information
* [Web Presence Check](/checks/web-presence-check) - Analyze online presence and website data
