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

# Search companies

> Search for companies by name and/or registration number. Use 'country' to filter by country code (AT, DE, CH, etc.).



## OpenAPI

````yaml /openapi.json post /api/v1/companies/search/
openapi: 3.0.3
info:
  title: Firmium API
  version: v1
servers:
  - url: https://www.firmium.de/
security: []
tags:
  - name: v1
    description: Company and business data endpoints
paths:
  /api/v1/companies/search/:
    post:
      tags:
        - v1
      summary: Search companies
      description: >-
        Search for companies by name and/or registration number. Use 'country'
        to filter by country code (AT, DE, CH, etc.).
      operationId: search_companies
      parameters:
        - in: query
          name: euid
          schema:
            type: string
        - in: query
          name: legal_form
          schema:
            type: string
        - in: query
          name: name
          schema:
            type: string
        - name: page
          required: false
          in: query
          description: A page number within the paginated result set.
          schema:
            type: integer
        - in: query
          name: registration_number
          schema:
            type: string
        - in: query
          name: status
          schema:
            type: string
            enum:
              - Active
              - Bankrupt
              - Dissolved
              - In Liquidation
              - Inactive
              - Insolvency Proceeding
              - Relocated
              - Restructuring
          description: |-
            * `Active` - Active
            * `Inactive` - Inactive
            * `In Liquidation` - In Liquidation
            * `Dissolved` - Dissolved
            * `Bankrupt` - Bankrupt
            * `Restructuring` - Restructuring
            * `Insolvency Proceeding` - Insolvency Proceeding
            * `Relocated` - Relocated
        - in: query
          name: vat_number
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CompanySearch'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CompanySearch'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CompanySearch'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedCompanySearchList'
          description: ''
        '400':
          content:
            application/json:
              schema:
                description: Invalid search parameters
          description: ''
      security:
        - cookieAuth: []
        - SessionAuth: []
        - TokenAuth: []
components:
  schemas:
    CompanySearch:
      type: object
      description: Serializer for company search
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 512
        registration_number:
          type: string
          description: Local registry number
          maxLength: 100
        country:
          type: string
          readOnly: true
        status:
          $ref: '#/components/schemas/StatusEnum'
      required:
        - country
        - name
        - uuid
    PaginatedCompanySearchList:
      type: object
      required:
        - count
        - results
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?page=4
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?page=2
        results:
          type: array
          items:
            $ref: '#/components/schemas/CompanySearch'
    StatusEnum:
      enum:
        - Active
        - Inactive
        - In Liquidation
        - Dissolved
        - Bankrupt
        - Restructuring
        - Insolvency Proceeding
        - Relocated
      type: string
      description: |-
        * `Active` - Active
        * `Inactive` - Inactive
        * `In Liquidation` - In Liquidation
        * `Dissolved` - Dissolved
        * `Bankrupt` - Bankrupt
        * `Restructuring` - Restructuring
        * `Insolvency Proceeding` - Insolvency Proceeding
        * `Relocated` - Relocated
  securitySchemes:
    cookieAuth:
      type: apiKey
      in: cookie
      name: sessionid
    SessionAuth:
      type: apiKey
      in: header
      name: Authorization
      description: >-
        Session authentication. Formats: Authorization: Session <sessionid> |
        Query: ?sessionid=<key> | Cookie: sessionid=<key>
    TokenAuth:
      type: apiKey
      in: header
      name: Authorization
      description: 'Token authentication. Format: Token <key>'

````