Squarespace Developer Platform: APIs, Apps, and Docs
Tools

domains_search

Description

Search Squarespace's domain catalog for a keyword. Returns availability, pricing, renewal pricing, and a checkoutLink for each result when the domain is available. The tool does not register domains or take payment—checkout happens on squarespace.com when an end user opens the link.

When to use: End users (or your app) already have a keyword, brand, or domain in mind—for example "acmecoffee" or "is sarahbakes.com available?". If they only describe a business in prose without a name yet, use domains_generate_names first.

checkoutLink: Markdown link text pointing at Squarespace domain checkout (for example https://domains.squarespace.com/domain-search?atc=spiceupdallas.com&source=mcp&mcp_client=claude-code&mcp_client_version=2.1.215). Query parameters include the domain (atc), source=mcp, and client attribution (mcp_client, mcp_client_version) set by the connecting MCP client. Your UI can render the markdown as-is or extract the URL.

Not for: WHOIS lookups, DNS or hosting configuration, or general web search.

Connected MCP clients receive additional tool instructions from the server at runtime (for example, how the model should format chat replies). Those are not duplicated here.

Input schema

Pass these fields inside arguments.body on tools/call.

ParameterTypeRequiredDefaultDescription
querystringYes—Short keyword to base suggestions on, e.g. 'acmecoffee' or 'nova labs'. Not a sentence.
limitintegerNo20Max results to return (1-50, default 20).
availableOnlybooleanNotrueReturn only available domains (default true). Ignored when checkAvailability=false.
checkAvailabilitybooleanNotrueWhether to check registration availability. Set false for suggestion-only requests to skip availability lookups and respond faster; results will have available=null. Default true.

Example tool call

Server URL: https://mcp.squarespace.com/mcp. Send a JSON-RPC tools/call message (your MCP client handles transport):

JSONCode
{ "jsonrpc": "2.0", "id": "1", "method": "tools/call", "params": { "name": "domains_search", "arguments": { "body": { "query": "sarahbakes", "limit": 10 } } } }

If you call the server over HTTP directly (for example when debugging), use headers Content-Type: application/json and Accept: application/json, text/event-stream.

Example response

JSON-RPC envelope

JSONCode
{ "jsonrpc": "2.0", "id": "1", "result": { "_meta": {}, "content": [ { "type": "text", "text": "<stringified JSON — parse this string as JSON>" } ], "isError": false } }

Tool payload (parse result.content[0].text)

The text string is JSON with:

  • query — echoes the keyword you sent in arguments.body.query.
  • totalChecked — how many domain candidates were evaluated.
  • results — array of domain rows. Each item includes:
    • domain, suggestionType (exactMatch, featured, sponsored, premium, related, additional, …)
    • available, price, renewalPrice, oneTimeFee
    • checkoutLink — markdown purchase link when available is true (see example below).

Example after parsing (truncated; a full response includes more results entries):

JSONCode
{ "query": "sarahbakes", "totalChecked": 9, "results": [ { "domain": "sarahbakes.store", "suggestionType": "featured", "available": true, "price": "$4/yr", "renewalPrice": "$20/yr", "oneTimeFee": null, "checkoutLink": "[Purchase on Squarespace](https://domains.squarespace.com/domain-search?atc=sarahbakes.store&source=mcp&mcp_client=claude-code&mcp_client_version=2.1.215)" }, { "domain": "sarahbakes.online", "suggestionType": "featured", "available": true, "price": "$20/yr", "renewalPrice": "$20/yr", "oneTimeFee": null, "checkoutLink": "[Purchase on Squarespace](https://domains.squarespace.com/domain-search?atc=sarahbakes.online&source=mcp&mcp_client=claude-code&mcp_client_version=2.1.215)" } ] }

Example user request

"Is sarahbakes.com available, and what are some alternatives under $20 per year?"