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

# Search Domain

> Check whether one domain is available, and what it costs.

Availability answers are cached for 72 hours. `pricing` holds the list
prices per year net of VAT. `quote` prices a **registration** of
`years` for this account, VAT included, so it is the figure to put in
front of a customer buying the domain -- it is not a renewal or
transfer quote, which are priced from `pricing.renewal_price` and
`pricing.transfer_price`.




## OpenAPI

````yaml get /domains/search
openapi: 3.1.0
info:
  title: APIFiddle Sample Definition
  version: 0.0.0
  description: Example workspace
servers:
  - url: https://rdp.sh/api/v1
    description: Default production endpoint.
security: []
paths:
  /domains/search:
    get:
      summary: Search domain
      description: |
        Check whether one domain is available, and what it costs.

        Availability answers are cached for 72 hours. `pricing` holds the list
        prices per year net of VAT. `quote` prices a **registration** of
        `years` for this account, VAT included, so it is the figure to put in
        front of a customer buying the domain -- it is not a renewal or
        transfer quote, which are priced from `pricing.renewal_price` and
        `pricing.transfer_price`.
      operationId: searchDomain
      parameters:
        - in: query
          name: domain
          schema:
            type: string
            minLength: 3
            maxLength: 253
            pattern: ^[a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9])?\.[a-zA-Z]{2,}$
            examples:
              - example.com
          required: true
          description: |
            A single domain to look up, as one label plus a top-level
            extension. Subdomains and second-level extensions such as `.co.uk`
            are not accepted.
        - in: query
          name: years
          schema:
            type: integer
            minimum: 1
            maximum: 10
            default: 1
          required: false
          description: Term to quote for, in years.
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                title: SearchDomainOk
                required:
                  - status
                  - domain
                  - available
                properties:
                  status:
                    type: boolean
                    examples:
                      - true
                  domain:
                    type: string
                    description: The looked-up domain, lowercased.
                    examples:
                      - example.com
                  tld:
                    type: string
                    examples:
                      - com
                  available:
                    type: boolean
                    description: >
                      Whether the domain can be registered. Premium domains are

                      reported as unavailable, because RDP.sh does not sell
                      them.
                  currency:
                    type: string
                    examples:
                      - EUR
                  pricing:
                    $ref: '#/components/schemas/domainPricing'
                  quote:
                    $ref: '#/components/schemas/domainQuote'
          description: Availability and pricing for the requested domain.
        '422':
          description: Validation error, or the extension is not supported.
        '429':
          description: Too many lookups. This endpoint allows 60 requests per minute.
        '500':
          description: The registrar could not be reached.
      security:
        - Authorization: []
components:
  schemas:
    domainPricing:
      type: object
      required: []
      properties:
        registration_price:
          type: number
          examples:
            - 10
        renewal_price:
          type: number
          examples:
            - 12
        transfer_price:
          type: number
          examples:
            - 11
      description: Yearly list prices for the extension, in EUR and net of VAT.
    domainQuote:
      type: object
      required: []
      properties:
        years:
          type: integer
          examples:
            - 1
        net:
          type: number
          description: Price for the whole term, before VAT.
          examples:
            - 10
        vat:
          type: number
          description: VAT at 19%, or 0 when the account is VAT exempt.
          examples:
            - 1.9
        total:
          type: number
          description: Amount that will be deducted from the account balance.
          examples:
            - 11.9
        currency:
          type: string
          examples:
            - EUR
      description: |
        What the authenticated account pays to register the domain for the
        requested term. Renewals and transfers are priced separately.
  securitySchemes:
    Authorization:
      in: header
      name: Authorization
      type: apiKey

````