curl --request GET \
--url https://rdp.sh/api/v1/domains/search \
--header 'Authorization: <api-key>'import requests
url = "https://rdp.sh/api/v1/domains/search"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://rdp.sh/api/v1/domains/search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://rdp.sh/api/v1/domains/search",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://rdp.sh/api/v1/domains/search"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://rdp.sh/api/v1/domains/search")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://rdp.sh/api/v1/domains/search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"status": true,
"domain": "example.com",
"available": true,
"tld": "com",
"currency": "EUR",
"pricing": {
"registration_price": 10,
"renewal_price": 12,
"transfer_price": 11
},
"quote": {
"years": 1,
"net": 10,
"vat": 1.9,
"total": 11.9,
"currency": "EUR"
}
}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.
curl --request GET \
--url https://rdp.sh/api/v1/domains/search \
--header 'Authorization: <api-key>'import requests
url = "https://rdp.sh/api/v1/domains/search"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://rdp.sh/api/v1/domains/search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://rdp.sh/api/v1/domains/search",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://rdp.sh/api/v1/domains/search"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://rdp.sh/api/v1/domains/search")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://rdp.sh/api/v1/domains/search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"status": true,
"domain": "example.com",
"available": true,
"tld": "com",
"currency": "EUR",
"pricing": {
"registration_price": 10,
"renewal_price": 12,
"transfer_price": 11
},
"quote": {
"years": 1,
"net": 10,
"vat": 1.9,
"total": 11.9,
"currency": "EUR"
}
}Authorizations
Query Parameters
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.
3 - 253^[a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9])?\.[a-zA-Z]{2,}$"example.com"
Term to quote for, in years.
1 <= x <= 10Response
Availability and pricing for the requested domain.
true
The looked-up domain, lowercased.
"example.com"
Whether the domain can be registered. Premium domains are reported as unavailable, because RDP.sh does not sell them.
"com"
"EUR"
Yearly list prices for the extension, in EUR and net of VAT.
Show child attributes
Show child attributes
What the authenticated account pays to register the domain for the requested term. Renewals and transfers are priced separately.
Show child attributes
Show child attributes