domainmcp
SearchCheck a name across every endingDomain pricesFirst year and renewal, every endingMCP setupClaude, ChatGPT and Gemini in a minuteAPIOpen REST endpoints, no key neededDocumentationEvery endpoint, tool and limit

Documentation / Endpoints / Search a name

Domain name search API: GET /v1/search

Search a name

Give one name and get back every ending you ask for, free ones first and cheapest first, each with today's domain prices and a link to register it.

Free, no keyCosts 1 an endingMCP tool: search_name
GEThttps://api.domainmcp.net/v1/search?name=brightfield
Try itReal answers, counted in your allowance
https://api.domainmcp.net/v1/search?name=brightfield

Code

curl "https://api.domainmcp.net/v1/search?name=brightfield"

Parameters

namestring, required
The name to search, without an ending. Letters, digits and hyphens, up to 63. Spaces are removed, and anything after a dot is dropped.
tldslist, optional
The endings to try, comma separated, up to 25. Second-level endings such as co.uk work. When left out, 12 popular endings are tried.
comnetorgiocoaiappdevxyzmeinfoco.uk

Returns

Free names come first, sorted by first-year price, then unknown ones, then taken ones.

domainstring
The full domain, in lower case.
availabletrue, false or null
Null when the answer is not known yet.
statusstring
One of three values.
availabletakenunknown
confirmedboolean
True once the registry has answered. A free answer from DNS alone is confirmed within about a minute.
bystring
Where the answer came from. See Reading a result.
registryregistrardnsdns_onlyconfirming
checked_atstring
When it was checked, in UTC.
premiumboolean
Free names only. True when the registry sets its own, higher price.
priceobject or null
Free names only: first_year, renews, min_years, on_offer and currency. Null for a premium name, or an ending we have no price for.
buy_urlstring or null
Free names only: a short link that opens a registrar with the name ready to register. Null for a premium name, or an ending not sold through our links, with a note saying which.
registrarstring or null
Taken names only: who holds it, with registered and expires dates when known.

Example answer

GET /v1/search?name=brightfield&tlds=com,io,ai

{
    "data": [
        {
            "domain": "brightfield.com",
            "available": false,
            "status": "taken",
            "confirmed": true,
            "by": "dns",
            "checked_at": "2026-11-11T03:23:10Z",
            "registrar": null,
            "registered": null,
            "expires": null
        },
        {
            "domain": "brightfield.io",
            "available": false,
            "status": "taken",
            "confirmed": true,
            "by": "dns",
            "checked_at": "2026-11-11T03:23:10Z",
            "registrar": null,
            "registered": null,
            "expires": null
        },
        {
            "domain": "brightfield.ai",
            "available": false,
            "status": "taken",
            "confirmed": true,
            "by": "dns",
            "checked_at": "2026-11-11T03:23:10Z",
            "registrar": null,
            "registered": null,
            "expires": null
        }
    ],
    "meta": {
        "count": 3,
        "took_ms": 0
    }
}

Errors

bad_request400
No name, a name a domain cannot have, or more than 25 endings.
unknown_parameter422
A parameter this endpoint does not take, such as tld for tlds.
rate_limited429
Over 60 domains this minute from your address. Wait for the seconds in Retry-After.
quota_exceeded429
Over 2,000 domains today. It resets at 00:00 UTC.

Every error has the same shape. See Errors for all of them.