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

# Industry Prediction

> Classify a business's industry using NAICS, MCC, and SIC codes.

Industry Prediction classifies a business's industry based on its online presence: website content, business name, address, and any other signals Baselayer discovers. It returns a 6-digit NAICS code, SIC and MCC codes, confidence score, risk level, keywords, and card network risk indicators.

> **Note:** Baselayer uses 2017 NAICS codes across all industry prediction and classification endpoints. The 2017 revision is the basis for all returned codes, filters, and industry-related fields. If you're cross-referencing against another system, confirm it also uses the 2017 standard.

***

### When to use it

* You need to screen applicants against prohibited or restricted industry lists
* You want to validate user-submitted industry classification
* You are running card network compliance checks (Mastercard BRAM, Visa risk tiers)
* You want to classify industry for underwriting or risk-based decisioning
* You need early industry classification before proceeding with a full Business Search

***

### How to request it

Industry Prediction is available on both integration paths.

#### Via `POST /web_presence_requests`

Include `Order.NaicsPrediction` in the `options` array. Results are returned **inline** in the response at `industry_prediction`.

```json theme={null}
{
  "name": "Lucali",
  "address": "575 Henry St, Brooklyn, NY 11231",
  "options": ["Order.NaicsPrediction"]
}
```

#### Via `POST /searches`

Include `Order.NaicsPrediction` in the `options` array. Results are **not inline** - Baselayer returns a `NAICSPredictionRequest` tracking object in `orderables[]`. Fetch the result using the URL in that object, or listen for the `NaicsPredictionRequest.completed` webhook.

```json theme={null}
{
  "name": "Lucali",
  "address": "575 Henry St, Brooklyn, NY 11231",
  "options": ["Order.NaicsPrediction"]
}
```

The search response will contain:

```json theme={null}
{
  "orderables": [
    {
      "type": "NAICSPredictionRequest",
      "id": "7f1f1bc6-119d-4613-af28-7f885d37cf2c",
      "url": "https://api.baselayer.com/naics_prediction_requests/7f1f1bc6-119d-4613-af28-7f885d37cf2c",
      "option": "Order.NaicsPrediction"
    }
  ]
}
```

Fetch the result:

```bash theme={null}
GET /naics_prediction_requests/{id}
```

#### Via `Order.Enhanced`

`Order.Enhanced` on `POST /searches` includes Industry Prediction automatically alongside Website Analysis, Social Profiles, Reviews, and expanded officer/address discovery. See [Online Presence: Basics](/docs/online-presence-basics) for when to use Enhanced vs. individual orderables.

***

### Response fields

#### Core fields

| Field | Type | Description |
| :- | :- | :- |
| `code` | string | 6-digit NAICS code for the predicted industry (e.g., `722511`). |
| `title` | string | Official NAICS title for the predicted code (e.g., `Full-Service Restaurants`). |
| `accuracy` | float | Baselayer's confidence in the prediction, from 0 to 1. `≥ 0.75` is recommended for automated decisioning. |
| `keywords[]` | array | 4–8 keywords extracted from the business's online presence describing core activity. Useful for detecting sensitive terms within permitted industries. |
| `risk_level` | enum | Baselayer's normalized risk assessment: `low`, `medium`, or `high`. |
| `reasoning` | string | Natural-language explanation of why this NAICS code was selected, citing the evidence sources Baselayer used (website content, search results, Google Places, etc.) and occasionally noting runner-up codes considered. Useful for auditing predictions and explaining classifications to reviewers. |
| `mcc_codes[]` | array | Merchant Category Code objects, see below. |
| `sic_codes[]` | array | Standard Industry Code objects, see below. |

#### `mcc_codes[]` entry fields

| Field | Type | Description |
| :- | :- | :- |
| `code` | string | 4-digit Merchant Category Code. |
| `description` | string | Human-readable MCC description. |
| `mastercard_risk` | boolean | Whether Mastercard considers this MCC high-risk per their BRAM program. |
| `visa_risk_tier` | string \| null | Visa's risk tier: `"1"` (high risk), `"2"` (standard), `"3"` (emerging high risk), or `null`. |

> A single industry prediction may return multiple MCC codes. Check all of them for `mastercard_risk` and `visa_risk_tier` - a single flagged entry is sufficient to trigger compliance controls.

#### `sic_codes[]` entry fields

| Field | Type | Description |
| :- | :- | :- |
| `code` | string | 4-digit Standard Industry Code. |
| `description` | string | Human-readable SIC description. |

***

### Interpreting results

Industry Prediction produces two types of signals: **industry classification** (what does this business do?) and **compliance screening** (is this business in a permitted sector?).

The `accuracy` score determines how much confidence to place in the result. Importantly, accuracy is not a measure of whether the prediction is correct - it measures **how much data was available and how consistently it pointed in the same direction**. A low score means insufficient signal, not a wrong answer. Never auto-decline on a low accuracy score; route to manual review instead.

**What drives accuracy:** The model draws on website content, social media profiles and online listings, public records and licenses, and business name analysis. A business with a detailed website, consistent information across platforms, and an industry-specific name will typically score higher than one with minimal online presence. The more signals available and the more they agree, the higher the accuracy.

For the full decisioning framework - including confidence thresholds, prohibited industry list structure, keyword scanning, and card network compliance - see [Industry Prediction section](/docs/web-presence-orderables#industry-prediction) in the Best Practices guide: tiered review policy, NAICS hierarchy strategy, keyword watchlists, and MCC handling.

The key fields to evaluate in every application:

* `accuracy` - apply automated decisioning at `≥ 0.75`; require manual review below that threshold
* `code` - check against your prohibited and restricted NAICS lists at 2-digit, 4-digit, and 6-digit levels
* `keywords[]` - scan against your sensitive keyword watchlist for restricted activities within otherwise permitted sectors; a complete recommended keyword list is available from your account representative
* `mcc_codes[].mastercard_risk` and `mcc_codes[].visa_risk_tier` - check all entries; any flagged MCC triggers card network compliance controls
* `reasoning` - read when a prediction looks surprising, when a reviewer needs justification, or when debugging why a borderline classification went one way over another. It surfaces the evidence Baselayer relied on and occasionally runner-up codes that were considered.

***

### Related guides

* [Online Presence: Basics](/docs/online-presence-basics) — integration path decision guide and data model
* [Online Presence: Best Practices](/docs/web-presence-orderables) — full decisioning framework
* [Online Presence: Response Reference](/docs/online-presence-response-reference) — match values, match sources, and response shape by integration path
* [Website Analysis](/docs/website-analysis-basics) — request alongside Industry Prediction for best accuracy
* [Industry Prediction API Reference](/api-reference/industry-prediction/get-industry-prediction) — full endpoint documentation

<br />


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