GoDaddy Domain Management API

Non-commercial async mutations on owned domain instances: contacts, nameservers, privacy, auto-renew, and transfer-lock. All sub-resources of /domain-names/{domain-name}. All mutations return a DomainOperation for polling.

Operations 3

PUT /domain-names/{domain-name}/nameservers Replace the nameservers for a domain #
POST /domain-names/{domain-name}/auto-renew Set auto-renew setting for a domain #
POST /domain-names/{domain-name}/transfer-lock Set transfer-lock setting for a domain #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/godaddy:godaddy-domain-management-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

godaddy-domain-management-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Domain Lifecycle Management Domain Management API
  version: 3.1.0
  x-visibility: public
  description: 'The GoDaddy Domain Lifecycle Management API provides comprehensive capabilities

    for discovering, registering, managing, renewing, transferring, and reselling

    domain names. This is major version 3, designed for agent-first interactions

    while remaining fully usable by direct API clients and resellers.


    ## Namespace


    All paths are under `/v3/domains/`. The namespace is `domains` (the business capability);

    the core entity collection is `/domain-names`.


    ## Key Conventions


    **Quote/execute for commercial operations.** Every commercial mutation (register,

    renew, transfer) requires a `quoteToken` minted by the corresponding quote

    collection endpoint. Execution without a prior quote is structurally impossible.

    The token locks the price, resolved settings, and required legal agreements for a

    10-minute TTL. Quote calls are free, read-only, and safe to call speculatively.


    **Async commercial operations.** `POST /registrations`, `POST /renewals`, and

    `POST /transfers` each return `202 Accepted` with the concrete entity body

    (`Registration`, `Renewal`, or `Transfer`) and a `Location` header. Poll

    `links[rel=self]` on the returned entity until status is `COMPLETED` or `FAILED`.

    Each concrete resource is also reachable via `GET /operations/{operationId}`;

    the `operationId` is included in the entity for clients that prefer the abstract

    view. Non-commercial mutations return a `DomainOperation` body.


    **Entity-oriented resource model.** Domains are the core entity of this API

    (exposed as `/domain-names` in the path to distinguish the resource collection

    from the `domains` namespace prefix). Register, renew, and transfer are

    commercial actions executed by `POST` to their corresponding top-level

    resource collections (`/registrations`, `/renewals`, `/transfers`); each

    accepts a prior quote and returns an async entity to poll until completion.

    For commercial execute calls, the target domain is

    expressed in the request body, not the path. Sub-resources (`contacts`,

    `nameservers`, `privacy`, `auto-renew`, `transfer-lock`, `records`) only exist

    in the context of a specific domain-name instance. The `/check-availability`

    controller carries no persistent identity.


    **Flat, two-level maximum.** No resource path goes deeper than

    `/{collection}/{id}/{sub-resource}` or `/{collection}/{id}/{sub-collection}/{id}`.


    **Reseller on-behalf-of.** Resellers pass `X-Shopper-Id`; all operations are

    then scoped to that shopper. Absent the header, the authenticated entity''s own

    account is used.


    ## Launch Scope (v3.0)

    Standard TLDs only. TLDs with eligibility requirements (.us, .ca, .eu) return

    `UNSUPPORTED_TLD` until Phase 2.'
  contact:
    name: GoDaddy Domains Platform
    x-slack-channel: '#domains_beplat_eng'
    x-visibility: private
servers:
- url: https://api.{environment-subdomain}.com/v3/domains
  description: Domain Lifecycle Management API v3
  variables:
    environment-subdomain:
      default: godaddy
      description: Environment subdomain
      enum:
      - godaddy
      - ote-godaddy
      - test-godaddy
      - dev-godaddy
security:
- bearerAuth: []
tags:


# --- truncated at 32 KB (72 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/godaddy/refs/heads/main/openapi/godaddy-domain-management-api-openapi.yml