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

# Rechercher des entreprises

> Trouve des entreprises par leur nom. Un résultat est volontairement succinct : choisissez l'entreprise visée et demandez son profil avec le numéro d'entreprise. Les dénominations légales, commerciales, néerlandaises et françaises sont toutes cherchées.



## OpenAPI

````yaml /api-reference/openapi.fr.json get /v1/companies
openapi: 3.0.3
info:
  title: API OTB Studio
  version: 1.0.0
  description: >-
    Le registre belge des entreprises via REST : recherche, profils,
    actionnariat, comptes annuels déposés et mandats. Chaque route demande un
    jeton `otb_live_`, et chaque réponse livrée coûte des crédits pour les
    données qu'elle contient.
servers:
  - url: https://api.otbstudio.ai
security:
  - token: []
tags:
  - name: Companies
    description: Un registre des entreprises, lu de cinq façons.
paths:
  /v1/companies:
    get:
      tags:
        - Companies
      summary: Rechercher des entreprises
      description: >-
        Trouve des entreprises par leur nom. Un résultat est volontairement
        succinct : choisissez l'entreprise visée et demandez son profil avec le
        numéro d'entreprise. Les dénominations légales, commerciales,
        néerlandaises et françaises sont toutes cherchées.
      operationId: searchCompanies
      parameters:
        - name: q
          in: query
          required: true
          description: Le nom à chercher.
          schema:
            type: string
          example: noordkaap
        - name: limit
          in: query
          required: false
          description: >-
            Nombre de résultats renvoyés, de 1 à 25. Une valeur absente, nulle,
            négative ou plus grande donne 10.
          schema:
            type: integer
            default: 10
      responses:
        '200':
          description: >-
            Les résultats, le meilleur d'abord. Une liste vide si rien ne
            correspond.
          headers:
            X-Credits-Cost:
              $ref: '#/components/headers/X-Credits-Cost'
            X-Credits-Remaining:
              $ref: '#/components/headers/X-Credits-Remaining'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchReply'
              example:
                companies:
                  - enterpriseNumber: BE0734567835
                    name: Noordkaap Warehousing
                    employees: 214
                    statusCode: AC
                  - enterpriseNumber: BE0712345630
                    name: Noordkaap Logistics
                    employees: 187
                    statusCode: AC
        '400':
          description: '`q` est absent ou vide.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QueryRequired'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '402':
          $ref: '#/components/responses/PaymentRequired'
        '429':
          $ref: '#/components/responses/RateLimited'
        '500':
          $ref: '#/components/responses/Internal'
        '503':
          $ref: '#/components/responses/Busy'
components:
  headers:
    X-Credits-Cost:
      description: Ce que cette réponse a coûté, en crédits.
      schema:
        type: integer
    X-Credits-Remaining:
      description: Le solde après cette réponse.
      schema:
        type: integer
    Retry-After:
      description: Secondes à attendre avant de réessayer.
      schema:
        type: integer
  schemas:
    SearchReply:
      type: object
      additionalProperties: false
      required:
        - companies
      properties:
        companies:
          type: array
          items:
            $ref: '#/components/schemas/Match'
    QueryRequired:
      type: object
      additionalProperties: false
      required:
        - code
      properties:
        code:
          type: string
          enum:
            - query_required
    Match:
      type: object
      additionalProperties: false
      required:
        - enterpriseNumber
        - name
      properties:
        enterpriseNumber:
          type: string
          description: La clé pour toutes les autres routes.
        name:
          type: string
          description: >-
            Le nom qui correspond. Ce n'est pas toujours le nom sous lequel vous
            connaissez l'entreprise.
        employees:
          type: number
          description: >-
            Moyenne des équivalents temps plein sur l'exercice le plus récent,
            pas le nombre de personnes. Ce n'est pas un nombre entier.
        statusCode:
          type: string
          description: Le code de statut BCE brut, par exemple `AC` pour active.
    Unauthorized:
      type: object
      additionalProperties: false
      required:
        - code
      properties:
        code:
          type: string
          enum:
            - missing_token
            - invalid_token
    PaymentRequired:
      type: object
      additionalProperties: false
      required:
        - code
      properties:
        code:
          type: string
          enum:
            - insufficient_credits
    RateLimited:
      type: object
      additionalProperties: false
      required:
        - code
      properties:
        code:
          type: string
          enum:
            - rate_limited
    Internal:
      type: object
      additionalProperties: false
      required:
        - code
      properties:
        code:
          type: string
          enum:
            - internal
    Busy:
      type: object
      additionalProperties: false
      required:
        - code
      properties:
        code:
          type: string
          enum:
            - busy
  responses:
    Unauthorized:
      description: >-
        Aucun jeton, ou un jeton non valide. `missing_token` sans en-tête
        `Authorization: Bearer`, `invalid_token` si le jeton est inconnu,
        révoqué ou du mauvais type.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Unauthorized'
    PaymentRequired:
      description: >-
        L'organisation n'a pas d'abonnement, son solde est vide, ou le solde ne
        couvre pas cette réponse. Si la réponse était trop chère, les en-têtes
        disent ce qu'elle aurait coûté et ce qui reste.
      headers:
        X-Credits-Cost:
          $ref: '#/components/headers/X-Credits-Cost'
        X-Credits-Remaining:
          $ref: '#/components/headers/X-Credits-Remaining'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/PaymentRequired'
    RateLimited:
      description: >-
        L'organisation dépasse sa limite (10 appels par seconde, pointes de 20)
        ou a 4 appels en cours. Réessayez après `Retry-After`.
      headers:
        Retry-After:
          $ref: '#/components/headers/Retry-After'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/RateLimited'
    Internal:
      description: Une erreur s'est produite de notre côté.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Internal'
    Busy:
      description: >-
        Les données n'ont pas pu être lues en 15 secondes. Réessayez après
        `Retry-After`.
      headers:
        Retry-After:
          $ref: '#/components/headers/Retry-After'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Busy'
  securitySchemes:
    token:
      type: http
      scheme: bearer
      description: Un jeton `otb_live_`, créé dans le tableau de bord OTB Studio.

````

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