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

# Pesquisa de pegada cloud

> Veja em que fornecedores cloud e de alojamento uma empresa opera, em que países e regiões, e detete os mercados em que acabou de entrar.

[Pesquisa de pegada cloud](/pt/api-reference/endpoint/companies/cloud_footprints_search) devolve uma linha por empresa, fornecedor e país. Uma empresa na AWS na Alemanha e na Cloudflare em Singapura são duas linhas. Cada linha indica a dimensão da operação, as regiões cloud e cidades envolvidas e quando foi observada pela primeira e última vez.

```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
  }'
```

## Quando usar

* **Primeira entrada.** A primeira linha de uma empresa num país é o momento em que apareceu ali. `first_seen_dates` dentro da sua janela mais `is_cross_border_only` isola exatamente isso.
* **Piloto ou produção.** Um punhado de hosts lê-se como prova de conceito; centenas, como implementação real. `host_count` e `server_count` distinguem-nos, e uma empresa que passa de um para o outro está a comprometer-se com o mercado.
* **Novos concorrentes.** Aponte `target_locations` ao seu próprio mercado com um `first_seen_dates` recente para ver quem acabou de chegar.
* **Segmentar por stack.** `providers` e `cloud_regions` encontram todos os que usam uma plataforma ou região específica.

## Restringir a uma empresa

| 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-…"`                                |

Uma pesquisa sem empresa é permitida e é a forma habitual de construir uma lista — por exemplo `{"target_locations": ["DE"], "providers": ["AWS"]}`.

## Filtros

### Fornecedor, região e cidade

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

Cada chave aceita uma lista e tem o par `exclude_`. `cloud_regions` e `cities` são arrays na linha, por isso aceitam também `filter_conditions` para passar de OR (qualquer) a AND (todos).

### Onde está a infraestrutura

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

`target_locations` é onde a infraestrutura corre; `company_locations` é onde fica a sede. As linhas em que diferem são precisamente as que interessam.

### Dimensão

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

As cinco aceitam `[min, max]`, e `null` deixa um limite em aberto. Todas descrevem apenas esta linha: um fornecedor num país.

### Quando surgiu

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

Ambas aceitam `[from, to]` em datas ISO, e `null` abre qualquer extremo. `first_seen_dates` é o filtro de entrada no mercado; `last_seen_dates` responde à pergunta oposta.

### Apenas transfronteiriço

Defina `is_cross_border_only: true` para manter apenas presença fora do mercado de origem. Empresas sem sede conhecida são excluídas em vez de adivinhadas.

### A empresa inteira

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

As chaves com prefixo `cloud_footprint_` descrevem a empresa em todas as suas linhas, não a linha à sua frente. Use-as para qualificar a empresa continuando a ver todas as suas linhas.

### Paginação e ordenação

`per_page`, `page` e `is_ascending_order` comportam-se como em qualquer pesquisa. As linhas são ordenadas por `last_seen_at`, o observado mais recentemente primeiro.

## Como é uma linha

```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/…"
  }
}
```

É uma empresa dinamarquesa a operar Azure nos Países Baixos: `company_country_code` é `DK` e `country_code` é `NL`, por isso `is_home_market` é `false`. `evidence_url` é uma página Pubrio que sustenta a linha; é `null` no mercado de origem, que não gera sinal de expansão.

## Receitas

<Tabs>
  <Tab title="Quem acabou de entrar na Alemanha">
    ```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="Utilizadores sérios de AWS na Ásia">
    ```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="Empresas espalhadas por muitos mercados">
    ```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
      }'
    ```

    O `domain_search_id` de cada linha é uma empresa que opera em pelo menos cinco países e com implementação real neste.
  </Tab>

  <Tab title="Pilotos que valem um contacto">
    ```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
      }'
    ```

    Uma pegada pequena e acabada de surgir num mercado onde a empresa não tem sede: a forma de uma prova de conceito antes de se tornar implementação.
  </Tab>
</Tabs>

## Vista por empresa

[Análise de pegada cloud](/pt/api-reference/endpoint/companies/cloud_footprints_insights) recebe um `domain_search_id` e devolve o retrato completo dessa empresa: totais, principais fornecedores, países e regiões, série semanal de nova infraestrutura e as adições mais recentes. Use para uma ficha de empresa; para criar listas, use a pesquisa.

## Vigiar alterações

As mudanças de pegada cloud surgem como sinais de expansão, pelo que um monitor as pode enviar para um webhook ou email assim que ocorrem. `DNS` é o tipo de sinal de pegada cloud:

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

Cada entrega inclui `evidence_url`. O detalhe bruto da infraestrutura nunca é incluído. Ver [Configurar webhooks](/pt/developer-guides/setting-up-webhooks).

## Vale a pena saber

* Uma empresa que opera em dois países conta em ambas as repartições, por isso a soma das repartições pode exceder os totais. É a verdade por mercado, não dupla contagem.
* `is_cross_border` é `null` quando a sede da empresa é desconhecida — significa desconhecido, não nacional.
* Os intervalos usam `[min, max]` e aceitam `null` em qualquer extremo.
* Na pesquisa de empresas, `cloud_footprint_country_activity` restringe os limites a um país (`{"country":"DE","host_count":[100,null]}`); o `cloud_footprint_host_count` simples é o total da empresa e não consegue exprimir isso.

## Relacionado

<CardGroup cols={2}>
  <Card title="Referência da Pesquisa de pegada cloud" icon="code" href="/pt/api-reference/endpoint/companies/cloud_footprints_search">
    Todos os parâmetros e campos de resposta.
  </Card>

  <Card title="Análise de pegada cloud" icon="chart-column" href="/pt/api-reference/endpoint/companies/cloud_footprints_insights">
    Totais, fornecedores, regiões e variação semanal de uma empresa.
  </Card>

  <Card title="Filtros de pegada cloud" icon="filter" href="/pt/api-reference/endpoint/companies/search">
    Encontrar empresas pela sua pegada cloud na Pesquisa de empresas.
  </Card>

  <Card title="Configurar webhooks" icon="webhook" href="/pt/developer-guides/setting-up-webhooks">
    Enviar mudanças de pegada cloud para um webhook ou email.
  </Card>
</CardGroup>
