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

# 클라우드 풋프린트 검색

> 기업이 어떤 클라우드·호스팅을 어느 국가와 리전에서 쓰는지 확인하고, 새로 진출한 시장을 포착합니다.

[클라우드 풋프린트 검색](/ko/api-reference/endpoint/companies/cloud_footprints_search)은 기업 1곳 × 제공업체 1곳 × 국가 1곳당 한 행을 반환합니다. 독일에서 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`로 한쪽을 열어 둘 수 있습니다. 모두 이 행(제공업체 1곳 × 국가 1곳)만을 나타냅니다.

### 등장 시점

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

둘 다 ISO 날짜 `[from, to]`를 받고 어느 쪽이든 `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`는 최소 5개국에서 운영하면서 이 국가에도 실질적 규모를 갖춘 기업입니다.
  </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>

## 기업 단위 보기

[클라우드 풋프린트 인사이트](/ko/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`이 포함되며 원시 인프라 정보는 절대 포함되지 않습니다. [webhook 설정](/ko/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="/ko/api-reference/endpoint/companies/cloud_footprints_search">
    모든 파라미터와 응답 필드.
  </Card>

  <Card title="클라우드 풋프린트 인사이트" icon="chart-column" href="/ko/api-reference/endpoint/companies/cloud_footprints_insights">
    기업 1곳의 총계·제공업체·리전·주간 변화.
  </Card>

  <Card title="클라우드 풋프린트 필터" icon="filter" href="/ko/api-reference/endpoint/companies/search">
    기업 검색에서 클라우드 풋프린트로 기업 찾기.
  </Card>

  <Card title="webhook 설정" icon="webhook" href="/ko/developer-guides/setting-up-webhooks">
    클라우드 풋프린트 변화를 webhook이나 이메일로 전송.
  </Card>
</CardGroup>
