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

# Ondernemingen zoeken

> Zoekt ondernemingen op naam. Een resultaat is bewust beknopt: kies de onderneming die u bedoelt en haal haar profiel op met het ondernemingsnummer. Juridische, commerciële, Nederlandse en Franse namen worden allemaal doorzocht.



## OpenAPI

````yaml /api-reference/openapi.nl.json get /v1/companies
openapi: 3.0.3
info:
  title: OTB Studio API
  version: 1.0.0
  description: >-
    Het Belgische ondernemingsregister via REST: zoeken, profielen, eigendom,
    neergelegde jaarrekeningen en mandaten. Elke route vraagt een
    `otb_live_`-token, en elk geleverd antwoord kost credits voor de datapunten
    die het bevat.
servers:
  - url: https://api.otbstudio.ai
security:
  - token: []
tags:
  - name: Companies
    description: Eén ondernemingsregister, op vijf manieren gelezen.
paths:
  /v1/companies:
    get:
      tags:
        - Companies
      summary: Ondernemingen zoeken
      description: >-
        Zoekt ondernemingen op naam. Een resultaat is bewust beknopt: kies de
        onderneming die u bedoelt en haal haar profiel op met het
        ondernemingsnummer. Juridische, commerciële, Nederlandse en Franse namen
        worden allemaal doorzocht.
      operationId: searchCompanies
      parameters:
        - name: q
          in: query
          required: true
          description: De naam om op te zoeken.
          schema:
            type: string
          example: noordkaap
        - name: limit
          in: query
          required: false
          description: >-
            Hoeveel resultaten terugkomen, 1 tot 25. Een ontbrekende, nul-,
            negatieve of grotere waarde geeft 10.
          schema:
            type: integer
            default: 10
      responses:
        '200':
          description: >-
            De resultaten, het beste eerst. Een lege lijst als niets
            overeenkwam.
          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` ontbreekt of is leeg.'
          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: Wat dit antwoord kostte, in credits.
      schema:
        type: integer
    X-Credits-Remaining:
      description: Het saldo na dit antwoord.
      schema:
        type: integer
    Retry-After:
      description: Seconden wachten voor een nieuwe poging.
      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: De sleutel voor elke andere route.
        name:
          type: string
          description: >-
            De naam die overeenkwam. Dat is niet altijd de naam waaronder u de
            onderneming kent.
        employees:
          type: number
          description: >-
            Gemiddeld aantal voltijdse equivalenten over het nieuwste boekjaar,
            niet het aantal personen. Het is geen geheel getal.
        statusCode:
          type: string
          description: De ruwe KBO-statuscode, zoals `AC` voor actief.
    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: >-
        Geen token, of een ongeldig token. `missing_token` als er geen
        `Authorization: Bearer`-header is, `invalid_token` als het token
        onbekend, ingetrokken of van de verkeerde soort is.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Unauthorized'
    PaymentRequired:
      description: >-
        De organisatie heeft geen abonnement, het saldo is leeg, of het saldo
        dekt dit antwoord niet. Als het antwoord te duur was, zeggen de headers
        wat het zou kosten en wat er overblijft.
      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: >-
        De organisatie zit boven haar limiet (10 oproepen per seconde, pieken
        van 20) of heeft 4 oproepen lopen. Probeer opnieuw na `Retry-After`.
      headers:
        Retry-After:
          $ref: '#/components/headers/Retry-After'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/RateLimited'
    Internal:
      description: Er ging iets mis aan onze kant.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Internal'
    Busy:
      description: >-
        De gegevens konden niet binnen 15 seconden worden gelezen. Probeer
        opnieuw na `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: Een `otb_live_`-token, aangemaakt in het OTB Studio-dashboard.

````

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