Domain lookup API (RDAP + robots + sitemap)
The domain lookup API combines an RDAP registration record with a quick look at the domain's robots.txt and sitemaps, returned as one JSON object.
Early access: billing is not open yet. Prices below are what a call will debit when it opens. Request access →
Price: $0.001 per call (one credit), with 25 free lookups per account each UTC month. Data source: RDAP.
Request
Send POST /v1/domain-brief with a JSON body and your key in the Authorization: Bearer header. Send a domain. The JSON names the RDAP registration date, registrar, and nameservers, then that host's robots.txt and a sitemap count. The sitemap count stops at 20 files, 5,000 URLs, or 8 MiB read. A missing RDAP field is null.
curl https://one-api.ai/v1/domain-brief \
-H "Authorization: Bearer $ONE_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"domain":"example.com"}'
import os, requests
resp = requests.post(
"https://one-api.ai/v1/domain-brief",
headers={"Authorization": f"Bearer {os.environ['ONE_API_TOKEN']}"},
json={"domain":"example.com"},
timeout=30,
)
print(resp.status_code, resp.json())
Response fields
| Field | Meaning |
|---|---|
domain | The normalised domain you sent. |
registration_date | RDAP registration event date, or null when RDAP does not give one. |
registrar | Registrar name from RDAP, or null. |
nameservers | Nameserver host names from RDAP, or null. |
robots_disallow_count | Number of Disallow rules in robots.txt, or 0 when there is none. |
sitemap_url_count | URLs counted across the sitemaps named in robots.txt, or /sitemap.xml. |
capped | True when a limit below stopped the count early. |
Limits and behaviour
- RDAP is queried through rdap.org, which redirects to the registry that holds the record.
- Sitemap counting follows sitemap indexes but stops at 20 files or 5,000 URLs.
- One brief makes at most 30 outbound requests, reads at most 8 MiB in total and stops after 25 seconds.
- Only public host names are accepted. Private, loopback and metadata names and one-api.ai itself are refused with HTTP 400.
Errors come back as JSON with an HTTP status and a short code. HTTP 400 means the input was refused, 401 a missing or bad key, 402 an empty balance, 429 a rate limit and 502 an upstream failure. Calls that end in 400 or a 5xx status are not charged.
What people use it for
- Check a domain's age and registrar before buying links or a domain.
- Estimate how many URLs a site exposes in its sitemaps.
- Give an agent registration facts with a source instead of a guess.
The same lookup is available to AI agents through the remote MCP server at https://one-api.ai/mcp, using the same key and the same price per call.
FAQ
Why is registration_date null for some domains?
Some registries omit the registration event from RDAP, and some country-code domains have no RDAP service yet.
Is this a WHOIS API?
It uses RDAP, the structured successor to WHOIS. It does not return registrant contact data.
What does capped mean?
The sitemap count hit one of the limits, so the real number of URLs is at least the count shown.
Related
Last updated 2026-10-31.