Developer Reference

Quickstart

DomScan API: Make your first availability check in seconds. These examples call the /v1/status endpoint and return availability across multiple TLDs.

Quickstart

Make your first availability check in seconds. These examples call the /v1/status endpoint and return availability across multiple TLDs.

Try it Dashboard
{}
curl -H "X-API-Key: your-api-key" "https://domscan.net/v1/status?name=launch&tlds=com,io,ai&prefer_cache=1"
npm install -g https://github.com/estevecastells/domscan-cli/releases/latest/download/domscan-cli.tgz

export DOMSCAN_API_KEY=dsk_your_key_here
domscan check-domain-availability --name launch --tlds com,io,ai --prefer-cache
npm install https://github.com/estevecastells/domscan-sdk/releases/latest/download/domscan-sdk-node.tgz

import { DomScan } from '@domscan/sdk';

const domscan = new DomScan();
const response = await domscan.availability.checkDomainAvailability(
  { name: 'launch', tlds: 'com,io,ai', prefer_cache: true },
  { withResponse: true },
);

console.log(response.data.results);
console.log(response.meta.requestId, response.meta.credits);
pip install https://github.com/estevecastells/domscan-sdk/releases/latest/download/domscan-sdk-python.tar.gz

from domscan import DomScan

domscan = DomScan()
response = domscan.availability.check_domain_availability(
    name="launch",
    tlds="com,io,ai",
    prefer_cache=True,
    _with_response=True,
)

print(response.data["results"])
print(response.request_id, response.credits_charged)
package main

import (
  "encoding/json"
  "fmt"
  "net/http"
  "os"
)

func domscanGet(url string) (*http.Response, error) {
  request, err := http.NewRequest(http.MethodGet, url, nil)
  if err != nil {
    return nil, err
  }
  request.Header.Set("X-API-Key", os.Getenv("DOMSCAN_API_KEY"))
  return http.DefaultClient.Do(request)
}

func main() {
  url := "https://domscan.net/v1/status?name=launch&tlds=com,io,ai&prefer_cache=1"
  resp, err := domscanGet(url)
  if err != nil {
    panic(err)
  }
  defer resp.Body.Close()

  var payload map[string]any
  json.NewDecoder(resp.Body).Decode(&payload)
  fmt.Println(payload["results"])
}
require 'net/http'
require 'json'

uri = URI("https://domscan.net/v1/status?name=launch&tlds=com,io,ai&prefer_cache=1")
request = Net::HTTP::Get.new(uri)
request["X-API-Key"] = ENV.fetch("DOMSCAN_API_KEY")
response = Net::HTTP.start(uri.host, uri.port, use_ssl: uri.scheme == "https") { |http| http.request(request) }
data = JSON.parse(response.body)
puts data["results"]

Used by people at amazing companies

InstantOutseerMongoDBRespondentSage Expense ManagementInstantlyD.R. HortonWhatConvertsAdobeMotionElementsLLM Pulse