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

# Quickstart

> Sign up and classify your first company in under five minutes.

This guide takes you from zero to a working classification in three steps.

## 1. Create an account

Sign up at [instant-classification-api.thedatacity.com/signup](https://instant-classification-api.thedatacity.com/signup). You need:

* A **work email address**. Consumer providers (Gmail, Outlook, Hotmail, Yahoo, iCloud, Proton) and known disposable-email domains are rejected.
* A **password** of 8–128 characters.
* To **accept the Terms & Conditions**. Signing up without this returns `422`.

New accounts start on the free tier with a limited request quota for evaluation. See [Rate limits & quotas](/instant-classification/guides/rate-limits) for details.

## 2. Get an access token

Exchange your email and password for a JWT using the token endpoint. The token is valid for **8 days**. Cache it rather than requesting one per call, because this endpoint is rate limited to 5 requests per minute.

<CodeGroup>
  ```bash cURL theme={null}
  curl -sS -X POST "https://instant-classification-api.thedatacity.com/api/v1/login/access-token" \
    -H "Content-Type: application/x-www-form-urlencoded" \
    -d "username=you@yourcompany.com&password=YOUR_PASSWORD"
  ```

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

  resp = httpx.post(
      "https://instant-classification-api.thedatacity.com/api/v1/login/access-token",
      data={"username": "you@yourcompany.com", "password": "YOUR_PASSWORD"},
  )
  token = resp.json()["access_token"]
  ```

  ```javascript JavaScript theme={null}
  const resp = await fetch(
    "https://instant-classification-api.thedatacity.com/api/v1/login/access-token",
    {
      method: "POST",
      headers: { "Content-Type": "application/x-www-form-urlencoded" },
      body: "username=you@yourcompany.com&password=YOUR_PASSWORD",
    }
  );
  const { access_token } = await resp.json();
  ```
</CodeGroup>

A successful response looks like this:

```json theme={null}
{
  "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
  "token_type": "bearer"
}
```

<Note>
  Treat your access token like a password. Don't check it into source control or include it in frontend bundles.
</Note>

## 3. Classify a company

Send a `POST` to `/api/v1/instantClassification` with either `Text` (a company description) **or** `Website` (a URL) — not both. Include your token in the `Authorization` header.

<Warning>
  Send **one** of `Text` or `Website` per request. The API forwards both if you send both, which can produce unreliable results.
</Warning>

<Note>
  Set your client timeout to at least **120 seconds** on this endpoint. Classification can take over a minute when the engine is slow, because the API retries upstream before giving up. Most "API errors" reported to support turn out to be short client timeouts.
</Note>

**Classify by description:**

<CodeGroup>
  ```bash cURL theme={null}
  curl -sS -X POST "https://instant-classification-api.thedatacity.com/api/v1/instantClassification" \
    -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
    -H "Content-Type: application/json" \
    -d '{"Text": "Software development and consulting services"}'
  ```

  ```python Python theme={null}
  resp = httpx.post(
      "https://instant-classification-api.thedatacity.com/api/v1/instantClassification",
      headers={"Authorization": f"Bearer {token}"},
      json={"Text": "Software development and consulting services"},
  )
  data = resp.json()
  ```

  ```javascript JavaScript theme={null}
  const resp = await fetch(
    "https://instant-classification-api.thedatacity.com/api/v1/instantClassification",
    {
      method: "POST",
      headers: {
        Authorization: `Bearer ${access_token}`,
        "Content-Type": "application/json",
      },
      body: JSON.stringify({
        Text: "Software development and consulting services",
      }),
    }
  );
  const data = await resp.json();
  ```
</CodeGroup>

**Or classify by website:**

<CodeGroup>
  ```bash cURL theme={null}
  curl -sS -X POST "https://instant-classification-api.thedatacity.com/api/v1/instantClassification" \
    -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
    -H "Content-Type: application/json" \
    -d '{"Website": "https://example.com"}'
  ```

  ```python Python theme={null}
  resp = httpx.post(
      "https://instant-classification-api.thedatacity.com/api/v1/instantClassification",
      headers={"Authorization": f"Bearer {token}"},
      json={"Website": "https://example.com"},
  )
  data = resp.json()
  ```

  ```javascript JavaScript theme={null}
  const resp = await fetch(
    "https://instant-classification-api.thedatacity.com/api/v1/instantClassification",
    {
      method: "POST",
      headers: {
        Authorization: `Bearer ${access_token}`,
        "Content-Type": "application/json",
      },
      body: JSON.stringify({ Website: "https://example.com" }),
    }
  );
  const data = await resp.json();
  ```
</CodeGroup>

A successful response includes classifications across all taxonomies:

```json theme={null}
{
  "RTICs": [
    {
      "Code": "10.01.01",
      "Description": "Software Development",
      "Score": 0.92,
      "WordsMatched": 3
    }
  ],
  "RSICs": [
    {
      "Code": "62012",
      "Description": "Business and domestic software development",
      "Score": 0.88
    }
  ],
  "RNAICs": [
    {
      "Code": "541511",
      "Description": "Custom Computer Programming Services",
      "Score": 0.85
    }
  ],
  "SICs": [
    {
      "Code": "62012",
      "Description": "Business and domestic software development"
    }
  ],
  "SimilarCompanies": [
    {
      "CompanyNumber": "12345678",
      "CompanyName": "Example Software Ltd",
      "Website": "https://example-software.co.uk",
      "Similarity": 0.91
    }
  ],
  "TotalWordsProcessed": 5,
  "ProcessingTimeMs": 342,
  "Website": "https://example.com",
  "Description": "Software development and consulting services"
}
```

## What's next

<CardGroup cols={2}>
  <Card title="Authentication" icon="key" href="/instant-classification/guides/authentication">
    Token lifetime and password recovery.
  </Card>

  <Card title="Errors" icon="triangle-exclamation" href="/instant-classification/guides/errors">
    What each error code means and how to handle it.
  </Card>

  <Card title="Rate limits & quotas" icon="gauge-high" href="/instant-classification/guides/rate-limits">
    Free-tier quota and paid rate limits.
  </Card>

  <Card title="Endpoint reference" icon="code" href="/instant-classification">
    Full request/response schema with the interactive playground.
  </Card>
</CardGroup>

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