# Quickstart (/api/quickstart)

This page takes about five minutes. At the end, you have a website in your project and its analysis runs.

<Steps>
<Step>

### Get an API key [#get-an-api-key]

1. Sign in to the [DeepScout Console](https://console.deepscout.ai). Your first sign-in creates your account.
2. Open **Settings → API keys** and click **Generate new key**.
3. In **Scope**, select **All my projects**.
4. Copy the key. The console shows it only one time.

Keep the key in an environment variable. The examples in these docs read it from `SCOUT_API_KEY`.

```bash
export SCOUT_API_KEY="your-api-key"
```

<Callout>
A key for one project works only in this project. It cannot read the customer or the credit, so some steps in the guides need a key with the scope **All my projects**. See [Key scopes](/api/authentication.md#key-scopes).
</Callout>

</Step>
<Step>

### Find your project [#find-your-project]

All websites, jobs and exports belong to a project. Your account has a default project. The list shows it first.

```bash tab="cURL" tab-group="lang"
curl https://api.deepscout.ai/v1/projects \
  -H "Authorization: Bearer $SCOUT_API_KEY"
```

```python tab="Python"
import os
import requests

api = requests.Session()
api.headers["Authorization"] = f"Bearer {os.environ['SCOUT_API_KEY']}"
BASE = "https://api.deepscout.ai/v1"

projects = api.get(f"{BASE}/projects").json()
project_id = projects[0]["project_id"]  # the default project
```

```json title="Response"
[
  {
    "project_id": "proj_01k7c2r9v8e3s0b1x6m4q5n2tz",
    "name": "Default project",
    "customer_id": "cust_01k7c2r9t2f8a5d3h7j9k1m6pw",
    "is_default": true
  }
]
```

Keep the `project_id`. Most requests need it.

</Step>
<Step>

### Add a website [#add-a-website]

Send the URL of the store, the country of the shoppers and the currency of the prices. This starts a [setup job](/api/add-website.md). The first 10 setup jobs of each month are free.

```bash tab="cURL" tab-group="lang"
curl https://api.deepscout.ai/v1/jobs/setup \
  -H "Authorization: Bearer $SCOUT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "project_id": "proj_01k7c2r9v8e3s0b1x6m4q5n2tz",
    "url": "https://www.example-shop.cz",
    "country": "CZ",
    "currency": "CZK"
  }'
```

```python tab="Python"
job = api.post(f"{BASE}/jobs/setup", json={
    "project_id": project_id,
    "url": "https://www.example-shop.cz",
    "country": "CZ",
    "currency": "CZK",
}).json()
print(job["job_id"], job["status"])
```

```json title="Response (201 Created)"
{
  "job_id": "jobreq_01k7c3a4b5c6d7e8f9g0h1j2k3",
  "job_type": "WEBSITE_SETUP",
  "status": "ANALYZING",
  "project_id": "proj_01k7c2r9v8e3s0b1x6m4q5n2tz",
  "url": "https://www.example-shop.cz",
  "country": "cz",
  "currency": "CZK",
  "created_at": "2026-10-13T09:00:00.000Z",
  "updated_at": "2026-10-13T09:00:00.000Z"
}
```

</Step>
<Step>

### Follow the progress [#follow-the-progress]

Read the job again to see the progress of the analysis. The analysis usually takes a few minutes. Then a training scrape starts.

```bash tab="cURL" tab-group="lang"
curl https://api.deepscout.ai/v1/jobs/setup/jobreq_01k7c3a4b5c6d7e8f9g0h1j2k3 \
  -H "Authorization: Bearer $SCOUT_API_KEY"
```

```python tab="Python"
job = api.get(f"{BASE}/jobs/setup/{job['job_id']}").json()
print(job["status"], job.get("analysis_progress"))
```

When the status is `COMPLETED`, the website is ready. You can look at the [sample data](/api/sample-data.md) and get a quote for the [full scrape](/api/full-scrape.md).

</Step>
</Steps>

## Next steps [#next-steps]

<Cards>
  <Card title="Add a website" href="/api/add-website.md">
    All steps of the setup job, and what to do when it fails.
  </Card>
  <Card title="End-to-end example" href="/api/example.md">
    One script from a URL to the export files.
  </Card>
</Cards>
