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

# Search businesses

> Search Tilta's business registry by name, country, tax ID, or registration number to look up a business before onboarding them as a buyer or merchant.

Before onboarding a company as a buyer or merchant, use this endpoint to look them up in Tilta's business registry. A successful search lets you verify that the business exists, retrieve its official registration details, and pre-fill your onboarding form – reducing manual data entry errors and improving conversion. You can search by business name and country, or by unique identifiers such as a tax ID or commercial registration number. Providing identifiers typically yields more precise results than a name-only search.

<Tip>
  Use the data returned by this endpoint to pre-populate the business registration fields in your buyer or merchant onboarding
  form. This reduces friction for your users and lowers the chance of data-entry errors that could delay underwriting.
</Tip>

<Note>
  An empty `items` array means no matching businesses were found in Tilta's registry for the given country. The business may
  still be onboardable – ask the buyer to enter their details manually. Not all registries are available in all countries.
</Note>


## OpenAPI

````yaml GET /v1/businesses/search
openapi: 3.0.0
info:
  version: 0.0.1
  title: Tilta API
  description: Tilta API documentation
servers:
  - url: https://api.tilta.io
    description: Tilta Production API
  - url: https://api.tilta-sandbox.io
    description: Tilta Sandbox API
security: []
paths:
  /v1/businesses/search:
    get:
      tags:
        - Businesses
      summary: Search businesses
      description: >-
        Search for businesses using either business identifiers or name and
        address.
      parameters:
        - schema:
            type: integer
            description: The number of records to be returned.
            example: 10
            default: 10
          required: false
          name: limit
          in: query
        - schema:
            type: string
            enum:
              - identifier
              - name_address
            description: Type of search to perform
          required: true
          name: search_type
          in: query
        - schema:
            type: string
            minLength: 2
            maxLength: 2
            description: Two-letter country code
            example: DE
          required: true
          name: country
          in: query
        - schema:
            type: string
            enum:
              - VAT_ID
              - REGISTER_ID
            description: Type of business identifier (required for identifier search)
          required: false
          name: identifier_type
          in: query
        - schema:
            type: string
            description: Value of business identifier (required for identifier search)
          required: false
          name: identifier_value
          in: query
        - schema:
            type: string
            description: Business name (required for name_address search)
          required: false
          name: name
          in: query
        - schema:
            type: string
            description: Street address (optional for name_address search)
          required: false
          name: street
          in: query
        - schema:
            type: string
            description: City (optional for name_address search)
          required: false
          name: city
          in: query
        - schema:
            type: string
            description: Postal code (optional for name_address search)
          required: false
          name: postcode
          in: query
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties:
                  items:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                        legal_name:
                          type: string
                        trading_name:
                          type: string
                          nullable: true
                        legal_form:
                          type: string
                        business_address:
                          type: object
                          properties:
                            street:
                              type: string
                              nullable: true
                            house:
                              type: string
                              nullable: true
                            city:
                              type: string
                              nullable: true
                            postcode:
                              type: string
                              nullable: true
                            country:
                              type: string
                              minLength: 2
                              maxLength: 2
                          required:
                            - street
                            - house
                            - city
                            - postcode
                            - country
                        business_identifiers:
                          type: array
                          items:
                            type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - VAT_ID
                                  - TAX_ID
                                  - REGISTER_ID
                                  - CREFO_ID
                                  - ALLIANZ_TRADE_ID
                                  - SCHUFA_ID
                                  - CREDITSAFE_ID
                                  - CRIF_ID
                                  - ELLISPHERE_ID
                              value:
                                type: string
                              country:
                                type: string
                                minLength: 2
                                maxLength: 2
                            required:
                              - type
                              - value
                              - country
                        incorporated_at:
                          type: number
                          nullable: true
                        website:
                          type: string
                          nullable: true
                      required:
                        - id
                        - legal_name
                        - trading_name
                        - legal_form
                        - business_address
                        - business_identifiers
                        - incorporated_at
                        - website
                  limit:
                    type: number
                  total:
                    type: number
                required:
                  - items
                  - limit
                  - total
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/badRequestSchema'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/unauthorizedRequestSchema'
      security:
        - bearerAuth: []
components:
  schemas:
    badRequestSchema:
      type: object
      properties:
        code:
          type: string
          description: Error code
          example: BAD_REQUEST
        error:
          type: string
          description: Error message for debugging purposes
          example: Request validation failed. 1 issue found.
        issues:
          type: array
          items:
            type: object
            properties:
              code:
                type: string
                description: Issue code
                example: INVALID_TYPE
              path:
                type: string
                description: Issue path starting with body, params, querystring, or headers
                example: body.registered_at
              message:
                type: string
                description: Issue message for debugging purposes
                example: Invalid type
            required:
              - code
              - path
              - message
          description: List of issues
          example:
            - code: INVALID_TYPE
              path: body.registered_at
              message: Invalid type
      required:
        - code
        - error
        - issues
      description: Bad Request, see error message for details.
      example:
        code: BAD_REQUEST
        error: Request validation failed. 1 issue found.
        issues:
          - code: INVALID_TYPE
            path: body.registered_at
            message: Invalid type
    unauthorizedRequestSchema:
      type: object
      properties:
        error:
          type: string
          description: Error details.
          example: Unauthorized
        code:
          type: string
          description: Error code.
          example: UNAUTHORIZED
      required:
        - error
        - code
      description: Unauthorized Request.
      example:
        error: Unauthorized
        code: UNAUTHORIZED
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Your Tilta API key, sent as `Bearer <key>`.

````