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

# Visão geral das Solutions

> Explore as seis capacidades de dados predefinidas do GTM e as ações compatíveis.

Uma **Solution** é um conjunto predefinido de capacidades de dados para um tipo de usuário.
Atualmente, o Glasser fornece a **GTM Solution** (`gtm`) para pesquisa de vendas e marketing,
com as seis capacidades listadas abaixo.

Uma **Capability** é um membro dessa Solution, como `company_intelligence`
ou `people_search`. Cada uma tem um conjunto fixo de ações e entradas compatíveis.

## Por que usar uma Solution?

Por exemplo, **Company intelligence** pode buscar uma empresa por domínio. Você envia
`domain`; o Glasser seleciona um provedor de dados compatível, mapeia a entrada para o endpoint
correspondente e pode tentar outro provedor de dados elegível em caso de falhas compatíveis.

Isso mantém os formatos de entrada específicos de cada provedor de dados fora da sua integração: você envia
`domain` independentemente de o provedor de dados selecionado esperar `domain`, `website` ou
`company_website`.

Use uma Solution quando suas entradas abrangerem sua tarefa. Se precisar de um endpoint específico,
de todas as opções de entrada ou do Price exato antes da execução, use
[search](https://glasser.ai/docs/pt/api-reference/endpoints/search.md), [inspect](https://glasser.ai/docs/pt/api-reference/endpoints/inspect.md) e
[run](https://glasser.ai/docs/pt/api-reference/runs/create.md) para selecioná-lo e chamá-lo diretamente.

## Capacidades disponíveis

Cada Capability tem seu próprio caminho de requisição em `/v1/solutions/gtm/`.

| Capability | O que você pode solicitar |
| - | - |
| [Web research](https://glasser.ai/docs/pt/api-reference/solutions/gtm/web_research.md) | Pesquisa na Web e de notícias, locais, resultados de compras e conteúdo de páginas. |
| [Company intelligence](https://glasser.ai/docs/pt/api-reference/solutions/gtm/company_intelligence.md) | Perfis de empresas, tecnologias, tráfego, concorrentes, financiamento e notícias. |
| [People search](https://glasser.ai/docs/pt/api-reference/solutions/gtm/people_search.md) | Encontre pessoas, enriqueça perfis e consulte informações de contato comercial. |
| [SEO research](https://glasser.ai/docs/pt/api-reference/solutions/gtm/seo_research.md) | Dados de palavras-chave, classificações, backlinks, concorrentes de pesquisa, lacunas de palavras-chave e backlinks, histórico de classificações, rastreamentos de sites, verificações de páginas e citações de respostas de IA. |
| [Social research](https://glasser.ai/docs/pt/api-reference/solutions/gtm/social_research.md) | Perfis específicos de plataformas, publicações, comentários e resultados de pesquisa. |
| [Market data](https://glasser.ai/docs/pt/api-reference/solutions/gtm/market_data.md) | Registros imobiliários dos EUA, estimativas de valor e aluguel, anúncios e cotações de ações. |

A referência de cada Capability lista suas ações compatíveis, provedores de dados e
campos obrigatórios. A maioria usa `action` para selecionar o que fazer; Social research usa
`platform` e `mode`.

## Exemplo: obter um perfil de empresa

Configure sua Key conforme descrito na [visão geral da API](https://glasser.ai/docs/pt/api-reference/overview.md).
Esta requisição executa uma recuperação de dados paga:

```bash theme={null}
curl --request POST \
  --url https://api.glasser.ai/v1/solutions/gtm/company_intelligence \
  --header "Authorization: Bearer $GLASSER_API_KEY" \
  --header "Content-Type: application/json" \
  --header "Idempotency-Key: company-profile-glasser-001" \
  --data '{"domain":"glasser.ai"}'
```

Para esta Capability, `domain` é o único campo obrigatório do corpo. Omitir `action`
usa `enrich`; omitir `provider` usa `auto`. `metadata` é opcional e pode ser
omitido. Mantenha o mesmo `Idempotency-Key` ao repetir esta requisição; escolha um novo
valor para uma nova consulta ou uma requisição diferente.

## Como funciona a seleção do provedor de dados

| Escolha | Comportamento |
| - | - |
| `provider: "auto"` (padrão) | Usa o primeiro provedor de dados elegível na ordem de preferência do Glasser. Isso não compara preços em tempo real. |
| Um provedor de dados nomeado, como `"apollo"` | Usa somente esse provedor de dados, sem fallback. Ele deve ser compatível com a requisição e permitido pela sua Key. |

Com `auto`, o Glasser pode tentar o próximo provedor de dados elegível após um erro do provedor de dados,
timeout ou indisponibilidade do endpoint. A pesquisa não faz fallback quando o resultado está vazio.
Fetch (`scrape`) também pode fazer fallback em caso de saída vazia ou inválida e de formatos compatíveis ausentes,
dentro do orçamento da requisição. O texto e o comprimento do conteúdo não acionam o fallback.
Cada endpoint selecionado deve ser compatível com suas entradas e permitido pela sua Key.

## Resultados e cobranças

Toda ação de Web research retorna `output` normalizado. Scrape expõe
`text`, `markdown`, `html` e `raw_html`; formatos ausentes são nulos. Search expõe
`output.results[]`; news, places, scholar, shopping, images, videos e similares expõem
`output.items[]` com campos fixos por linha; answer expõe `output.answer` e `citations[]`. A saída nativa do provedor de dados não é repetida em `output`; ela permanece
no Run e pode ser lida com Get Run. O Glasser não converte HTML em texto nem combina capturas.

Leia `result_status` para a entrega: `success`, `partial`, `no_result`, `error` ou
`pending`. Os formatos solicitados ausentes aparecem em `missing_formats`. Erros de entrega
têm `output: null` e um `error`. A semântica do conteúdo permanece não verificada.

`charge_usd` é o total dos `runs` listados, incluindo falhas cobradas e
resultados vazios. Cada Run tem sua própria cobrança e cláusula em `runs[]`. Um Run
não liquidado torna o total nulo; vários Runs não têm um único `charge_basis` no nível superior.
`id`, `provider` e `status` em maiúsculas ainda descrevem o Run final.

POST retorna HTTP 200 para um Run terminal e 202 enquanto está em andamento. Consulte o
`result_url` retornado na origem da API com sua Key para manter a saída normalizada
e o total das cobranças. Essa leitura retorna HTTP 200 mesmo enquanto estiver pendente; verifique o corpo.
A consulta não cria Runs nem retoma o fallback. [Get Run](https://glasser.ai/docs/pt/api-reference/runs/get.md)
mantém a saída nativa e a cobrança individual. Plugins mais antigos que consultam apenas Get Run
devem atualizar seu caminho de consulta. `COMPLETED` sozinho não comprova que o conteúdo é utilizável.

SEO research retorna `output` normalizado para cada ação. Ações de lista expõem
`output.items[]` com campos fixos por linha (por exemplo, ranked\_keywords: `keyword`,
`position`, `url`, `volume`, `cpc_usd`, `traffic`); ações de visão geral expõem campos fixos
no nível superior (por exemplo, backlinks\_overview: `backlinks`, `referring_domains`,
`semrush_authority_score`, `dataforseo_rank`, `serpstat_domain_rank`, `dofollow_backlinks`,
`nofollow_backlinks`). A saída nativa do provedor de dados selecionado
permanece no Run, não em `output`. Um valor que o provedor de dados não informa é `null`; valores monetários são
sempre USD. As pontuações de autoridade não são convertidas entre provedores de dados: cada um mantém seu próprio
nome e escala, e somente o campo do provedor de dados que respondeu é preenchido. `volume`, `traffic` e `cpc_usd`
são estimativas próprias de cada provedor de dados; compare-as dentro de um único provedor de dados. `result_status` é `success`, `no_result`, `error` ou `pending`, e as
regras de cobrança e consulta acima se aplicam sem alteração. A lista de campos por ação está na referência de
[SEO research](https://glasser.ai/docs/pt/api-reference/solutions/gtm/seo_research.md).

Company intelligence retorna `output` normalizado para cada ação: `enrich` e `traffic`
expõem campos fixos no nível superior, `tech_stack`, `competitors`, `news` e `jobs` expõem `output.items[]`,
`funding` expõe `total_funding_usd` mais `items[]`, e `ads` expõe `total_ads` mais `items[]`. As faixas de funcionários e receita são
separadas em `*_range_min` / `*_range_max`, e as pontuações de similaridade contêm o nome do provedor de dados
(`predictleads_similarity_score`, `exa_similarity_score`). A lista de campos por ação está na referência de
[Company intelligence](https://glasser.ai/docs/pt/api-reference/solutions/gtm/company_intelligence.md).

Market data retorna `output` normalizado para cada ação com um conjunto de campos imobiliários
(`address`, `property_type`, `bedrooms`, `bathrooms`, `living_area_sqft`, `lot_size_sqft`,
`year_built`, `latitude`, `longitude`). A pesquisa de imóveis adiciona campos do proprietário, os anúncios adicionam
campos de anúncio, MLS, HOA, agente e escritório, os anúncios de venda usam `price_usd` e os anúncios de aluguel
`monthly_rent_usd`, e as estimativas informam `comparables_count`. As cotações de ações incluem `currency`,
o `price` da sessão regular, `change`, `change_percent` (pontos percentuais), a
cotação `extended_hours_*` e `as_of_text`. Consulte a referência de [Market data](https://glasser.ai/docs/pt/api-reference/solutions/gtm/market_data.md)
para ver os campos de cada ação.

Social research retorna `output` normalizado por modo, compartilhado pelas seis plataformas: uma
conta para `profile`, `output.items[]` de publicações para `search` e `feed`, uma publicação para `post`
e `output.profiles[]` para `find`. As publicações contêm `title`, `text` (somente o corpo) e
`published_at`; consulte a referência de [Social research](https://glasser.ai/docs/pt/api-reference/solutions/gtm/social_research.md).

People search retorna `output` normalizado para cada ação: `search` expõe `total_matches`
e `output.items[]`, uma linha por pessoa, e `enrich` e `find_email` expõem uma pessoa com
os mesmos campos no nível superior. Nomes, cargos, `seniority` e `department` são informados conforme o
provedor de dados os retorna. `email_status` é o rótulo de verificação próprio do provedor de dados; leia-o com
`email_catch_all` e `email_source` (`generated` do Hunter significa que o endereço foi construído a partir do
padrão do domínio). `find_email` sem um e-mail é `no_result`. Consulte a referência de
[People search](https://glasser.ai/docs/pt/api-reference/solutions/gtm/people_search.md) para ver os campos.

## Convenções de campos

Todo `output` normalizado segue as mesmas regras de nomenclatura:

| Regra | Significado |
| - | - |
| Pontuações nomeadas pelo provedor de dados | Um valor do próprio modelo ou escala de um provedor de dados (pontuação, classificação, posição, dificuldade, probabilidade, confiança) é nomeado `<provider>_<metric>`, como `ahrefs_domain_rating` ou `exa_similarity_score`. Somente o provedor de dados que respondeu o preenche; os demais são `null`, e os valores nunca são convertidos entre provedores de dados. Rótulos como `industry`, `category`, `round` ou `intent` mantêm nomes simples e usam o vocabulário do provedor de dados que respondeu. |
| Datas e horários | `*_at` é um timestamp ISO 8601 UTC. `*_date` é `YYYY-MM-DD`. `*_text` é texto de exibição exatamente como retornado e nunca é analisado; textos relativos, como "3 hours ago", são relativos ao `completed_at` do Run. Um valor que não pode ser analisado é `null`, não estimado. |
| Domínios e URLs | `domain` e `*_domain` são nomes de host simples: em minúsculas, sem `www.` e sem porta. |
| Valores monetários | Um número nomeado `*_usd`. Um preço em outra moeda é um número mais um campo `currency`. Os preços exibidos são `*_text`. |
| Contagens e intervalos | As contagens são substantivos plurais simples. Os intervalos são `*_min` / `*_max`. A ordem de uma lista com índice iniciado em 1 é `position`. |
| Respostas vazias | Uma resposta vazia, mas válida, mantém o formato da ação: cada campo é `null`, ou a lista é `[]`, com `result_status: "no_result"`. Isso vale tanto quando o provedor de dados enviou um corpo vazio quanto quando informou "not found" de uma forma que não gera cobrança, como um 404 ou uma mensagem de "no results". Ela nunca é `null`, `{}` nem o corpo nativo do provedor de dados. Web research `scrape` é a única exceção: não tem resposta vazia, e uma página que não pode ser entregue é um `error` com `output: null`. |
| Nomes compartilhados | Campos com o mesmo significado e unidade têm o mesmo nome em todas as capabilities: `organic_traffic`, `organic_keywords`, `organic_traffic_value_usd`, `published_at`, `source`. |

Os controles de Fetch são `formats`, `timeout_ms` (padrão 90000), `max_charge_usd`
(opcional) e `cache_max_age_seconds` (opcional). Os formatos orientam a seleção e
o fallback; os formatos disponíveis aparecem nos campos de saída fixos. O limite de cobrança inclui
todos os Runs desta requisição, incluindo Runs reproduzidos. Um Run não liquidado interrompe o fallback.
Repetir a mesma chave reutiliza Runs e inicia uma nova janela de tempo da requisição.

O modo Auto usa Serper e depois Firecrawl. Solicitações de HTML ou de idade de cache explícita vão diretamente
para o Firecrawl. As rotas de enriquecimento do X/Twitter e do LinkedIn são excluídas do Firecrawl.
Solicitações explícitas somente de texto usam o Serper. O Exa está disponível por seleção explícita.
Cada chamada ao provedor de dados começa com a janela de seu Endpoint; quando essa janela
excederia o orçamento da solicitação, Serper, Firecrawl e Exa usam a janela real de chamadas
restante, reservando tempo para liquidação e resposta; se restar menos de um segundo
de tempo de chamada, a etapa será ignorada.
Se nenhum Run puder ser admitido, a API retornará o erro de admissão. Se o orçamento
impedir novos fallbacks, ela informará a entrega do último Run admitido e todas as cobranças admitidas.

As Firecrawl Data Sources usam a mesma saída nativa do Run e não
alternam entre provedores de dados. A Fetch Solution adiciona roteamento, verificações estruturais,
verificações de formato e um orçamento compartilhado de requisições. A resposta de search/scrape segue o contrato normalizado acima.
O `metadata` opcional armazena seus valores de acompanhamento e não afeta a seleção do provedor de dados nem o Price.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.