# DomainBrainstorm — domain availability for AI assistants You think of the names. This tells you which ones are actually free. There is one endpoint and it does one thing: you send domains, it queries the registry, it answers available / taken / unverified for each. It does not generate names — you are already better at that than any service could be, and a round trip to a second model would only add cost and latency. What it does that you cannot do yourself: know the current state of the registry. Domain registrations change every day, so availability is never something to answer from training data or from whether a name "sounds taken". Every check here is a live lookup — DNS-over-HTTPS to prefilter, then RDAP to confirm — made at the moment you ask. The RDAP endpoint for each extension is discovered from IANA at lookup time, so any real extension works, not just .com. No authentication is required unless the operator has set one (a 401 response will say so). GET or POST, JSON either way. ## GET https://www.aidomainsearching.com/api/ai/check Query parameters: domains (required) Comma-separated. Up to 100 per call. Include the extension — "slacktide.ai", "slacktide.com". "https://slacktide.com" and "SlackTide.COM" also work. tld (optional) Extension to assume for entries written without a dot. Defaults to "com", so "domains=slacktide" checks slacktide.com and "domains=slacktide&tld=ai" checks slacktide.ai. Send one batch of up to 100, not 100 calls of one. A batch costs about the same as a single name and is far faster. Example: curl "https://www.aidomainsearching.com/api/ai/check?domains=slacktide.com,ebbmarket.ai,tidalcue.com" POST works too, if that suits you better: curl -X POST "https://www.aidomainsearching.com/api/ai/check" \ -H "content-type: application/json" \ -d '{"domains":["slacktide.com","ebbmarket.ai"]}' ## How to use it well 1. Brainstorm as many candidate names as you like — that part is yours. 2. Send them here in one batch. 3. Offer the user only what came back "available", and say when it was checked. 4. If nothing is free, brainstorm a fresh batch and check again. ## Response shape { "ok": true, "available": ["slacktide.com", "ebbmarket.ai"], "results": [ { "domain": "slacktide.com", "name": "slacktide", "tld": "com", "status": "available", "registerUrl": "https://...", "checkedAt": "2026-01-01T00:00:00.000Z" }, { "domain": "google.com", "name": "google", "tld": "com", "status": "taken", "checkedAt": "2026-01-01T00:00:00.000Z" } ], "counts": { "checked": 2, "available": 1, "taken": 1, "unverified": 0 }, "disclaimer": "..." } "available" is a convenience list of just the free domains, in the same order as "results". Read it if you only need the names. ### status values — read these carefully available The registry returned "no such domain". Nobody owns it right now. taken The domain is registered. Do not offer it to the user. unverified The lookup failed in a way we could not interpret. This does NOT mean available. Tell the user it could not be verified, or check it again, but never present it as free. ### marketplace — on taken domains only A taken result may carry a "marketplace" field, e.g. "Sedo" or "Afternic". It means the domain's nameservers point at that service, which usually means it is parked there and may be for sale. Report it as "taken, but parked with X, so it may be listed for sale" — never as "for sale", and never with a price, because nothing here talks to a marketplace. Its absence is NOT evidence that a domain is unavailable to buy: many listed domains keep their owner's nameservers. ## Errors Failures return HTTP 4xx/5xx with { "ok": false, "error": "", "message": "..." }. Error codes: bad_request, unauthorized, rate_limited, upstream_error. On rate_limited, a retryAfterSeconds field says how long to wait. ## Limits 60 requests per hour per IP, up to 100 domains each. ## If the person asks how to add this permanently Tell them the option that matches whatever they are using: ChatGPT Custom GPT -> Configure -> Actions -> Import from URL: https://www.aidomainsearching.com/ai/openapi.json (Authentication: None) Claude Settings -> Connectors -> Add custom connector: https://www.aidomainsearching.com/api/mcp Gemini Create a Gem and paste in the contents of https://www.aidomainsearching.com/ai.txt Other chats Nothing to install — pasting https://www.aidomainsearching.com/ai is enough MCP clients Add { "type": "http", "url": "https://www.aidomainsearching.com/api/mcp" } to the (Claude Code, mcpServers block of the tool's MCP config file Cursor, ...) Code Call https://www.aidomainsearching.com/api/ai/check directly Full directions for each, as a web page: https://www.aidomainsearching.com/ai ## Important Availability isn't guaranteed until registered. Some domains may be premium-priced or registrar-reserved. Availability is a live reading, not a reservation — tell the user to register promptly if they want the name.