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

# Response reference

> Every field the Instant Classification API returns, what it contains, and when it's empty.

A successful classification returns a single JSON object. Every field is optional: the five classification arrays default to empty, and the scalar fields can be `null`. Write your client so it tolerates missing keys.

## Top-level fields

| Field                 | Type    | What it contains                                                                |
| --------------------- | ------- | ------------------------------------------------------------------------------- |
| `RTICs`               | array   | Real-Time Industrial Classifications matched to the input.                      |
| `RSICs`               | array   | Real-time SIC codes.                                                            |
| `RNAICs`              | array   | Real-time NAICS codes.                                                          |
| `SICs`                | array   | Standard Industrial Classification codes.                                       |
| `SimilarCompanies`    | array   | Companies with comparable activities.                                           |
| `TotalWordsProcessed` | integer | How many words the engine processed.                                            |
| `ProcessingTimeMs`    | integer | Server-side processing time in milliseconds.                                    |
| `Website`             | string  | The website you supplied, echoed back. `null` if you classified by text.        |
| `Description`         | string  | The description you supplied, echoed back. `null` if you classified by website. |

<Note>
  An empty array is a normal result, not an error. If the engine finds no match in a taxonomy it returns `[]` with a `200`, so check array length before indexing.
</Note>

## Classification entries

`RTICs`, `RSICs` and `RNAICs` share a shape. Only `Code` is guaranteed.

| Field          | Type    | Notes                                                                                   |
| -------------- | ------- | --------------------------------------------------------------------------------------- |
| `Code`         | string  | The classification code. Always present.                                                |
| `Description`  | string  | Human-readable label for the code. May be `null`.                                       |
| `Score`        | number  | Match strength from the classification engine. Higher is a closer match. May be `null`. |
| `WordsMatched` | integer | **`RTICs` only.** How many input words contributed to this match. May be `null`.        |

`SICs` are different, because they are the statutory codes registered at Companies House rather than something the engine infers. They carry no score:

| Field         | Type   | Notes                             |
| ------------- | ------ | --------------------------------- |
| `Code`        | string | The SIC code.                     |
| `Description` | string | The official label for that code. |

## Similar companies

Every field here is always present.

| Field           | Type   | Notes                                                         |
| --------------- | ------ | ------------------------------------------------------------- |
| `CompanyNumber` | string | Companies House number. Use this to join to your own records. |
| `CompanyName`   | string | Registered company name.                                      |
| `Website`       | string | The company's matched website.                                |
| `Similarity`    | number | How close the match is. Higher is more similar.               |

The request takes no limit or paging parameters, so the number of companies returned is whatever the classification engine gives for that input.

## Ordering and stability

Array order is whatever the classification engine returns, and we don't guarantee it. Sort by `Score` or `Similarity` yourself if you need a ranking.

Treat scores as subject to change too, since the underlying models are retrained. If you persist results, store the `Code` values and the date you fetched them rather than assuming the same input always produces identical scores.

<Snippet file="need-help.mdx" />
