# How to Search for Available Domain Names on DigitalPlat FreeDomain: A Complete Guide

> Easily search for available domain names on DigitalPlat FreeDomain using our API. Learn how to submit GET requests to check domain availability for dpdns.org us.kg qzz.io and xx.kg TLDs.

- Repository: [DigitalPlat Foundation/FreeDomain](https://github.com/DigitalPlatDev/FreeDomain)
- Tags: how-to-guide
- Published: 2026-02-25

---

**To search for available domain names on DigitalPlat FreeDomain, submit a GET request to `/panel/register/check` with `name` and `domain` query parameters specifying the subdomain and TLD (`.dpdns.org`, `.us.kg`, `.qzz.io`, or `.xx.kg`).**

DigitalPlat FreeDomain is an open-source domain registration service hosted in the **DigitalPlatDev/FreeDomain** repository. Whether you want to register a free subdomain for a personal project or automate availability checks, the platform provides a straightforward HTTP endpoint to search for available domain names instantly.

## How the Domain Availability Check Works

The search functionality relies on a simple client-server interaction where static HTML pages collect user input and forward it to a backend verification endpoint.

### The Frontend Interface (domainreg.html)

The user-facing search form is implemented in **[`opensource/frontend/domainreg.html`](https://github.com/DigitalPlatDev/FreeDomain/blob/main/opensource/frontend/domainreg.html)**. This file renders a form containing a text field named `name` for the desired subdomain label (e.g., `mywebsite`) and a `<select>` element with `id="domainSelect"` offering four TLD options. The form action is defined on line 45, specifying the backend endpoint that handles the availability logic.

### The Backend Endpoint (/panel/register/check)

When submitted, the form sends a **GET** request to **`/panel/register/check`**. This endpoint expects two query parameters: `name` (the subdomain label) and `domain` (the selected TLD). The server determines whether the full domain name is free and returns an HTML response indicating the result. If available, the user is redirected to **[`opensource/frontend/domainreg_check.html`](https://github.com/DigitalPlatDev/FreeDomain/blob/main/opensource/frontend/domainreg_check.html)** to complete registration.

## Step-by-Step: Searching via the Web Interface

1. Navigate to the registration page at `https://free.domain.digitalplat.org/panel/register` (rendered by [`domainreg.html`](https://github.com/DigitalPlatDev/FreeDomain/blob/main/domainreg.html)).
2. Enter your desired subdomain in the **Name** field (e.g., `myproject`).
3. Select a TLD from the dropdown: **.dpdns.org**, **.us.kg**, **.qzz.io**, or **.xx.kg**.
4. Click **"Check Availability"** to submit the form.
5. If the domain is free, the system redirects you to the checkout page to enter nameserver details.

## Programmatic Domain Availability Checks

You can automate domain searches without rendering the browser interface by calling the `/panel/register/check` endpoint directly.

### Using cURL

The simplest way to check availability from the command line:

```bash
curl "https://free.domain.digitalplat.org/panel/register/check?name=example&domain=.us.kg"

```

### Using JavaScript Fetch

For browser-based automation or Node.js applications:

```javascript
async function checkDomain(name, tld) {
  const url = `/panel/register/check?name=${encodeURIComponent(name)}&domain=${encodeURIComponent(tld)}`;
  const response = await fetch(url);
  const html = await response.text();
  console.log(html);
}

// Example usage
checkDomain('myblog', '.us.kg');

```

### Using Python Requests

For backend scripts or data analysis workflows:

```python
import requests

def check_domain(name, tld):
    url = "https://free.domain.digitalplat.org/panel/register/check"
    params = {"name": name, "domain": tld}
    resp = requests.get(url, params=params)
    print(resp.text)

check_domain("myblog", ".us.kg")

```

## Understanding the Response

The server returns a full HTML page rather than a JSON payload. If the domain is available, the response includes a redirect or link to [`domainreg_check.html`](https://github.com/DigitalPlatDev/FreeDomain/blob/main/domainreg_check.html), where you can provide nameserver information to finalize the registration. If the domain is taken, the HTML response indicates unavailability, preventing duplicate registrations. The minimal client-side validation in [`domainreg.html`](https://github.com/DigitalPlatDev/FreeDomain/blob/main/domainreg.html) ensures users accept the policy checkboxes before submitting, but the actual availability logic occurs server-side at the `/panel/register/check` endpoint.

## Summary

- DigitalPlat FreeDomain provides a RESTful endpoint at **`/panel/register/check`** for availability queries.
- The frontend interface lives in **[`opensource/frontend/domainreg.html`](https://github.com/DigitalPlatDev/FreeDomain/blob/main/opensource/frontend/domainreg.html)** and supports four TLDs: **.dpdns.org**, **.us.kg**, **.qzz.io**, and **.xx.kg**.
- Both manual browser requests and programmatic HTTP calls use the same query parameters: `name` (subdomain) and `domain` (TLD).
- Available domains redirect to **[`domainreg_check.html`](https://github.com/DigitalPlatDev/FreeDomain/blob/main/domainreg_check.html)** for registration completion.
- The system requires minimal client-side JavaScript, performing validation primarily through standard HTTP GET requests.

## Frequently Asked Questions

### What TLDs can I search for on DigitalPlat FreeDomain?

DigitalPlat FreeDomain supports four free subdomain extensions. The `domainSelect` dropdown in [`opensource/frontend/domainreg.html`](https://github.com/DigitalPlatDev/FreeDomain/blob/main/opensource/frontend/domainreg.html) offers **.dpdns.org**, **.us.kg**, **.qzz.io**, and **.xx.kg**. You must specify one of these TLDs in the `domain` parameter when calling the `/panel/register/check` endpoint.

### Can I check domain availability without using the web interface?

Yes. The backend endpoint accepts direct HTTP GET requests, making it accessible via cURL, Python scripts, or any HTTP client. The endpoint URL pattern is `/panel/register/check?name=LABEL&domain=TLD`, as implemented in the form action on line 45 of [`opensource/frontend/domainreg.html`](https://github.com/DigitalPlatDev/FreeDomain/blob/main/opensource/frontend/domainreg.html).

### What happens if the domain name is already taken?

If the domain is registered, the `/panel/register/check` endpoint returns an HTML response indicating the name is unavailable. The system prevents progression to [`domainreg_check.html`](https://github.com/DigitalPlatDev/FreeDomain/blob/main/domainreg_check.html), ensuring users cannot attempt to register duplicate domains.

### Is there any rate limiting on the search endpoint?

The source code analysis does not reveal explicit rate-limiting logic in the frontend files ([`domainreg.html`](https://github.com/DigitalPlatDev/FreeDomain/blob/main/domainreg.html), [`domainreg_check.html`](https://github.com/DigitalPlatDev/FreeDomain/blob/main/domainreg_check.html)). However, as the endpoint generates full HTML responses rather than lightweight JSON, excessive automated queries may trigger standard web server protections. For high-volume checks, consider implementing delays between requests.