agentdomainservice.com — The #1 easiest way to search for available domains| API documentation
API Documentation

Domain Availability API

Check domain availability programmatically. Designed for AI agents with simple, deterministic responses (currently powered by Name.com).

Why AgentDomainService Exists

The Problem: When AI agents try to help users check domain availability, they hit a wall. Traditional domain registrars like GoDaddy, Namecheap, and Google Domains block automated access with CAPTCHAs, Web Application Firewalls (WAFs), and JavaScript-heavy interfaces that AI cannot navigate.

The Insight: While AI agents struggle with complex web interfaces, they excel at one thing: fetching and parsing simple web pages. A deterministic URL that returns structured data is trivial for any AI to use.

The Solution: AgentDomainService provides deterministic URLs for domain availability checks. No CAPTCHAs, no JavaScript required, no authentication needed. Just fetch agentdomainservice.com/lookup/example.com and get an instant answer with pricing data from Name.com's registrar API.

Built for AI Agents: Every page includes embedded JSON in a <script type="application/json"> tag, making it easy for agents to extract structured data. Responses are server-side rendered (SSR), so even the simplest HTTP GET request returns complete information.

Quick Start (30 seconds)

Option 1: Simple Boolean (Recommended for AI Agents)

curl "https://agentdomainservice.com/api/v1/available/example.com"

Returns:

{
  "domain": "example.com",
  "available": false,
  "checked_at": "2025-12-20T15:30:00.000Z"
}

Option 2: Full Details (HTML with embedded JSON)

curl "https://agentdomainservice.com/lookup/example.com"

Each page contains embedded JSON in a script tag for easy parsing:

<script type="application/json" id="ads-result">
  {"domain": "example.com", "available": true, ...}
</script>

API Endpoints

GET
/api/v1/available/{domain}

Simple boolean availability check (recommended for AI agents)

GET
/api/v1/lookup/{domain}

Full JSON response with pricing and metadata

GET
/api/v1/explore/{name}

Check a name across multiple TLDs (.com, .io, .ai, etc.)

GET
/lookup/{domain}

HTML page with embedded JSON (for web scraping)

GET
/explore/{name}

HTML page for multi-TLD lookup (for web scraping)

GET
/ideas

Browse curated domain ideas by category

Parameters

ParameterTypeDescription
domainpathThe domain to check (e.g., example.com, my-startup.io)
formatqueryResponse format: json or txt. Omit for HTML.

JSON Response

Use ?format=json for structured data:

{
  "domain": "example.com",
  "available": true,
  "status": "available",
  "checked_at": "2024-01-15T10:30:00.000Z",
  "expires_at": null,
  "source": "namecom",
  "purchase_price": 12.99,
  "renewal_price": 12.99,
  "premium": false,
  "cache": {
    "hit": false,
    "ttl_seconds": 120,
    "stale": false
  }
}

Response Fields

FieldTypeDescription
domainstringThe normalized domain name
availablebooleantrue if domain can be registered
statusstringavailable registered unknown
checked_atstringISO 8601 timestamp of the check
purchase_pricenumber | nullRegistration price in USD
renewal_pricenumber | nullAnnual renewal price in USD
premiumbooleantrue if premium pricing applies
cache.hitbooleanWhether result was served from cache
cache.ttl_secondsnumberCache time-to-live in seconds

Text Response

Use ?format=txt for simple key-value pairs:

domain=example.com
available=true
status=available
checked_at=2024-01-15T10:30:00.000Z
expires_at=
source=namecom
purchase_price=12.99
renewal_price=12.99
premium=false
cache_hit=false
ttl_seconds=120
cache_stale=false

Examples

Simple availability check (AI agents)

curl "https://agentdomainservice.com/api/v1/available/myawesomestartup.com"

Full details with pricing

curl "https://agentdomainservice.com/api/v1/lookup/coolproject.io"

Bulk check across TLDs

curl "https://agentdomainservice.com/api/v1/explore/coolstartup"

Get suggestions with context

curl "https://agentdomainservice.com/lookup/stripe.com?context=payment+processing+api"

Python example (extract embedded JSON)

import requests
from bs4 import BeautifulSoup
import json

html = requests.get(
    "https://agentdomainservice.com/lookup/example.com"
).text

soup = BeautifulSoup(html, 'html.parser')
script = soup.find('script', {'id': 'ads-result'})
data = json.loads(script.string)

if data["available"]:
    print(f"{data['domain']} is available for ${data['purchase_price']}")
else:
    print(f"{data['domain']} is already registered")

JavaScript example (extract embedded JSON)

// In a browser or with a DOM parser
const response = await fetch(
  "https://agentdomainservice.com/lookup/example.com"
);
const html = await response.text();

// Parse and extract the embedded JSON
const parser = new DOMParser();
const doc = parser.parseFromString(html, 'text/html');
const script = doc.getElementById('ads-result');
const data = JSON.parse(script.textContent);

console.log(data.available ? 'Available!' : 'Taken');

Why AI Agents Choose Us

  • No API key required — ChatGPT, Claude, and other agents can use immediately without signup
  • Simple JSON responses — Clean, predictable structure perfect for function calling
  • Real-time WHOIS data — Powered by Name.com registrar API for authoritative results
  • CORS enabled — Works from browser extensions, web apps, and automation tools
  • MCP server available — Native integration with Claude Desktop via Model Context Protocol
  • Bulk checking support — Check multiple TLDs at once with /api/v1/explore/

Use Cases

AI Assistants

ChatGPT, Claude, Gemini, and Perplexity can help users brainstorm and verify domain names by fetching real-time availability data.

Startup Name Generators

Build tools that generate creative names and instantly verify which .com, .io, and .ai domains are available.

Brand Protection

Monitor domain availability across multiple TLDs to protect your brand from typosquatting and cybersquatting.

Developer Automation

Integrate domain checks into CI/CD pipelines, Slack bots, or custom tools without dealing with CAPTCHA-protected registrar sites.

Rate Limits

No authentication is required. We ask for reasonable use. If an upstream provider rate limits a request, the API may return status=unknown with a short cache TTL.

For AI Agents

A machine-readable summary of this API is available at:

https://agentdomainservice.com/llms.txt

For ChatGPT Users

Learn how to check domain availability with ChatGPT using web browsing, custom GPTs, or API integration.

ChatGPT Setup Guide

For Claude Users

Install our MCP server for native domain checking tools in Claude Desktop.

Claude MCP Setup