For developers and AI agents. Check availability, DNS, WHOIS, valuation, and brand risk with one edge API. Use MCP in assistants or explore the free tools.
10,000 free credits/month. No card.
Used by people at amazing companies
Check domain availability — sign up for free
curl "https://domscan.net/v1/status?name=techstartup&tlds=com"
Bulk WHOIS lookup for multiple domains (max 20 per request).
POST /v1/whois/bulk
Check availability for multiple domain names at once. Supports up to 50 domains per request.
POST /v1/status/bulk
Get detailed lifecycle information for a domain including registration, expiration, and status history.
GET /v1/lifecycle
Real-time RDAP lookups across 1,500+ TLDs with smart caching.
GET /v1/status
Discover subdomains for a domain using various enumeration techniques.
GET /v1/subdomains
Get WHOIS information for a domain including registrar, dates, and status.
GET /v1/whois
# Check domain availability
curl "https://domscan.net/v1/status?name=myapp&tlds=com,io" \
-H "Authorization: Bearer YOUR_API_KEY"
# Response
{
"name": "myapp",
"results": [
{ "domain": "myapp.com", "available": false },
{ "domain": "myapp.io", "available": true }
]
}
# Install from the latest GitHub release
npm install -g https://github.com/estevecastells/domscan-cli/releases/latest/download/domscan-cli.tgz
# Check domain availability
DOMSCAN_API_KEY=dsk_your_key_here domscan check-domain-availability --name myapp --tlds com,io
// Check domain availability
const response = await fetch(
'https://domscan.net/v1/status?name=myapp&tlds=com,io',
{
headers: {
'Authorization': `Bearer ${API_KEY}`
}
}
);
const data = await response.json();
// { name: "myapp", results: [...] }
# Check domain availability
import requests
response = requests.get(
"https://domscan.net/v1/status",
params={"name": "myapp", "tlds": "com,io"},
headers={"Authorization": f"Bearer {API_KEY}"}
)
data = response.json()
# {"name": "myapp", "results": [...]}
// Check domain availability
package main
import (
"encoding/json"
"net/http"
)
func main() {
req, _ := http.NewRequest("GET",
"https://domscan.net/v1/status?name=myapp&tlds=com,io", nil)
req.Header.Set("Authorization", "Bearer "+apiKey)
resp, _ := http.DefaultClient.Do(req)
var data map[string]any
json.NewDecoder(resp.Body).Decode(&data)
}
# Check domain availability
require 'net/http'
require 'json'
uri = URI("https://domscan.net/v1/status?name=myapp&tlds=com,io")
req = Net::HTTP::Get.new(uri)
req["Authorization"] = "Bearer #{api_key}"
res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http|
http.request(req)
}
data = JSON.parse(res.body)
# {"name"=>"myapp", "results"=>[...]}
Build domain search, registration flows, or brand tools with a simple REST API.
Find valuable domains, estimate prices, and monitor expiring names for investment.
Protect your brand from typosquatting and audit email security configurations.
Give your AI assistants domain expertise via MCP Server integration.
Connect DomScan to Claude, ChatGPT, Cursor, or any MCP-compatible AI. One config, instant domain intelligence.
Connect to Claude, ChatGPT, Cursor, or any MCP-compatible AI.
{
"mcpServers": {
"domscan": {
"command": "npx",
"args": ["mcp-remote", "https://domscan.net/mcp"]
}
}
}
10,000 free credits/month. No credit card required.
Sign up for free — then open and explore.
Get 10,000 free API credits every month. No credit card required. Cancel anytime.
No credit card required