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

# Поиск облачного следа

> Посмотрите, у каких облачных и хостинг-провайдеров работает компания, в каких странах и регионах, и заметьте рынки, куда она только что вышла.

[Поиск облачного следа](/ru/api-reference/endpoint/companies/cloud_footprints_search) возвращает одну запись на компанию, провайдера и страну. Компания на AWS в Германии и на Cloudflare в Сингапуре — это две записи. Каждая содержит масштаб присутствия, задействованные облачные регионы и города, а также даты первого и последнего наблюдения.

```bash cURL theme={null}
curl -X POST https://api.pubrio.com/companies/cloud_footprints/search \
  -H "pubrio-api-key: $PUBRIO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "target_locations": ["DE"],
    "providers": ["AWS"],
    "first_seen_dates": ["2026-07-01", null],
    "host_count": [100, null],
    "per_page": 25
  }'
```

## Когда использовать

* **Выход на рынок.** `first_seen_dates` показывает компании, чья инфраструктура впервые появилась в стране внутри вашего окна.
* **Отбор по масштабу.** `host_count` и `server_count` отделяют формальное присутствие от реального развёртывания.
* **Сегментация по стеку.** `providers` и `cloud_regions` находят всех на конкретной платформе или в регионе.
* **Обнаружение экспансии.** `is_cross_border_only` возвращает только присутствие за пределами домашнего рынка.

## Ограничить компанией

| Key                | Value                                         |
| ------------------ | --------------------------------------------- |
| `domains`          | `["stripe.com"]`                              |
| `domain`           | `"stripe.com"`                                |
| `linkedin_urls`    | `["https://www.linkedin.com/company/stripe"]` |
| `companies`        | `["db26de04-…"]` — `domain_search_id` values  |
| `domain_search_id` | `"db26de04-…"`                                |

Поиск без компании допустим и обычно используется для построения списка — например `{"target_locations": ["DE"], "providers": ["AWS"]}`.

## Фильтры

### Провайдер, регион и город

| Key             | Example                          |
| --------------- | -------------------------------- |
| `providers`     | `["AWS", "Cloudflare"]`          |
| `cloud_regions` | `["eu-central-1", "westeurope"]` |
| `cities`        | `["Frankfurt", "Ashburn"]`       |

Каждый ключ принимает список и имеет пару `exclude_`. `cloud_regions` и `cities` — массивы в записи, поэтому принимают и `filter_conditions` для переключения OR (любой) на AND (все).

### Где размещена инфраструктура

| Key                 | Example        |
| ------------------- | -------------- |
| `target_locations`  | `["DE", "SG"]` |
| `company_locations` | `["US"]`       |

`target_locations` — где работает инфраструктура, `company_locations` — где штаб-квартира. Записи, где они различаются, и есть самое интересное.

### Масштаб

| Key                   | Meaning                             |
| --------------------- | ----------------------------------- |
| `host_count`          | Hosts on this row                   |
| `server_count`        | Distinct IP addresses               |
| `shared_server_count` | Servers shared with other companies |
| `region_count`        | Cloud regions                       |
| `city_count`          | Cities                              |

Все пять принимают `[min, max]`, а `null` оставляет границу открытой. Все они описывают только эту запись — один провайдер, одна страна.

### Когда появилось

| Key                | Example                |
| ------------------ | ---------------------- |
| `first_seen_dates` | `["2026-07-01", null]` |
| `last_seen_dates`  | `[null, "2026-06-30"]` |

Оба принимают `[from, to]` в формате ISO, любая граница может быть `null`. `first_seen_dates` — фильтр выхода на рынок, `last_seen_dates` отвечает на обратный вопрос.

### Только за рубежом

`is_cross_border_only: true` оставляет только присутствие за пределами домашнего рынка. Компании без известной штаб-квартиры исключаются, а не угадываются.

### Компания целиком

| Key                                          | Meaning                           |
| -------------------------------------------- | --------------------------------- |
| `cloud_footprint_host_count`                 | Hosts everywhere                  |
| `cloud_footprint_provider_count`             | Distinct providers used           |
| `cloud_footprint_country_count`              | Countries hosted in               |
| `cloud_footprint_cross_border_country_count` | Countries outside the home market |
| `cloud_footprint_providers`                  | Uses any of these providers       |
| `cloud_footprint_primary_provider`           | Largest provider is one of these  |

Ключи с префиксом `cloud_footprint_` описывают компанию по всем её записям, а не текущую запись. Используйте их, чтобы отобрать компанию, но видеть все её записи.

### Постраничность и порядок

`per_page`, `page` и `is_ascending_order` работают как в любом поиске. Записи упорядочены по `last_seen_at`, свежие первыми.

## Как выглядит запись

```json theme={null}
{
  "cloud_footprint_id": "b8fcf5c3-a309-4052-ae8f-fe5706051617",
  "domain_search_id": "db26de04-4131-493a-904b-2c7fda2873ee",
  "provider": "Azure",
  "country_code": "NL",
  "company_country_code": "DK",
  "is_home_market": false,
  "host_count": 437,
  "server_count": 8,
  "shared_server_count": 0,
  "region_count": 1,
  "city_count": 0,
  "cloud_regions": ["westeurope"],
  "cities": null,
  "first_seen_at": "2026-07-27T06:59:38.260Z",
  "last_seen_at": "2026-09-04T12:43:28.724Z",
  "evidence_url": "https://www.pubrio.com/evidence/e458a89952ed1e39e977794327939397",
  "companies": {
    "domain_search_id": "db26de04-4131-493a-904b-2c7fda2873ee",
    "company_name": "Wonderful Sound for All - WSA",
    "domain": "wsa.com",
    "country_code": "DK",
    "logo_url": "https://buckets.pubrio.com/company-logo/…"
  }
}
```

Это датская компания, работающая на Azure в Нидерландах: `company_country_code` — `DK`, `country_code` — `NL`, поэтому `is_home_market` равно `false`. `evidence_url` — страница Pubrio, подтверждающая запись; для домашнего рынка она `null`, так как сигнал экспансии там не возникает.

## Рецепты

<Tabs>
  <Tab title="Кто только что вышел в Германию">
    ```bash cURL theme={null}
    curl -X POST https://api.pubrio.com/companies/cloud_footprints/search \
      -H "pubrio-api-key: $PUBRIO_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "target_locations": ["DE"],
        "first_seen_dates": ["2026-08-01", null],
        "is_cross_border_only": true,
        "host_count": [50, null],
        "per_page": 25
      }'
    ```
  </Tab>

  <Tab title="Серьёзные пользователи AWS в Азии">
    ```bash cURL theme={null}
    curl -X POST https://api.pubrio.com/companies/cloud_footprints/search \
      -H "pubrio-api-key: $PUBRIO_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "providers": ["AWS"],
        "target_locations": ["SG", "JP", "IN"],
        "server_count": [10, null],
        "per_page": 25
      }'
    ```
  </Tab>

  <Tab title="Компании во многих рынках">
    ```bash cURL theme={null}
    curl -X POST https://api.pubrio.com/companies/cloud_footprints/search \
      -H "pubrio-api-key: $PUBRIO_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "cloud_footprint_country_count": [5, null],
        "target_locations": ["DE"],
        "host_count": [100, null],
        "per_page": 25
      }'
    ```

    `domain_search_id` каждой записи — компания, работающая минимум в пяти странах и имеющая реальное развёртывание в этой.
  </Tab>

  <Tab title="Pilots worth a call">
    ```bash cURL theme={null}
    curl -X POST https://api.pubrio.com/companies/cloud_footprints/search \
      -H "pubrio-api-key: $PUBRIO_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "is_cross_border_only": true,
        "first_seen_dates": ["2026-08-01", null],
        "host_count": [1, 25],
        "per_page": 25
      }'
    ```

    A small, brand-new footprint in a market the company is not headquartered in — the shape of a proof of concept before it becomes a deployment.
  </Tab>
</Tabs>

## Взгляд на одну компанию

[Аналитика облачного следа](/ru/api-reference/endpoint/companies/cloud_footprints_insights) принимает один `domain_search_id` и возвращает полную картину: итоги, ведущие провайдеры, страны и регионы, понедельную динамику новой инфраструктуры и последние добавления. Подходит для карточки компании; для списков используйте поиск.

## Следить за изменениями

Изменения облачного следа появляются как сигналы экспансии, поэтому монитор может отправлять их в webhook или на почту по мере возникновения. `DNS` — тип сигнала облачного следа:

```json theme={null}
{
  "signal_types": ["expansions"],
  "signal_filters": [
    { "signal_type": "expansions", "filters": { "tos": ["DE"], "signal_types": ["DNS"], "window_days": 30 } }
  ]
}
```

Каждая доставка содержит `evidence_url`. Сырые данные об инфраструктуре не передаются никогда. См. [Настройка webhooks](/ru/developer-guides/setting-up-webhooks).

## Что стоит знать

* Компания, работающая в двух странах, учитывается в обеих разбивках, поэтому сумма разбивок может превышать итог. Это правда по рынкам, а не двойной счёт.
* `is_cross_border` равен `null`, если штаб-квартира неизвестна — это «неизвестно», а не «внутренний рынок».
* Диапазоны задаются как `[min, max]`; любая граница может быть `null`.
* В поиске компаний `cloud_footprint_country_activity` ограничивает границы одной страной (`{"country":"DE","host_count":[100,null]}`); обычный `cloud_footprint_host_count` — итог по компании и этого не выражает.

## Связанное

<CardGroup cols={2}>
  <Card title="Справочник поиска облачного следа" icon="code" href="/ru/api-reference/endpoint/companies/cloud_footprints_search">
    Все параметры и поля ответа.
  </Card>

  <Card title="Аналитика облачного следа" icon="chart-column" href="/ru/api-reference/endpoint/companies/cloud_footprints_insights">
    Итоги, провайдеры, регионы и понедельная динамика одной компании.
  </Card>

  <Card title="Фильтры облачного следа" icon="filter" href="/ru/api-reference/endpoint/companies/search">
    Искать компании по облачному следу в поиске компаний.
  </Card>

  <Card title="Настройка webhooks" icon="webhook" href="/ru/developer-guides/setting-up-webhooks">
    Отправлять изменения облачного следа в webhook или почту.
  </Card>
</CardGroup>
