nameai
Official Python SDK for the Name.ai public
API: domain search/availability, WHOIS, TLD pricing and registry requirements,
and marketplace listings. No dependencies — the whole client is urllib from
the standard library. Python ≥ 3.9.
pip install nameai
from nameai import NameAI
nameai = NameAI()
nameai.tld_price("ai", "register") # {'tld': 'ai', 'op': 'register', 'priceCents': 18000}
nameai.search_domain("acme.ai")["results"] # availability across alternate TLDs
nameai.whois_lookup("example.com")
Paging
Follow the cursor rather than incrementing an offset — a cursor names the row you stopped at, so a listing sold or added while you page cannot shift the window under you:
for listing in nameai.list_all_listings(tld="ai", sort="price_asc"):
print(listing["domain"])
Batching
Several lookups in one round trip. Each operation still costs the rate limit what the individual call would have, and one failure does not fail the rest:
response = nameai.batch([
{"id": "a", "op": "search_domain", "params": {"q": "acme.ai"}},
{"id": "b", "op": "tld_registration_price", "params": {"tld": "ai", "op": "register"}},
{"id": "c", "op": "whois_lookup", "params": {"domain": "example.com"}},
])
for result in response["results"]:
print(result["id"], result["status"])
Errors and auth
A non-2xx raises NameAIError carrying the API's typed status, code and
retry_after, so you can branch on the code instead of parsing a message.
Every method works unauthenticated. Authentication buys exactly one thing —
real marketplace prices instead of masked ones. Get a token per
name.ai/auth.md and pass
NameAI(access_token=...).
- API docs: https://name.ai/developers/api
- OpenAPI spec: https://name.ai/openapi.json
- MCP server (same capabilities, for agents): https://name.ai/developers/mcp
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file nameai-1.1.1.tar.gz.
File metadata
- Download URL: nameai-1.1.1.tar.gz
- Upload date:
- Size: 5.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c3b521805e1f52b400265916f2b789ca250e5ee4ba71a084b9b871460cfdec6d
|
|
| MD5 |
ef8ccb66410c3c08df85dfe15ccff55e
|
|
| BLAKE2b-256 |
87c503e1e936f2d9f74739b8749e30aea39ac4f9bdc8ab7401d0ebc98aa1f778
|
File details
Details for the file nameai-1.1.1-py3-none-any.whl.
File metadata
- Download URL: nameai-1.1.1-py3-none-any.whl
- Upload date:
- Size: 5.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d01b04b12e0c5488ae9e404ead7654b5479807872b1563f9f737c675e1c988ce
|
|
| MD5 |
a33b4cbe1c805f315354470449dda3d4
|
|
| BLAKE2b-256 |
113f8b3016ec63dc2ac18a8872eab5190339aa901e6988a1b2ef8f745e9d2a92
|