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

# Recherche d'emplois par entreprise

> Recherchez des offres d'emploi. Consultez le [guide Job Search](/fr/developer-guides/search/job-search).



## OpenAPI

````yaml fr-openapi POST /companies/jobs/search
openapi: 3.0.0
info:
  description: >-
    L'API Pubrio fournit une intelligence d'expansion de marché — des signaux en
    temps réel qui indiquent quand une entreprise entre sur un nouveau marché —
    ainsi que les données d'entreprises et de personnes qui les sous-tendent.
    Recherchez, consultez et enrichissez des comptes et des contacts, et
    abonnez-vous à des signaux de mouvement typés et datés sur plus de 200
    marchés.
  version: 1.0.0
  title: Pubrio OpenAPI
  termsOfService: https://pubrio.com/fr/terms-of-service
  contact:
    email: king.lai@pubrio.com
    name: King Lai
    url: https://pubrio.com/fr/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: >-
      Informations de profil de l'espace de travail et statistiques
      d'utilisation
  - name: Enrichment
    description: >-
      Enrichissez les fiches de personnes et d'entreprises avec des données B2B
      détaillées
  - name: Lookalike
    description: Trouvez des entreprises similaires à une entreprise donnée
  - name: Search
    description: >-
      Recherchez des personnes, des entreprises, des offres d'emploi, des
      actualités et des publicités à l'aide de filtres
  - name: Lookup
    description: >-
      Consultez des informations détaillées sur des personnes, entreprises,
      offres d'emploi, actualités, publicités et technologies spécifiques
  - name: LinkedIn
    description: >-
      Consultez les données de personnes et d'entreprises via des URL de profil
      LinkedIn
  - name: Redeem
    description: >-
      Utilisez des crédits pour débloquer les coordonnées de personnes (unitaire
      et par lot)
  - name: Channels
    description: >-
      Gérez les modèles de canaux de prospection (création, mise à jour,
      suppression, liste)
  - name: Monitor
    description: >-
      Créez et gérez des moniteurs de données avec webhooks, statistiques et
      traitement
  - name: Filters
    description: >-
      Récupérez les valeurs de filtre disponibles pour les paramètres de
      recherche (technologies, localisations, secteurs verticaux, etc.)
  - name: API Keys
    description: >-
      Listez et inspectez les journaux de requêtes API et les statistiques
      d'utilisation des clés API
  - name: Insights
    description: >-
      Informations agrégées sur les signaux des entreprises (offres d'emploi,
      actualités, publicités).
  - name: Export
    description: Exports de données en masse (soumis à des crédits).
  - name: Expansion
    description: >-
      Intelligence d'expansion de marché des entreprises : signaux, étapes,
      marchés et exports.
externalDocs:
  description: >-
    L'API Pubrio permet de rechercher, prévisualiser et enrichir des contacts et
    des comptes. La base de données Pubrio fournit des données étendues de
    contacts B2B et de veille commerciale.
  url: https://docs.pubrio.com
paths:
  /companies/jobs/search:
    post:
      tags:
        - Search
      summary: Rechercher des offres d'emploi
      description: >-
        Recherchez des offres d'emploi. Consultez le [guide Job
        Search](/fr/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: >-
                    Codes de localisation ISO 3166-1 alpha-2 (cca2) à exclure
                    des résultats d'offres d'emploi. Consultez les endpoints
                    `location` sous l'onglet Filters pour connaître les codes
                    valides.
                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: >-
                    Tableau de mots-clés pour filtrer les offres d'emploi.
                    Chaque terme est comparé au contenu de l'offre. Utilisez
                    `search_term` pour une seule chaîne ou `search_terms` pour
                    plusieurs mots-clés.
                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: >-
            Réponse réussie contenant les détails de la recherche d'offres
            d'emploi d'entreprises.
          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: >-
        Le code ISO 3166-1 alpha-2 (cca2) est utilisé pour filtrer les
        localisations. Consultez les points de terminaison `location` sous
        l'onglet Filters pour plus d'informations.
    job_location_ids:
      type: array
      items:
        type: integer
      example:
        - 357
        - 419
      description: >-
        Pays de publication par `location_id` Pubrio (endpoint Locations ;
        également présent sur chaque enregistrement). Alternative à `locations`.
    company_locations:
      type: array
      items:
        type: string
      example:
        - US
        - SG
        - CN
      description: >-
        L'emplacement du siège social de l'entreprise. Consultez les points de
        terminaison `location` sous l'onglet Filters pour plus d'informations.
    companies:
      type: array
      items:
        type: string
        format: uuid
      description: >-
        Une liste d'identifiants uniques (domain_search_id) utilisée pour les
        opérations de recherche d'entreprises et de personnes.
    domains:
      type: array
      items:
        type: string
      example:
        - pubrio.com
      description: >-
        Liste de domaines d'entreprise utilisée pour les opérations de recherche
        d'entreprises et de personnes. Si nous recevons une URL telle que
        `www.pubrio.com` ou `https://docs.pubrio.com/`, le système la convertira
        en `pubrio.com` pour le traitement.
    company_linkedin_urls:
      type: array
      items:
        type: string
      example:
        - https://www.linkedin.com/company/pubrio
      description: >-
        L'URL complète du profil d'entreprise LinkedIn. L'URL commence par
        `http` et contient `linkedin.com/company/`
    search_term:
      type: string
      example: pubrio
      description: Une chaîne de mots sur laquelle filtrer les résultats.
    people_titles:
      type: array
      items:
        type: string
      example:
        - sales manager
        - marketing manager
      description: >-
        Intitulés de poste associés aux personnes que vous cherchez à
        localiser. 

         Les résultats incluront également les intitulés de poste comportant une terminologie similaire, même s'ils ne correspondent pas exactement. Par exemple, une recherche pour `software engineer` peut renvoyer des résultats pour des personnes portant le titre `senior software engineer`.
    job_functions:
      type: array
      items:
        type: string
      example:
        - engineering
        - product_management
      description: >-
        Slugs de fonction déduits du titre, par ex. `engineering`, `sales`,
        `marketing`, `finance`, `product_management` — les mêmes valeurs que
        celles renvoyées par les enregistrements dans `functions`. Les slugs
        inconnus ne correspondent à rien. Liste complète : [Enums &
        Constants](/fr/api-reference/enums#job-functions).
    job_seniority_ranks:
      type: array
      items:
        type: integer
        enum:
          - 1
          - 2
          - 3
          - 4
          - 5
      example:
        - 4
        - 5
      description: >-
        Niveau d'ancienneté déduit du titre : `1` junior, `2` senior, `3`
        manager, `4` director, `5` executive. Les valeurs hors de la plage 1–5
        sont ignorées et le filtre est abandonné. Les enregistrements renvoient
        leur niveau dans `seniority_rank` (`0` = non classifié).
    posted_dates:
      type: array
      items:
        type: string
      example:
        - '2025-01-01'
        - '2025-01-10'
      description: >-
        Plage de dates de la date de publication. La valeur maximale est le jour
        en cours. Les limites de journée suivent le fuseau horaire de votre
        espace de travail.
    job_launch_dates:
      type: array
      items:
        type: string
        format: date
      minItems: 1
      maxItems: 2
      example:
        - '2026-08-01'
        - '2026-08-31'
      description: >-
        Fenêtre inclusive `[from, to]` (UTC) sur la date de lancement :
        `posting_date`, ou le jour d'ingestion si absente. Correspond à la façon
        dont Job Insights compte. Une seule date correspond à ce jour-là.
    search_created_at:
      type: string
      format: date-time
      example: '2026-09-02T12:00:00Z'
      description: >-
        Ingéré à cet instant ou après (UTC). Date ou horodatage ISO. Pour des
        synchronisations incrémentielles, transmettez le `created_at` de votre
        enregistrement stocké le plus récent.
    is_realtime_enrichment:
      type: boolean
      default: false
      example: true
      description: >-
        Active l'enrichissement en temps réel pour une requête unique limitée à
        une entreprise (filtrée par `domain_search_id`, `domains`, ou
        `linkedin_urls`). Lorsque la recherche initiale ne renvoie aucun
        résultat, le point de terminaison extrait la source, enregistre les
        données de manière persistante, puis relance la recherche avant de
        répondre. Soumis à un délai propre à chaque route.
    is_ascending_order:
      type: boolean
      default: false
      example: false
      description: >-
        Sens de tri. Les résultats sont renvoyés du plus récent au plus ancien
        par défaut ; définissez `true` pour du plus ancien au plus récent. Il
        n'y a pas de `sort_by` sur cet endpoint — la clé de tri est fixe et
        indiquée dans la description de l'endpoint.
    per_page:
      type: integer
      example: 25
      default: 25
      maximum: 25
      description: >-
        Enregistrements par page. Par défaut 25, ce qui constitue également le
        plafond sur la plupart des forfaits — la limite correspond au
        `max_search_per_page` de votre abonnement, renvoyé par
        [Profile](/fr/api-reference/endpoint/profile/profile). Le dépasser
        renvoie **HTTP 416** avec le code `41676` (ou `41613` pour la recherche
        d'entreprises et de personnes), et non un ensemble de résultats tronqué.
    page:
      type: integer
      example: 1
      default: 1
      description: >-
        Numéro de page, à partir de 1. Le plafond correspond au
        `max_search_page` de votre abonnement (`max_company_search_page` pour la
        recherche d'entreprises), renvoyé par
        [Profile](/fr/api-reference/endpoint/profile/profile). Le dépasser
        renvoie **HTTP 416**.
    search_metadata:
      type: object
      description: Contexte de la requête.
      properties:
        profile:
          type: object
          nullable: true
          description: >-
            Bloc de crédit (`credit`, `topup_credit`, `total_credit_cost`)
            lorsque la comptabilisation des crédits est demandée ; `null` pour
            le trafic par simple clé API.
        filters:
          type: object
          description: >-
            Écho du corps de la requête tel que l'endpoint l'a appliqué, y
            compris les valeurs par défaut telles que `per_page` et `language`.
        ignored_fields:
          type: array
          items:
            type: string
          description: >-
            Clés du corps que l'endpoint n'a pas reconnues et a abandonnées.
            Vide signifie que toutes les clés ont été appliquées — un filtre mal
            orthographié élargit la recherche au lieu d'échouer.
    search_pagination:
      type: object
      description: Pagination de l'ensemble de résultats.
      properties:
        page:
          type: integer
          description: Numéro de la page actuelle.
        per_page:
          type: integer
          description: Nombre d'enregistrements par page.
        total_entries:
          type: integer
          description: >-
            Nombre total d'enregistrements correspondants. Pour les recherches
            larges, indépendantes d'une entreprise, il s'agit d'une estimation.
        total_pages:
          type: integer
          description: '`total_entries` divisé par `per_page`.'
        total_display_pages:
          type: integer
          description: >-
            Pages que vous pouvez réellement demander, plafonnées par le
            `max_search_page` de votre forfait.
        is_timeout:
          type: boolean
          description: >-
            `true` lorsque la requête de comptage a expiré et que
            `total_entries` est une estimation partielle.
    job_search_result:
      type: object
      description: Une offre d'emploi.
      properties:
        job_id:
          type: string
          format: uuid
          description: Identifiant de l'offre.
        job_search_id:
          type: string
          format: uuid
          description: Même valeur que `job_id`. Transmettez-la à Job Lookup.
        created_at:
          type: string
          format: date-time
          description: >-
            Date à laquelle Pubrio a ingéré l'offre pour la première fois. C'est
            la clé de tri par défaut.
        last_modified:
          type: string
          format: date-time
          description: Date de dernière mise à jour de l'enregistrement.
        title:
          type: string
          description: Intitulé du poste tel que publié.
        job_url:
          type: string
          description: Lien vers l'offre à la source.
        location:
          type: string
          description: Localisation en texte libre telle que publiée.
          nullable: true
        location_id:
          type: integer
          nullable: true
          description: >-
            `location_id` Pubrio du pays de l'offre. Même vocabulaire que le
            filtre `location_ids`.
        country:
          type: string
          description: Nom du pays de l'offre.
          nullable: true
        country_code:
          type: string
          description: >-
            Code ISO 3166-1 alpha-2 du pays de l'offre. Même vocabulaire que le
            filtre `locations`.
          nullable: true
        posting_date:
          type: string
          format: date
          nullable: true
          description: >-
            Date de publication indiquée par l'éditeur. `launch_dates` filtre
            sur cette date, avec repli sur `created_at` lorsqu'elle est absente.
        source_type:
          type: string
          description: Source depuis laquelle l'offre a été capturée, par ex. `linkedin`.
        functions:
          type: array
          nullable: true
          items:
            type: string
          description: >-
            Slugs de fonction déduits du titre ; `null` lorsque non classifié.
            Même vocabulaire que le filtre `functions`.
        seniority_rank:
          type: integer
          enum:
            - 0
            - 1
            - 2
            - 3
            - 4
            - 5
          description: >-
            Niveau d'ancienneté `1`–`5` tel que défini par le filtre
            `seniority_ranks` ; `0` lorsque le titre n'a pas pu être classifié.
        base_salary:
          type: string
          description: Texte du salaire tel que publié, lorsque la source en fournit un.
          nullable: true
        experience_requirement:
          type: string
          description: >-
            Exigence d'expérience telle que publiée, lorsque la source en
            fournit une.
          nullable: true
        education_requirement:
          type: string
          description: >-
            Exigence de formation telle que publiée, lorsque la source en
            fournit une.
          nullable: true
        employment_type:
          type: string
          description: >-
            Type de contrat tel que publié (par ex. `Full-time`), lorsque la
            source en fournit un.
          nullable: true
        companies:
          $ref: '#/components/schemas/search_result_company'
    search_result_company:
      type: object
      description: L'entreprise à laquelle l'enregistrement est lié.
      properties:
        domain_search_id:
          type: string
          format: uuid
          description: >-
            Identifiant d'entreprise Pubrio. Transmettez-le à `companies` sur
            n'importe quelle recherche, ou à Company Lookup.
        company_name:
          type: string
          description: Nom de l'entreprise.
        linkedin_name:
          type: string
          nullable: true
          description: >-
            Slug d'entreprise LinkedIn (la partie après
            `linkedin.com/company/`).
        country_code:
          type: string
          nullable: true
          description: Code ISO 3166-1 alpha-2 du siège social de l'entreprise.
        company_url:
          type: string
          nullable: true
          description: URL du site web de l'entreprise.
        domain:
          type: string
          description: Domaine de l'entreprise, normalisé (`stripe.com`).
        logo_url:
          type: string
          nullable: true
          description: URL du logo de l'entreprise.
  responses:
    general_error:
      description: >-
        Requête invalide. La requête était mal formée ou contenait des
        paramètres invalides. Consultez le code d'erreur et le message pour plus
        de détails.
      content:
        application/json:
          schema:
            required:
              - code
              - message
              - details
            type: object
            properties:
              code:
                example: 40001
                type: integer
              message:
                example: >-
                  Errors and codes will vary depending on the scenario, please
                  see the documentation for information.
                type: string
              details:
                type: object
    rate_limit_error:
      description: >-
        Limite de débit dépassée. Trop de requêtes ont été effectuées au cours
        d'une période donnée. Réessayez après la réinitialisation de la fenêtre
        de limitation de débit.
      content:
        application/json:
          schema:
            required:
              - error
            type: object
            properties:
              error:
                example: Request rate limit exceeded. Please wait and try again later.
                type: string
    server_error:
      description: >-
        Erreur interne du serveur. Une erreur inattendue s'est produite sur le
        serveur. Contactez le support si l'erreur persiste.
      content:
        application/json:
          schema:
            required:
              - error
            type: object
            properties:
              error:
                example: An unexpected error occurred on the server.
                type: string
  securitySchemes:
    pubrio_api_key:
      type: apiKey
      name: pubrio-api-key
      description: >-
        Un jeton API unique qui représente les actions que vous effectuez via
        l'API ainsi que les autorisations et opérations correspondantes. Vous
        pouvez le créer dans la section
        [Settings](https://dashboard.pubrio.com/#/settings/).
      in: header

````