> ## 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 Vagas de Empresas

> Busca vagas de emprego. Consulte o [guia de Job Search](/pt/developer-guides/search/job-search).



## OpenAPI

````yaml pt-openapi POST /companies/jobs/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/jobs/search:
    post:
      tags:
        - Search
      summary: Buscar vagas de emprego
      description: >-
        Busca vagas de emprego. Consulte o [guia de Job
        Search](/pt/developer-guides/search/job-search).
      operationId: companies_search_jobs
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                locations:
                  $ref: '#/components/schemas/locations'
                exclude_locations:
                  type: array
                  items:
                    type: string
                  example:
                    - TW
                  description: >-
                    Códigos de localização ISO 3166-1 alpha-2 (cca2) a serem
                    excluídos dos resultados de vagas. Consulte os endpoints de
                    `location` na aba Filters para ver os códigos válidos.
                location_ids:
                  $ref: '#/components/schemas/job_location_ids'
                company_locations:
                  $ref: '#/components/schemas/company_locations'
                companies:
                  $ref: '#/components/schemas/companies'
                domains:
                  $ref: '#/components/schemas/domains'
                linkedin_urls:
                  $ref: '#/components/schemas/company_linkedin_urls'
                search_term:
                  $ref: '#/components/schemas/search_term'
                search_terms:
                  type: array
                  items:
                    type: string
                  example:
                    - Software Developer
                  description: >-
                    Array de strings de palavras-chave para filtrar vagas de
                    emprego. Cada termo é comparado com o conteúdo da vaga. Use
                    `search_term` para uma única string ou `search_terms` para
                    várias palavras-chave.
                titles:
                  $ref: '#/components/schemas/people_titles'
                functions:
                  $ref: '#/components/schemas/job_functions'
                seniority_ranks:
                  $ref: '#/components/schemas/job_seniority_ranks'
                posted_dates:
                  $ref: '#/components/schemas/posted_dates'
                launch_dates:
                  $ref: '#/components/schemas/job_launch_dates'
                created_at:
                  $ref: '#/components/schemas/search_created_at'
                is_realtime_enrichment:
                  $ref: '#/components/schemas/is_realtime_enrichment'
                is_ascending_order:
                  $ref: '#/components/schemas/is_ascending_order'
                per_page:
                  $ref: '#/components/schemas/per_page'
                page:
                  $ref: '#/components/schemas/page'
      responses:
        '200':
          description: >-
            Resposta bem-sucedida contendo os detalhes da busca de vagas de
            empresas.
          content:
            application/json:
              schema:
                type: object
                properties:
                  metadata:
                    $ref: '#/components/schemas/search_metadata'
                  data:
                    type: object
                    properties:
                      pagination:
                        $ref: '#/components/schemas/search_pagination'
                      jobs:
                        type: array
                        items:
                          $ref: '#/components/schemas/job_search_result'
              example:
                metadata:
                  profile: null
                  filters:
                    domains:
                      - google.com
                    per_page: 25
                    language: en
                  ignored_fields: []
                data:
                  pagination:
                    page: 1
                    per_page: 25
                    total_entries: 2228628
                    total_pages: 89146
                    is_timeout: false
                    total_display_pages: 250
                  jobs:
                    - job_id: 371d0c44-4c56-4c9c-98e2-ef6dd986b848
                      job_search_id: 371d0c44-4c56-4c9c-98e2-ef6dd986b848
                      last_modified: '2025-05-31T20:41:27.894Z'
                      companies:
                        logo_url: >-
                          https://buckets.pubrio.com/company-logo/OTQxMjYxMTFnb29nbGUuY29tLnBrbGlua2VkaW5fcF9sb2dvMTU=.jpg
                        domain_search_id: 539e2c34-de6b-4613-8f5b-e3aa18b4ef47
                        company_name: Google
                        linkedin_name: google
                        country_code: US
                        domain: google.com
                      location: Seoul, Seoul, South Korea
                      job_url: >-
                        https://kr.linkedin.com/jobs/view/software-engineer-greach-program-for-people-with-disabilities-%EC%9E%A5%EC%95%A0%EC%9D%B8-%EC%B1%84%EC%9A%A9-at-google-4224659596?position=7&pageNum=0&refId=DwDpGXGftUql%2FkETvFCwXw%3D%3D&trackingId=gAvrIP0yUQuf8fjK67HSbQ%3D%3D
                      posting_date: '2025-05-31'
                      country_code: KR
                      location_id: 491
                      title: >-
                        Software Engineer, gReach Program for People with
                        Disabilities (장애인 채용)
                      country: South Korea
                      created_at: '2025-05-10T14:30:58.348Z'
                      source_type: linkedin
                      functions: null
                      seniority_rank: 0
                      base_salary: null
                      experience_requirement: null
                      education_requirement: null
                      employment_type: null
                    - ...
        '400':
          $ref: '#/components/responses/general_error'
        '429':
          $ref: '#/components/responses/rate_limit_error'
        '500':
          $ref: '#/components/responses/server_error'
components:
  schemas:
    locations:
      type: array
      items:
        type: string
      example:
        - US
        - SG
        - CN
      description: >-
        O padrão ISO 3166-1 alpha-2 (cca2) é usado para filtrar localizações.
        Consulte os endpoints `location` na aba Filters para mais informações.
    job_location_ids:
      type: array
      items:
        type: integer
      example:
        - 357
        - 419
      description: >-
        País da vaga pelo `location_id` da Pubrio (endpoint Locations; também
        presente em cada linha). Alternativa a `locations`.
    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.
    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/`
    search_term:
      type: string
      example: pubrio
      description: Uma string de palavras pela qual queremos filtrar os resultados.
    people_titles:
      type: array
      items:
        type: string
      example:
        - sales manager
        - marketing manager
      description: |-
        Cargos associados aos indivíduos que você deseja localizar. 

         Os resultados também incluirão cargos que contenham terminologia semelhante, mesmo que não correspondam exatamente. Por exemplo, buscar por `software engineer` pode retornar resultados de indivíduos com o cargo `senior software engineer`.
    job_functions:
      type: array
      items:
        type: string
      example:
        - engineering
        - product_management
      description: >-
        Slugs de função derivados do cargo, por exemplo `engineering`, `sales`,
        `marketing`, `finance`, `product_management` — os mesmos valores
        retornados pelas linhas em `functions`. Slugs desconhecidos não
        correspondem a nada. Lista completa: [Enums &
        Constants](/pt/api-reference/enums#funções-de-cargo).
    job_seniority_ranks:
      type: array
      items:
        type: integer
        enum:
          - 1
          - 2
          - 3
          - 4
          - 5
      example:
        - 4
        - 5
      description: >-
        Nível de senioridade extraído do cargo: `1` júnior, `2` sênior, `3`
        gerente, `4` diretor, `5` executivo. Valores fora do intervalo 1–5 são
        ignorados e o filtro é descartado. As linhas retornam seu nível em
        `seniority_rank` (`0` = não classificado).
    posted_dates:
      type: array
      items:
        type: string
      example:
        - '2025-01-01'
        - '2025-01-10'
      description: >-
        Intervalo de datas de publicação. O valor máximo é o dia atual. Os
        limites do dia seguem o fuso horário do seu workspace.
    job_launch_dates:
      type: array
      items:
        type: string
        format: date
      minItems: 1
      maxItems: 2
      example:
        - '2026-08-01'
        - '2026-08-31'
      description: >-
        Janela inclusiva `[from, to]` (UTC) sobre a data de lançamento:
        `posting_date`, ou o dia de ingestão quando ausente. Corresponde à forma
        como o Job Insights contabiliza. Uma única data corresponde a esse dia.
    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.
    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.
    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.
    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**.
    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_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.
    job_search_result:
      type: object
      description: Uma vaga de emprego.
      properties:
        job_id:
          type: string
          format: uuid
          description: Identificador da vaga.
        job_search_id:
          type: string
          format: uuid
          description: Mesmo valor de `job_id`. Informe-o no Job Lookup.
        created_at:
          type: string
          format: date-time
          description: >-
            Quando a Pubrio ingeriu a vaga 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.
        title:
          type: string
          description: Título da vaga conforme publicado.
        job_url:
          type: string
          description: Link para a vaga na fonte.
        location:
          type: string
          description: Localização em texto livre conforme publicada.
          nullable: true
        location_id:
          type: integer
          nullable: true
          description: >-
            `location_id` da Pubrio referente ao país da vaga. Mesmo vocabulário
            do filtro `location_ids`.
        country:
          type: string
          description: Nome do país da vaga.
          nullable: true
        country_code:
          type: string
          description: >-
            Código ISO 3166-1 alfa-2 do país da vaga. Mesmo vocabulário do
            filtro `locations`.
          nullable: true
        posting_date:
          type: string
          format: date
          nullable: true
          description: >-
            Data de publicação informada pela fonte. `launch_dates` filtra por
            esse campo, recorrendo a `created_at` quando ausente.
        source_type:
          type: string
          description: Fonte de onde a vaga foi capturada, por exemplo `linkedin`.
        functions:
          type: array
          nullable: true
          items:
            type: string
          description: >-
            Slugs de função da vaga resolvidos a partir do cargo; `null` quando
            não classificado. Mesmo vocabulário do filtro `functions`.
        seniority_rank:
          type: integer
          enum:
            - 0
            - 1
            - 2
            - 3
            - 4
            - 5
          description: >-
            Nível de senioridade `1`–`5` conforme definido no filtro
            `seniority_ranks`; `0` quando o cargo não pôde ser classificado.
        base_salary:
          type: string
          description: Texto do salário conforme publicado, quando a fonte o fornece.
          nullable: true
        experience_requirement:
          type: string
          description: >-
            Requisito de experiência conforme publicado, quando a fonte o
            fornece.
          nullable: true
        education_requirement:
          type: string
          description: Requisito de formação conforme publicado, quando a fonte o fornece.
          nullable: true
        employment_type:
          type: string
          description: >-
            Tipo de contratação conforme publicado (por exemplo, `Full-time`),
            quando a fonte o fornece.
          nullable: true
        companies:
          $ref: '#/components/schemas/search_result_company'
    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

````