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

# Busca de Anúncios de Empresas

> Busca anúncios veiculados por empresas. Consulte o [guia de Advertisement Search](/pt/developer-guides/search/advertisement-search).



## OpenAPI

````yaml pt-openapi POST /companies/advertisements/search
openapi: 3.0.0
info:
  description: >-
    A API Pubrio entrega inteligência de expansão de mercado — sinais em tempo
    real que indicam quando uma empresa entra em um novo mercado — além dos
    dados de empresas e pessoas por trás desses sinais. Pesquise, consulte e
    enriqueça contas e contatos, e assine sinais de movimentação tipados e
    datados em mais de 200 mercados.
  version: 1.0.0
  title: Pubrio OpenAPI
  termsOfService: https://pubrio.com/pt-BR/terms-of-service
  contact:
    email: king.lai@pubrio.com
    name: King Lai
    url: https://pubrio.com/pt-BR/get-in-touch
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
servers:
  - url: https://api.pubrio.com
security:
  - pubrio_api_key: []
tags:
  - name: Profile
    description: Informações do perfil da equipe e estatísticas de uso
  - name: Enrichment
    description: Enriqueça registros de pessoas e empresas com dados B2B detalhados
  - name: Lookalike
    description: Encontre empresas semelhantes a uma empresa específica
  - name: Search
    description: Pesquise pessoas, empresas, vagas, notícias e anúncios com filtros
  - name: Lookup
    description: >-
      Consulte informações detalhadas de pessoas, empresas, vagas, notícias,
      anúncios e tecnologias específicas
  - name: LinkedIn
    description: >-
      Consulte dados de pessoas e empresas por meio de URLs de perfil do
      LinkedIn
  - name: Redeem
    description: >-
      Resgate créditos para desbloquear detalhes de contato de pessoas
      (individual e em lote)
  - name: Channels
    description: >-
      Gerencie templates de canais de outreach (criar, atualizar, excluir,
      listar)
  - name: Monitor
    description: >-
      Crie e gerencie monitores de dados com webhooks, estatísticas e
      processamento
  - name: Filters
    description: >-
      Obtenha os valores de filtro disponíveis para os parâmetros de busca
      (tecnologias, localizações, verticais etc.)
  - name: API Keys
    description: >-
      Liste e inspecione logs de requisições da API e análises de uso das chaves
      de API
  - name: Insights
    description: Insights agregados de sinais para empresas (vagas, notícias, anúncios).
  - name: Export
    description: Exportações de dados em massa (consomem créditos).
  - name: Expansion
    description: >-
      Inteligência de expansão de mercado de empresas: sinais, estágios,
      mercados e exportações.
externalDocs:
  description: >-
    A API Pubrio é usada para pesquisar, pré-visualizar e enriquecer contatos e
    contas. O banco de dados Pubrio oferece dados extensos de contatos B2B e
    inteligência de vendas.
  url: https://docs.pubrio.com
paths:
  /companies/advertisements/search:
    post:
      tags:
        - Search
      summary: Buscar anúncios de empresas
      description: >-
        Busca anúncios veiculados por empresas. Consulte o [guia de
        Advertisement Search](/pt/developer-guides/search/advertisement-search).
      operationId: companies_search_advertisements
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                target_locations:
                  $ref: '#/components/schemas/target_locations'
                exclude_target_locations:
                  $ref: '#/components/schemas/exclude_target_locations'
                search_terms:
                  $ref: '#/components/schemas/search_terms'
                headlines:
                  $ref: '#/components/schemas/headlines'
                filter_conditions:
                  $ref: '#/components/schemas/ads_filter_conditions'
                start_dates:
                  $ref: '#/components/schemas/start_dates'
                end_dates:
                  $ref: '#/components/schemas/end_dates'
                active_dates:
                  $ref: '#/components/schemas/advertisement_active_dates_search'
                created_at:
                  $ref: '#/components/schemas/search_created_at'
                company_locations:
                  $ref: '#/components/schemas/company_locations'
                companies:
                  $ref: '#/components/schemas/companies'
                advertisement_search_id:
                  allOf:
                    - $ref: '#/components/schemas/advertisement_search_id'
                  description: >-
                    Retorna apenas este registro. Útil para buscar novamente um
                    registro que você armazenou anteriormente, sem precisar
                    paginar.
                domains:
                  $ref: '#/components/schemas/domains'
                linkedin_urls:
                  $ref: '#/components/schemas/company_linkedin_urls'
                is_realtime_enrichment:
                  $ref: '#/components/schemas/is_realtime_enrichment'
                advertisement_formats:
                  $ref: '#/components/schemas/advertisement_formats'
                reach_tiers:
                  $ref: '#/components/schemas/advertisement_reach_tiers'
                advertisement_active_ads:
                  $ref: '#/components/schemas/advertisement_active_ads'
                advertisement_running_ads:
                  $ref: '#/components/schemas/advertisement_running_ads'
                advertisement_total_ads:
                  $ref: '#/components/schemas/advertisement_total_ads'
                advertisement_platform_count:
                  $ref: '#/components/schemas/advertisement_platform_count'
                advertisement_format_count:
                  $ref: '#/components/schemas/advertisement_format_count'
                advertisement_impressions_estimate:
                  $ref: '#/components/schemas/advertisement_impressions_estimate'
                advertisement_country_activity:
                  $ref: '#/components/schemas/advertisement_country_activity'
                source_types:
                  $ref: '#/components/schemas/advertisement_source_types'
                exclude_source_types:
                  $ref: '#/components/schemas/advertisement_exclude_source_types'
                enrichment_mode:
                  $ref: '#/components/schemas/advertisement_enrichment_mode'
                per_page:
                  $ref: '#/components/schemas/per_page'
                page:
                  $ref: '#/components/schemas/page'
                is_ascending_order:
                  $ref: '#/components/schemas/is_ascending_order'
                publisher_platforms:
                  $ref: '#/components/schemas/advertisement_publisher_platforms'
                exclude_publisher_platforms:
                  $ref: >-
                    #/components/schemas/advertisement_exclude_publisher_platforms
                is_include_unlinked_companies:
                  $ref: >-
                    #/components/schemas/advertisement_is_include_unlinked_companies
      responses:
        '200':
          description: >-
            Resposta bem-sucedida contendo os detalhes da busca de anúncios de
            empresas.
          content:
            application/json:
              schema:
                type: object
                properties:
                  metadata:
                    $ref: '#/components/schemas/advertisement_search_metadata'
                  data:
                    type: object
                    properties:
                      pagination:
                        $ref: '#/components/schemas/search_pagination'
                      advertisements:
                        type: array
                        items:
                          $ref: '#/components/schemas/advertisement_search_result'
              example:
                metadata:
                  profile: null
                  filters:
                    source_types:
                      - linkedin
                    per_page: 25
                    language: en
                  ignored_fields: []
                  applied_source_types:
                    - linkedin
                data:
                  pagination:
                    page: 1
                    per_page: 25
                    total_entries: 694356
                    total_pages: 27775
                    total_display_pages: 250
                    is_timeout: false
                  advertisements:
                    - target_country_codes:
                        - US
                        - GB
                        - SG
                      advertisement_id: 3af8cb80-9a04-49a8-832d-333961d5f77a
                      advertisement_search_id: 3af8cb80-9a04-49a8-832d-333961d5f77a
                      created_at: '2026-03-03T01:46:35.909Z'
                      last_modified: '2026-03-03T12:46:25.289Z'
                      started_at: '2026-02-25T00:00:00.000Z'
                      ended_at: '2026-03-02T00:00:00.000Z'
                      title: Thuraya-4 Satellite Solutions for Energy
                      source_type: linkedin
                      advertisement_format: Single Image Ad
                      video_url: null
                      image_url: >-
                        https://buckets.pubrio.com/images/public/cL1U5ghYPAy65qc4cu5wtmgzv8P9xJgrofNTwohPWsyT3S5ob2zNp6Jov1nM9aaDRy.jpg
                      carousel_images: null
                      destination_url: >-
                        https://www.thuraya.com/en/thuraya-4-ngs/home/index.html?trk=ad_library_ad_preview_headline_content
                      companies:
                        logo_url: >-
                          https://buckets.pubrio.com/company-logo/MjA3NTQ4NjQyM2lsajlzc25qMXNwYWNlNDIuYWlsaW5rZWRpbl82NDIyMjM3NA==.jpg
                        domain_search_id: fe3963dc-87a4-4016-8c95-217ea68cd57a
                        company_name: Space42
                        linkedin_name: space42ai
                        country_code: AE
                        domain: space42.ai
                      raw_link_url: null
                      publisher_platforms: null
                      advertisement_format_normalized: image
                      is_company_matched: true
                      advertiser: Thuraya
                      advertiser_url: https://www.linkedin.com/company/thuraya
                      advertisement_url: https://www.linkedin.com/ad-library/detail/1518455034
                      total_impressions: < 1k
                      total_impressions_lower: null
                      total_impressions_upper: 1000
                    - target_country_codes:
                        - US
                        - GB
                        - SG
                      advertisement_id: 47eb6229-e7aa-427f-bcd3-76e154fd5022
                      advertisement_search_id: 47eb6229-e7aa-427f-bcd3-76e154fd5022
                      created_at: '2026-06-03T22:00:33.035Z'
                      last_modified: '2026-06-05T18:15:51.823Z'
                      started_at: '2026-05-25T07:00:00.000Z'
                      ended_at: '2026-06-03T07:00:00.000Z'
                      title: Dubai Opportunities. One Exclusive Event
                      source_type: facebook
                      advertisement_format: DCO
                      video_url: null
                      image_url: >-
                        https://buckets.pubrio.com/images/public/4snZgJwKCWEYwAUwxrkkK1ooEFEAMF92Xet6Bm16oAyqwUSoqekDjX8S9DmfixutuH.jpg
                      carousel_images: null
                      destination_url: >-
                        https://promotions.damacproperties.com/en/event-in-egypt-social-specific/
                      raw_link_url: http://fb.me/
                      publisher_platforms:
                        - facebook
                        - instagram
                      companies:
                        logo_url: >-
                          https://buckets.pubrio.com/company-logo/MjYwODA0MjRkYW1hY3Byb3BlcnRpZXMuY29tbGlua2VkaW5fcF9sb2dvMTU=.jpg
                        domain_search_id: 9da7386c-5bdc-42b2-8fee-456e91024a3a
                        company_name: Damac Properties
                        linkedin_name: damac-properties
                        country_code: AE
                        domain: damacproperties.com
                      advertisement_format_normalized: image
                      is_company_matched: true
                      advertiser: Thuraya
                      advertiser_url: https://www.linkedin.com/company/thuraya
                      advertisement_url: https://www.linkedin.com/ad-library/detail/1518455034
                      total_impressions: < 1k
                      total_impressions_lower: null
                      total_impressions_upper: 1000
                    - ...
        '400':
          $ref: '#/components/responses/general_error'
        '429':
          $ref: '#/components/responses/rate_limit_error'
        '500':
          $ref: '#/components/responses/server_error'
components:
  schemas:
    target_locations:
      type: array
      items:
        type: string
      example:
        - TW
        - AE
        - 'NO'
      description: >-
        Filtra anúncios para incluir aqueles direcionados a localizações
        específicas por código de país. Use isso para encontrar anúncios que
        estão sendo exibidos em países específicos. Combina-se com
        `filter_conditions` usando o operador OR - o anúncio deve ter como alvo
        pelo menos uma das localizações especificadas.
    exclude_target_locations:
      type: array
      items:
        type: string
      example:
        - IS
        - GB
        - FR
        - IE
        - ES
      description: >-
        Filtra anúncios para excluir aqueles direcionados a localizações
        específicas por código de país. Use isso para excluir anúncios que estão
        sendo exibidos em países específicos. Quando especificado em
        `filter_conditions` com o operador 'or', o anúncio não deve ter como
        alvo nenhuma das localizações excluídas.
    search_terms:
      type: array
      items:
        type: string
      example:
        - pubrio
      description: Uma lista de strings pelas quais queremos filtrar os resultados.
    headlines:
      type: array
      items:
        type: string
      example:
        - ASUS
        - iPhone
      description: Uma lista de títulos para filtrar os resultados da busca.
    ads_filter_conditions:
      type: array
      items:
        type: object
        properties:
          key:
            type: string
            enum:
              - target_locations
              - exclude_target_locations
            example: exclude_target_locations
            description: >-
              A chave de filtro que especifica a qual propriedade o operador
              deve ser aplicado.
          operator:
            type: string
            enum:
              - or
              - and
            example: or
            description: >-
              O operador lógico a ser aplicado. Use 'or' para corresponder a
              anúncios que incluem/excluem qualquer uma das localizações
              especificadas, ou 'and' para corresponder a anúncios que
              incluem/excluem todas as localizações especificadas.
      description: >-
        Opções avançadas de filtragem para buscas de anúncios. Especifique
        condições para refinar os resultados da busca no endpoint de busca de
        anúncios.
    start_dates:
      type: array
      items:
        type: string
        format: date
      example:
        - '2025-12-01'
        - '2025-12-01'
      description: Uma lista de datas de início para filtrar os resultados da busca.
    end_dates:
      type: array
      items:
        type: string
        format: date
      example:
        - '2025-12-25'
        - '2025-12-25'
      description: Uma lista de datas de término para filtrar os resultados da busca.
    advertisement_active_dates_search:
      type: array
      items:
        type: string
        format: date
      minItems: 2
      maxItems: 2
      example:
        - '2026-08-01'
        - '2026-08-31'
      description: >-
        Janela inclusiva `[from, to]` (UTC). Retorna anúncios em veiculação em
        qualquer ponto dela, incluindo os que começaram antes, o que a torna
        compatível com o Advertisement Insights. Anúncios sem data são contados
        a partir de `created_at`. Ambas as datas são obrigatórias, `from` ≤
        `to`.
    search_created_at:
      type: string
      format: date-time
      example: '2026-09-02T12:00:00Z'
      description: >-
        Ingerido neste instante ou depois (UTC). Data ou timestamp ISO. Para
        sincronizações incrementais, informe o `created_at` do seu registro
        armazenado mais recente.
    company_locations:
      type: array
      items:
        type: string
      example:
        - US
        - SG
        - CN
      description: >-
        A localização da sede da empresa. Consulte os endpoints de `location` na
        aba Filters para mais informações.
    companies:
      type: array
      items:
        type: string
        format: uuid
      description: >-
        Uma lista de identificadores únicos (domain_search_id) usada para
        operações de busca de empresas e pessoas.
    advertisement_search_id:
      type: string
      format: uuid
      example: a92643e8-9033-4029-aa65-ef929327cebb
      description: >-
        Um identificador único para o resultado da busca de anúncios. Usado para
        referenciar anúncios específicos retornados pelo endpoint de busca de
        anúncios.
    domains:
      type: array
      items:
        type: string
      example:
        - pubrio.com
      description: >-
        Lista de domínios de empresas usada para operações de busca de empresas
        e pessoas. Se recebermos uma URL como `www.pubrio.com` ou
        `https://docs.pubrio.com/`, o sistema a converterá para `pubrio.com`
        para processamento.
    company_linkedin_urls:
      type: array
      items:
        type: string
      example:
        - https://www.linkedin.com/company/pubrio
      description: >-
        A URL completa do perfil da empresa no LinkedIn. A URL começa com `http`
        e contém `linkedin.com/company/`
    is_realtime_enrichment:
      type: boolean
      default: false
      example: true
      description: >-
        Ativa o enriquecimento em tempo real para uma única consulta com escopo
        de empresa (filtrada por `domain_search_id`, `domains` ou
        `linkedin_urls`). Quando a busca inicial retorna zero resultados, o
        endpoint extrai a fonte, persiste os registros e executa a busca
        novamente antes de responder. Sujeito a um prazo limite por rota.
    advertisement_formats:
      type: array
      items:
        type: string
        enum:
          - image
          - video
          - text
          - carousel
          - dynamic_product
          - document
          - message
          - event
          - article
          - spotlight
          - follow
          - job
          - engagement
      example:
        - image
        - video
      description: >-
        Encontra empresas com pelo menos um anúncio em qualquer um destes
        formatos criativos.
    advertisement_reach_tiers:
      type: array
      items:
        type: string
        enum:
          - lt_1k
          - 1k_10k
          - 10k_50k
          - 50k_100k
          - 100k_500k
          - 500k_1m
          - 1m_plus
      example:
        - 100k_500k
        - 500k_1m
        - 1m_plus
      description: >-
        Faixa de impressões do anúncio: `lt_1k`, `1k_10k`, `10k_50k`,
        `50k_100k`, `100k_500k`, `500k_1m`, `1m_plus`. Anúncios sem um valor de
        `total_impressions` nunca correspondem; slugs desconhecidos não
        correspondem a nada.
    advertisement_active_ads:
      type: array
      items:
        type: integer
        nullable: true
      minItems: 2
      maxItems: 2
      example:
        - 1
        - null
      description: >-
        Contagem mínima e máxima de anúncios atualmente ativos da empresa, em
        todos os países. Use `null` para um limite aberto, por exemplo `[1,
        null]` para "pelo menos um anúncio ativo".
    advertisement_running_ads:
      type: array
      items:
        type: integer
        nullable: true
      minItems: 2
      maxItems: 2
      example:
        - 1
        - null
      description: >-
        Contagem mínima e máxima de anúncios da empresa que ainda estão em
        veiculação (sem data de término, ou com data de término no futuro).
        Atualmente preenchido apenas para anúncios do LinkedIn.
    advertisement_total_ads:
      type: array
      items:
        type: integer
        nullable: true
      minItems: 2
      maxItems: 2
      example:
        - 10
        - null
      description: >-
        Contagem mínima e máxima do total de anúncios já registrados pela
        empresa, em todos os países.
    advertisement_platform_count:
      type: array
      items:
        type: integer
        nullable: true
      minItems: 2
      maxItems: 2
      example:
        - 2
        - null
      description: >-
        Número mínimo e máximo de plataformas de anúncios distintas (linkedin,
        facebook, google, tiktok, apple) nas quais a empresa está ativamente
        anunciando.
    advertisement_format_count:
      type: array
      items:
        type: integer
        nullable: true
      minItems: 2
      maxItems: 2
      example:
        - 2
        - null
      description: >-
        Número mínimo e máximo de formatos criativos de anúncio distintos que a
        empresa está veiculando ativamente.
    advertisement_impressions_estimate:
      type: array
      items:
        type: integer
        nullable: true
      minItems: 2
      maxItems: 2
      example:
        - 1000
        - null
      description: >-
        Estimativa mínima e máxima de impressões de anúncios, somadas em todos
        os países. Apenas anúncios com um intervalo de impressões reportado são
        contabilizados.
    advertisement_country_activity:
      type: object
      properties:
        country:
          type: string
          example: US
          description: >-
            Código de país ISO 3166-1 alpha-2 ao qual este filtro deve ser
            restrito. Obrigatório.
        rank:
          type: array
          items:
            type: integer
            nullable: true
          minItems: 2
          maxItems: 2
          example:
            - null
            - 500
          description: >-
            Classificação dentro daquele país por volume de investimento em
            anúncios. 1 é o maior investidor, e o número aumenta conforme o
            volume de investimento diminui. Use `[null, 500]` para encontrar os
            500 maiores investidores naquele país; use `[500, null]` para
            encontrar todos classificados na posição 500 ou inferior.
        percentile:
          type: array
          items:
            type: number
            nullable: true
          minItems: 2
          maxItems: 2
          example:
            - 90
            - null
          description: >-
            Percentil dentro daquele país por volume de investimento em
            anúncios, de 0 a 100. Quanto maior, maior o investidor. Use `[90,
            null]` para os 10% maiores investidores naquele país.
        volume_score:
          type: array
          items:
            type: number
            nullable: true
          minItems: 2
          maxItems: 2
          example:
            - 0.5
            - null
          description: >-
            A pontuação subjacente de volume de anúncios, de 0 a 1, a partir da
            qual tanto `rank` quanto `percentile` são calculados.
        active_ads:
          type: array
          items:
            type: integer
            nullable: true
          minItems: 2
          maxItems: 2
          example:
            - 1
            - null
          description: Mínimo e máximo de anúncios ativos, restrito a este país.
        running_ads:
          type: array
          items:
            type: integer
            nullable: true
          minItems: 2
          maxItems: 2
          example:
            - 1
            - null
          description: >-
            Mínimo e máximo de anúncios em veiculação, restrito a este país.
            Atualmente preenchido apenas para anúncios do LinkedIn.
        total_ads:
          type: array
          items:
            type: integer
            nullable: true
          minItems: 2
          maxItems: 2
          example:
            - 10
            - null
          description: Mínimo e máximo do total de anúncios, restrito a este país.
        impressions:
          type: array
          items:
            type: integer
            nullable: true
          minItems: 2
          maxItems: 2
          example:
            - 1000
            - null
          description: Mínimo e máximo de impressões estimadas, restrito a este país.
      required:
        - country
      example:
        country: US
        rank:
          - null
          - 500
      description: >-
        Atividade de anúncios para um país específico. `country` é obrigatório,
        e pelo menos um outro campo deve ser definido (um país sozinho não
        corresponde a nada). Para um total considerando todos os países, use os
        filtros de nível superior `advertisement_active_ads` /
        `advertisement_total_ads` / `advertisement_impressions_estimate`.
    advertisement_source_types:
      type: array
      items:
        type: string
        enum:
          - linkedin
          - facebook
          - google
          - tiktok
          - apple
      example:
        - linkedin
        - facebook
      description: >-
        Fontes a incluir: `linkedin`, `facebook` (`meta` também é aceito),
        `google`, `tiktok`, `apple`. Valores desconhecidos não correspondem a
        nada e são reproduzidos em `metadata.unsupported_source_types`.
    advertisement_exclude_source_types:
      type: array
      items:
        type: string
        enum:
          - linkedin
          - facebook
          - google
          - tiktok
          - apple
      example:
        - apple
      description: >-
        Exclui anúncios capturados destas fontes. Mesmo vocabulário de
        `source_types` (`linkedin`, `facebook`, `google`, `tiktok`, `apple`;
        `meta` é um alias de `facebook`). Valores desconhecidos são ignorados.
    advertisement_enrichment_mode:
      type: string
      enum:
        - default
        - latest
      default: default
      example: latest
      description: >-
        Controla o comportamento de enriquecimento em tempo real. `default`
        retorna o que já está no banco de dados e só aciona o enriquecimento
        quando o conjunto de resultados está vazio e `is_realtime_enrichment`
        está definido. `latest` ignora o cache e força uma nova passagem de
        enriquecimento em relação aos registros de origem mais recentes a cada
        chamada — ele aciona o enriquecimento por conta própria, sem precisar de
        nenhuma outra flag.
    per_page:
      type: integer
      example: 25
      default: 25
      maximum: 25
      description: >-
        Registros por página. O padrão é 25, que também é o teto na maioria dos
        planos — o limite é o `max_search_per_page` da sua assinatura, retornado
        por [Profile](/pt/api-reference/endpoint/profile/profile). Excedê-lo
        retorna **HTTP 416** com o código `41676` (ou `41613` na busca de
        empresas e pessoas), não um conjunto de resultados limitado.
    page:
      type: integer
      example: 1
      default: 1
      description: >-
        Número da página, começando em 1. O teto é o `max_search_page` da sua
        assinatura (`max_company_search_page` para busca de empresas), retornado
        por [Profile](/pt/api-reference/endpoint/profile/profile). Excedê-lo
        retorna **HTTP 416**.
    is_ascending_order:
      type: boolean
      default: false
      example: false
      description: >-
        Direção da ordenação. Por padrão, os resultados são retornados do mais
        recente para o mais antigo; defina `true` para do mais antigo para o
        mais recente. Não há `sort_by` neste endpoint — a chave de ordenação é
        fixa e está indicada na descrição do endpoint.
    advertisement_publisher_platforms:
      type: array
      items:
        type: string
        enum:
          - facebook
          - instagram
          - messenger
          - threads
          - audience_network
      example:
        - facebook
        - instagram
      description: >-
        Filtra anúncios do Facebook/Meta pela superfície de plataforma em que
        foram veiculados. Minúsculas e sem diferenciação entre maiúsculas e
        minúsculas. Aplica-se apenas à fonte `facebook` (as demais fontes têm
        plataforma única).
    advertisement_exclude_publisher_platforms:
      type: array
      items:
        type: string
        enum:
          - facebook
          - instagram
          - messenger
          - threads
          - audience_network
      example:
        - audience_network
      description: >-
        Exclui anúncios do Facebook/Meta veiculados nessas superfícies de
        plataforma.
    advertisement_is_include_unlinked_companies:
      type: boolean
      default: false
      example: true
      description: >-
        Inclui anúncios ainda não vinculados a uma empresa resolvida (anúncios
        da camada bruta, por exemplo, anúncios fraudulentos ou de páginas
        descartáveis). O padrão é false, que retorna apenas anúncios atribuídos
        a empresas.
    advertisement_search_metadata:
      allOf:
        - $ref: '#/components/schemas/search_metadata'
        - type: object
          properties:
            applied_source_types:
              type: array
              items:
                type: string
              description: >-
                Somente quando `source_types` foi enviado: os valores que foram
                reconhecidos e aplicados.
            unsupported_source_types:
              type: array
              items:
                type: string
              description: >-
                Somente quando `source_types` continha um valor que não é uma
                fonte conhecida. Esses valores não correspondem a nada.
            coverage_notes:
              type: array
              items:
                type: object
                properties:
                  source_type:
                    type: string
                  scope:
                    type: string
                    enum:
                      - eea_uk_ch
              description: Notas de cobertura para as fontes solicitadas, quando aplicável.
            skipped_source_types:
              type: array
              items:
                type: object
                properties:
                  source_type:
                    type: string
                    description: Fonte que foi ignorada.
                  reason:
                    type: string
                    enum:
                      - country_unknown_until_enriched
                    description: Motivo pelo qual a fonte não foi aplicada.
              description: >-
                Fontes que não foram aplicadas para os `target_locations`
                solicitados, cada uma com um `reason`.
      description: Contexto da requisição.
    search_pagination:
      type: object
      description: Paginação do conjunto de resultados.
      properties:
        page:
          type: integer
          description: Número da página atual.
        per_page:
          type: integer
          description: Registros por página.
        total_entries:
          type: integer
          description: >-
            Total de registros correspondentes. Em buscas amplas e não
            específicas de empresa, este valor é uma estimativa.
        total_pages:
          type: integer
          description: '`total_entries` dividido por `per_page`.'
        total_display_pages:
          type: integer
          description: >-
            Páginas que você pode efetivamente solicitar, limitadas pelo
            `max_search_page` do seu plano.
        is_timeout:
          type: boolean
          description: >-
            `true` quando a consulta de contagem excedeu o tempo limite e
            `total_entries` é uma estimativa parcial.
    advertisement_search_result:
      type: object
      description: Um anúncio.
      properties:
        advertisement_id:
          type: string
          format: uuid
          description: Identificador do anúncio.
        advertisement_search_id:
          type: string
          format: uuid
          description: >-
            Mesmo valor de `advertisement_id`. Informe-o no Advertisement
            Lookup.
        created_at:
          type: string
          format: date-time
          description: >-
            Quando a Pubrio capturou o anúncio pela primeira vez. Esta é a chave
            de ordenação padrão.
        last_modified:
          type: string
          format: date-time
          description: Quando o registro foi atualizado pela última vez.
        started_at:
          type: string
          format: date-time
          description: Quando o anúncio começou a veicular, conforme informado pela fonte.
          nullable: true
        ended_at:
          type: string
          format: date-time
          description: >-
            Quando o anúncio parou de veicular; `null` enquanto ainda está em
            veiculação.
          nullable: true
        title:
          type: string
          description: Título ou manchete do anúncio.
          nullable: true
        source_type:
          type: string
          enum:
            - linkedin
            - facebook
            - google
            - tiktok
            - apple
          description: >-
            Fonte de onde o anúncio foi capturado. Mesmo vocabulário do filtro
            `source_types`.
        advertisement_format:
          type: string
          description: >-
            Rótulo do formato exatamente como publicado pela fonte, por exemplo
            `Single Image Ad`, `MULTI_IMAGES`.
          nullable: true
        advertisement_format_normalized:
          type: string
          nullable: true
          enum:
            - image
            - video
            - text
            - carousel
            - dynamic_product
            - document
            - message
            - event
            - article
            - spotlight
            - follow
            - job
            - engagement
            - other
          description: >-
            Formato canônico, o vocabulário aceito pelo filtro
            `advertisement_formats`. `other` quando o rótulo bruto não está
            mapeado.
        is_company_matched:
          type: boolean
          description: >-
            `true` quando o anúncio está vinculado a um registro de empresa da
            Pubrio. Anúncios não vinculados só são retornados com
            `is_include_unlinked_companies: true`.
        advertiser:
          type: string
          description: Nome do anunciante conforme exibido pela fonte.
          nullable: true
        advertiser_url:
          type: string
          description: Página do anunciante na fonte, quando disponível.
          nullable: true
        advertisement_url:
          type: string
          description: >-
            Link para o anúncio na biblioteca de anúncios da fonte, quando
            disponível.
          nullable: true
        total_impressions:
          type: string
          description: >-
            Estimativa de impressões exatamente como publicada pela fonte, por
            exemplo `< 1k`, `10k-50k`. `null` para fontes que não informam
            impressões.
          nullable: true
        total_impressions_lower:
          type: integer
          nullable: true
          description: >-
            Limite inferior da faixa de impressões; `null` para faixas do tipo
            `< N`.
        total_impressions_upper:
          type: integer
          nullable: true
          description: Limite superior da faixa de impressões; `null` para faixas abertas.
        image_url:
          type: string
          description: Imagem do criativo, quando o anúncio possui uma.
          nullable: true
        video_url:
          type: string
          description: Vídeo do criativo, quando o anúncio possui um.
          nullable: true
        carousel_images:
          type: array
          nullable: true
          items:
            type: string
          description: Quadros do carrossel, para formatos de carrossel.
        destination_url:
          type: string
          description: >-
            Página de destino resolvida. Wrappers de clique do Facebook como
            `fb.me` são desembrulhados para a URL real do funil.
          nullable: true
        raw_link_url:
          type: string
          description: O link original exatamente como capturado, antes do desembrulho.
          nullable: true
        target_country_codes:
          type: array
          nullable: true
          items:
            type: string
          description: >-
            Países onde o anúncio foi exibido (ISO 3166-1 alfa-2). Mesmo
            vocabulário do filtro `target_locations`.
        publisher_platforms:
          type: array
          nullable: true
          items:
            type: string
            enum:
              - facebook
              - instagram
              - messenger
              - threads
              - audience_network
          description: >-
            Superfícies da Meta em que o anúncio foi veiculado: `facebook`,
            `instagram`, `messenger`, `threads`, `audience_network`. `null` para
            fontes que não são `facebook`.
        companies:
          $ref: '#/components/schemas/search_result_company'
    search_metadata:
      type: object
      description: Contexto da requisição.
      properties:
        profile:
          type: object
          nullable: true
          description: >-
            Bloco de créditos (`credit`, `topup_credit`, `total_credit_cost`)
            quando a contabilização de créditos é solicitada; `null` no tráfego
            comum via chave de API.
        filters:
          type: object
          description: >-
            Eco do corpo da requisição conforme aplicado pelo endpoint,
            incluindo padrões como `per_page` e `language`.
        ignored_fields:
          type: array
          items:
            type: string
          description: >-
            Chaves do corpo que o endpoint não reconheceu e descartou. Vazio
            significa que todas as chaves foram aplicadas — um filtro digitado
            incorretamente amplia a busca em vez de falhar.
    search_result_company:
      type: object
      description: A empresa à qual o registro está vinculado.
      properties:
        domain_search_id:
          type: string
          format: uuid
          description: >-
            Identificador de empresa da Pubrio. Informe-o em `companies` em
            qualquer busca, ou no Company Lookup.
        company_name:
          type: string
          description: Nome da empresa.
        linkedin_name:
          type: string
          nullable: true
          description: Slug da empresa no LinkedIn (a parte após `linkedin.com/company/`).
        country_code:
          type: string
          nullable: true
          description: Código ISO 3166-1 alfa-2 da sede da empresa.
        company_url:
          type: string
          nullable: true
          description: URL do site da empresa.
        domain:
          type: string
          description: Domínio da empresa, normalizado (`stripe.com`).
        logo_url:
          type: string
          nullable: true
          description: URL do logotipo da empresa.
  responses:
    general_error:
      description: >-
        Requisição inválida. A requisição estava malformada ou continha
        parâmetros inválidos. Verifique o código de erro e a mensagem para mais
        detalhes.
      content:
        application/json:
          schema:
            required:
              - code
              - message
              - details
            type: object
            properties:
              code:
                example: 40001
                type: integer
              message:
                example: >-
                  Os erros e códigos variam de acordo com o cenário; consulte a
                  documentação para mais informações.
                type: string
              details:
                type: object
    rate_limit_error:
      description: >-
        Limite de requisições excedido. Foram feitas requisições em excesso em
        um determinado período de tempo. Tente novamente após a janela do limite
        de requisições ser reiniciada.
      content:
        application/json:
          schema:
            required:
              - error
            type: object
            properties:
              error:
                example: >-
                  Limite de requisições excedido. Aguarde e tente novamente mais
                  tarde.
                type: string
    server_error:
      description: >-
        Erro interno do servidor. Ocorreu um erro inesperado no servidor. Entre
        em contato com o suporte caso o erro persista.
      content:
        application/json:
          schema:
            required:
              - error
            type: object
            properties:
              error:
                example: Ocorreu um erro inesperado no servidor.
                type: string
  securitySchemes:
    pubrio_api_key:
      type: apiKey
      name: pubrio-api-key
      description: >-
        Um token de API exclusivo que representa as ações que você realiza por
        meio da API e as permissões e operações correspondentes. Você pode
        criá-lo na seção
        [Configurações](https://dashboard.pubrio.com/#/settings/).
      in: header

````