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

# Détail de l'expansion d'entreprise

> Profil d'expansion approfondi pour une seule entreprise — étape actuelle, signaux, présence sur le marché, et historique de transition d'étape — pour un marché ou agrégé sur tous les marchés.



## OpenAPI

````yaml fr-openapi POST /expansions/companies/lookup
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:
  /expansions/companies/lookup:
    post:
      tags:
        - Expansion
      summary: Détail d'expansion d'entreprise
      description: >-
        Profil d'expansion approfondi pour une seule entreprise — étape
        actuelle, signaux, présence sur le marché, et historique de transition
        d'étape — pour un marché ou agrégé sur tous les marchés.
      operationId: expansions_company_lookup
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                country_code:
                  $ref: '#/components/schemas/expansion_country_code'
                is_all_markets:
                  $ref: '#/components/schemas/expansion_is_all_markets'
                signal_type:
                  type: string
                  enum:
                    - AD
                    - AUDIENCE
                    - DNS
                    - ENTITY
                    - EVENT
                    - EVENT_PLUS
                    - EXEC
                    - HIRE
                    - INFRA
                    - IP
                    - NEWS
                    - OFFICE
                    - PARTNER
                    - PRODUCT
                    - REG
                    - SCALE
                    - TECH
                  example: EXEC
                  description: Filtrer les signaux renvoyés à un seul type.
                query:
                  type: string
                  example: >-
                    We sell Employer-of-Record and local payroll; best-fit
                    buyers hire in a new market before setting up a legal
                    entity.
                  description: >-
                    Description en langage naturel de ce que vous vendez, ou du
                    profil acheteur par rapport auquel vous évaluez cette
                    entreprise. Utilisé uniquement pour ancrer le `summary`
                    généré par IA (voir `is_explain_match`) ; contrairement à la
                    recherche d'entreprises, ceci n'est PAS interprété en
                    filtres ici.
                is_explain_match:
                  type: boolean
                  example: true
                  description: >-
                    Si true et qu'une `query` est fournie, `summary` renvoie un
                    unique résumé généré par IA de l'activité d'expansion de
                    cette entreprise dans la portée actuelle (le marché
                    sélectionné, ou tous les marchés étrangers quand
                    `is_all_markets` est true), lu en fonction de votre `query`
                    et ancré dans les signaux réels de l'entreprise avec des
                    citations `[n]`.
                window_days:
                  type: integer
                  example: 90
                  default: 90
                  description: >-
                    Optionnel. Fenêtre glissante (en jours) qui borne le flux du
                    `summary` généré par IA. Par défaut sur **90** quand ni ceci
                    ni `transitioned_dates` n'est fourni. N'affecte pas la liste
                    paginée `signals` (historique complet).
                transitioned_dates:
                  type: array
                  items:
                    type: string
                    format: date
                  example:
                    - '2026-04-01'
                    - '2026-06-29'
                  description: >-
                    Plage de dates ISO `[from, to]` pour la fenêtre de
                    signal/transition. Prime sur `window_days` lorsque les deux
                    sont fournis.
                domain:
                  $ref: '#/components/schemas/domain'
                linkedin_url:
                  $ref: '#/components/schemas/company_linkedin_url'
                domain_search_id:
                  $ref: '#/components/schemas/domain_search_id'
                is_include_established:
                  $ref: '#/components/schemas/expansion_is_include_established'
                page:
                  $ref: '#/components/schemas/page'
                per_page:
                  $ref: '#/components/schemas/per_page'
                is_include_metadata:
                  type: boolean
                  description: >-
                    Renvoie la charge utile de détail complète. Le trafic par
                    clé API est allégé par défaut : le bloc `model`, les
                    chiffres de confiance (`stage.confidence` sur Company
                    Expansion Detail, `confidence_score` sur `other_markets[]`
                    et sur `markers[]` de Rankings) et les champs
                    `established_min` / `share_of_detected` / `has_known_office`
                    sont tous omis sauf si ceci est `true`.
                  example: true
                summary_only:
                  type: boolean
                  description: >-
                    Renvoie uniquement le bloc de résumé d'étape (`data`,
                    `company`, `markets_summary`, `signal_weekly_totals`,
                    `recent_signals`, `expansion_score`, `summary`) et ignore la
                    liste de signaux et ses agrégats. Beaucoup plus économique
                    pour les vues d'en-tête.
                  example: true
                markets_summary_full:
                  type: boolean
                  description: >-
                    Inclut l'ensemble complet des marchés classés en tant que
                    `markets_summary`, aux côtés de la liste plafonnée
                    `other_markets`.
                  example: true
              anyOf:
                - title: Domain Search ID
                  required:
                    - domain_search_id
                - title: Domain
                  required:
                    - domain
                - title: LinkedIn URL
                  required:
                    - linkedin_url
      responses:
        '200':
          description: Détail entreprise sur le marché.
          content:
            application/json:
              schema:
                type: object
                properties:
                  metadata:
                    type: object
                  data:
                    type: object
                    description: Conteneur de résultat.
                    properties:
                      domain_search_id:
                        type: string
                        description: Identifiant d'entreprise Pubrio.
                      country_code:
                        type: string
                        description: Marché cible, ISO 3166-1 alpha-2.
                      country_name:
                        type: string
                        description: Nom du marché cible.
                      stage_rank:
                        type: integer
                        description: >-
                          Rang numérique de l'étape, plus élevé signifie plus
                          avancé.
                      stage_name:
                        type: string
                        description: Nom d'affichage de l'étape.
                      stage:
                        type: object
                        description: >-
                          Détail de l'étape — score, portée, direction,
                          fraîcheur et comptages de signaux.
                      local_people_count:
                        type: integer
                        description: Employés situés sur le marché cible.
                      local_people_coverage:
                        type: boolean
                        description: >-
                          Indique si la couverture d'effectif est suffisante
                          pour faire confiance au comptage.
                      presence:
                        type: object
                        description: >-
                          Empreinte sur le marché : à quel point l'entreprise
                          est déjà établie, indépendamment de son étape
                          d'expansion.
                        properties:
                          level:
                            type: string
                            enum:
                              - established
                              - emerging
                              - none
                              - no_data
                            description: >-
                              À quel point l'empreinte de l'entreprise sur ce
                              marché est établie : `established`, `emerging`,
                              `none`, ou `no_data`. Il s'agit de l'empreinte,
                              pas de l'étape d'expansion.
                          local_people_count:
                            type: integer
                            description: Employés situés sur le marché cible.
                          matched_rule:
                            type: string
                            nullable: true
                            description: >-
                              Quel signal a établi le niveau — par exemple
                              `office`, `headcount` ou `share`. `null` quand
                              aucune règle n'a correspondu.
                      read:
                        type: object
                        description: Statut de lecture pour cet enregistrement.
                  signals:
                    type: array
                    description: >-
                      Les lignes de signal paginées derrière cette paire
                      entreprise/marché — la liste des preuves. La taille de
                      page et les totaux proviennent de `metadata.pagination`.
                    items:
                      type: object
                  summary:
                    type: object
                    description: >-
                      Résumé d'étape en une ligne pour la paire. Première page
                      uniquement.
                  company:
                    type: object
                    description: >-
                      Habillage entreprise — nom, domaine, logo et URLs
                      sociales. Première page uniquement.
                  signal_group_totals:
                    type: array
                    description: >-
                      Comptages de signaux par type, regroupés par jour dans
                      votre fuseau horaire. Première page uniquement.
                    items:
                      type: object
                  signal_type_totals:
                    type: array
                    description: >-
                      Totaux de signaux depuis toujours par type de signal.
                      Première page uniquement.
                    items:
                      type: object
                  signal_type_recent_totals:
                    type: array
                    description: >-
                      Totaux de signaux par type sur les 12 dernières semaines
                      glissantes. Première page uniquement.
                    items:
                      type: object
                  signal_weekly_totals:
                    type: array
                    description: >-
                      Comptages de signaux hebdomadaires pour la carte de
                      chaleur, même fenêtre que `signal_type_recent_totals`.
                      Première page uniquement.
                    items:
                      type: object
                  evidence_breakdown:
                    type: object
                    description: >-
                      Agrégat de preuves par type de source, calculé à partir
                      des signaux renvoyés (expurgés). Première page uniquement.
                  presence:
                    type: object
                    description: >-
                      Présence physique et numérique observée pour l'entreprise
                      sur ce marché. Première page uniquement.
                  suppressions:
                    type: array
                    description: >-
                      Signaux supprimés du calcul de l'étape, avec la raison de
                      chacun. Première page uniquement.
                    items:
                      type: object
                  timeline:
                    type: array
                    description: >-
                      Historique des transitions d'étape pour ce couple
                      entreprise/marché. Première page uniquement.
                    items:
                      type: object
                  other_markets:
                    type: array
                    description: >-
                      Les autres marchés actifs de l'entreprise. Plafonné sur
                      les forfaits limités — voir `other_markets_locked_count`.
                      Première page uniquement.
                    items:
                      type: object
                  other_markets_locked_count:
                    type: integer
                    description: >-
                      Nombre de marchés supplémentaires que votre forfait n'a
                      pas renvoyés dans `other_markets`. `0` si rien n'a été
                      omis.
                  markets_summary:
                    type: array
                    description: >-
                      Ensemble complet et classé des marchés pour cette
                      entreprise. Renvoyé uniquement lorsque
                      `markets_summary_full` vaut `true`, sur la première page.
                    items:
                      type: object
              example:
                metadata:
                  filters:
                    domain_search_id: 8f3c1b04-2e7a-4d19-9c55-6ab21f0e7d3c
                    country_code: US
                  country_code_auto_picked: false
                  pagination:
                    page: 1
                    per_page: 25
                    total_entries: 12
                    total_pages: 1
                    total_display_pages: 1
                    is_timeout: false
                data:
                  domain_search_id: 8f3c1b04-2e7a-4d19-9c55-6ab21f0e7d3c
                  country_code: US
                  country_name: United States
                  stage_rank: 3
                  stage_name: Expanding
                  stage:
                    slug: expanding
                    expansion_score: 0.721
                    scope: entering_new_market
                    direction: advancing
                    freshness: fresh
                    contraction_flag: null
                    mode_change_flag: false
                    signal_count: 5
                    distinct_type_count: 3
                    has_known_presence: false
                    first_signal_at: '2026-05-30T09:00:00.000Z'
                    latest_signal_at: '2026-06-20T14:00:00.000Z'
                    last_transition_at: '2026-06-15T09:30:00.000Z'
                signals:
                  - signal_type_slug: EXEC
                    signal_subtype_slug: country_manager
                    signal_strength_slug: high
                    polarity: expansion
                    event_date: '2026-06-20T14:00:00.000Z'
                    source_type: linkedin
                    display_label: Hired Regional VP for North America
                    evidence_url: https://linkedin.com/company/example-corp
                    source_published_at: '2026-06-20T14:00:00.000Z'
                    lead_time_days: 0
                presence:
                  - presence_type: office
                    presence_strength: high
                    address: 123 Market St, San Francisco, CA
                    known_since: '2026-03-15T00:00:00.000Z'
                timeline:
                  - stage_slug: expanding
                    transitioned_at: '2026-06-15T09:30:00.000Z'
                    transition_kind: advance
                other_markets:
                  - country_code: CA
                    stage_slug: committing
                    signal_count: 8
                    first_signal_at: '2026-04-10T00:00:00.000Z'
                    latest_signal_at: '2026-06-22T16:45:00.000Z'
                    last_transition_at: '2026-06-18T00:00:00.000Z'
        '400':
          $ref: '#/components/responses/general_error'
        '429':
          $ref: '#/components/responses/rate_limit_error'
        '500':
          $ref: '#/components/responses/server_error'
components:
  schemas:
    expansion_country_code:
      type: string
      example: US
      description: >-
        Marché cible sous forme de code pays ISO 3166-1 alpha-2 (cca2). Omettez
        pour sélectionner automatiquement le marché le plus actif de
        l'entreprise ; définissez `is_all_markets` pour une vue transversale de
        tous les marchés.
    expansion_is_all_markets:
      type: boolean
      example: false
      description: >-
        Renvoie l'intégralité de l'empreinte d'expansion de l'entreprise sur
        TOUS les marchés en un seul appel, plutôt qu'un seul marché. Lorsque
        `true`, `country_code` est ignoré, le marché domestique est exclu des
        agrégats de signaux lorsqu'il peut être identifié, `data` devient un
        agrégat au niveau de l'entreprise (étape dominante, total des signaux,
        étendue des dates, meilleur score d'expansion), et `markets_summary`
        liste tous les marchés. Par défaut à false.
    domain:
      type: string
      example: pubrio.com
      description: >-
        Un domaine d'entreprise utilisé pour les opérations de recherche
        d'entreprises. 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_url:
      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/`
    domain_search_id:
      type: string
      format: uuid
      description: Un identifiant unique pour l'opération de recherche d'entreprise.
    expansion_is_include_established:
      type: boolean
      example: false
      description: >-
        Inclut l'étape `established` (acteurs établis de longue date sans
        signaux d'expansion actifs). Par défaut à false.
    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**.
    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é.
  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

````