Buy or bid on a domainPlace bids on auction listings

Place bids on auction listings

View as Markdown

End-to-end workflow—check listing availability and full pricing, including renewal and transfer costs, then place bids on GoDaddy expiring auctions.

Overview

Bidding lets you compete for domain names on GoDaddy's auctions marketplace. You check which domains have active listings, review the full cost and optional domain signals, and submit bids. The auction closes on a set date. If you hold the highest bid at close, the domain fulfills to your account. A winning bid is binding, and the full cost includes the renewal or transfer price that only the availability response returns. Check those prices before you bid. The following diagram shows the workflow for bidding on domains in the GoDaddy auctions marketplace:

Rendering diagram...

Verify your account

Verify your GoDaddy account to increase your bid limits. Go to the bidder verification page for details.

Discover domains at scale

GoDaddy Auctions Inventory Files are downloadable datasets (ZIP, XML, and JSON) containing bulk information on live expired auctions and closeout listings. Use them to identify domains worth bidding on before calling the API. Go to the Auctions Inventory page to download Inventory Files.

The following article provides a workflow for bidding on domains in the GoDaddy auctions marketplace.

Prerequisites

The following prerequisites are required before you can bid on domains:

  • a Classic Developer Key, exported as GODADDY_API_KEY in your environment
  • a domain name you want to bid on, exported as DOMAIN_NAME in your environment

About customerId

All Auctions endpoints use {customerId} in the path. Use MY for your own account. Go to Your customer identifier if you need the UUID or are managing another account.

Check listing availability

The following procedure confirms whether domains have active expiring auctions listings and retrieves listing details, including renewal and transfer prices. You need the listingId from the response to place bids. You can check up to 50 domains per request.

Use the includes query parameter to attach additional data to AVAILABLE results:

ValueWhat it includes
listingMinCurrent bid price, next minimum bid, and auction close time (doesn't include renewal or transfer prices)
listingFull listing details, including priceRenewal and priceTransfer (mutually exclusive with listingMin)
enrichmentDomain signals from GoDaddy, Estibot, SEMrush, and Majestic

Check renewal and transfer prices before you bid

A winning bid is binding. The bid price doesn't show what the domain costs after you win, and only responses with includes=listing return priceRenewal and priceTransfer. Call this endpoint with includes=listing and review both prices before you place a bid.

  • Check availability with full listing details:

    curl -s -X POST "https://api.godaddy.com/v1/customers/MY/aftermarket/listings/available?includes=listing" \
      -H "Authorization: sso-key $GODADDY_API_KEY" \
      -H "Content-Type: application/json" \
      -d "{
        \"domains\": [\"$DOMAIN_NAME\"]
      }"

Example response:

{
  "availabilities": [
    {
      "domainName": "example.com",
      "status": "AVAILABLE",
      "listing": {
        "kind": "FULL",
        "currencyId": "USD",
        "listingId": 696987004,
        "listingType": "EXPIRY_AUCTIONS",
        "auctionEndAt": "2026-09-01T18:00:00Z",
        "priceCurrent": 50000000,
        "priceNextBid": 55000000,
        "priceTransfer": 11990000,
        "priceRenewal": 21990000
      }
    }
  ]
}

priceRenewal and priceTransfer are in micro-units of currencyId. Divide by 1,000,000 for the dollar amount (for example, 21990000 = $21.99). Go to Check aftermarket listing availability for every field the response returns.

Note

Note the listing.listingId for each AVAILABLE domain and export it as LISTING_ID. You'll use it to place a bid.

Place bids

The following procedure submits up to 20 bids in a single request. Bid amounts are in USD micro-units. Multiply dollars by 1,000,000 (for example, $100.00 = 100000000). Confirm the renewal and transfer prices from Check listing availability before you submit. Export your bid amount in micro-units as BID_AMOUNT_USD.

  • Place bids:

    curl -s -X POST "https://api.godaddy.com/v1/customers/MY/aftermarket/listings/bids" \
      -H "Authorization: sso-key $GODADDY_API_KEY" \
      -H "Content-Type: application/json" \
      -d "[
        {
          \"listingId\": $LISTING_ID,
          \"bidAmountUsd\": $BID_AMOUNT_USD,
          \"tosAccepted\": true
        }
      ]"

Example response (200—all bids placed):

[
  {
    "listingId": 696987004,
    "isHighestBidder": true,
    "bidId": "e8f0a45d-53c6-49e5-a1f2-08b993960e1b",
    "bidAmountUsd": 100000000,
    "status": "SUCCESS"
  }
]

If the response is 207, inspect each bid's status and failureReason. Successfully placed bids have a bidId for tracking.

Error reference

HTTP statusError codeCauseNote
400BAD_SYNTAX / MALFORMED_INPUTRequest body is malformed.
403BIDDER_BLOCKEDYour account is blocked from bidding.
403BIDDER_BANNEDYour account is banned from bidding.
403MISSING_CREDENTIALSAPI key not provided or invalid.
422MAX_BIDS_PER_REQUEST_EXCEEDEDMore than 20 bids in a single request.
422DUPLICATE_BIDSMultiple bids for the same listingId in one request.
207 per-bidBID_MIN_NOT_METBid amount is below the listing's minimum.
207 per-bidBIDDER_IS_SELLERYou can't bid on your own listing.
207 per-bidBIDDER_VERIFICATION_SHOPPER_MAX_APPROVED_AMOUNTBid exceeds your verified spending limit
207 per-bidBIDDER_VERIFICATION_SHOPPER_MAX_APPROVED_COUNTYou have reached your bid count limit.
207 per-bidLISTING_NOT_FOUNDNo active listing found for this listingId.
429Rate limit exceeded.

Agent & Automation Notes

PermissionsAftermarket
Rate limitRate-limited per credential per window. Go to /docs/api-users/rate-limits for current values.
IdempotentNo
DestructiveNo
On failureCheck per-bid status in 207 responses. Bids with status FAILED are safe to retry after resolving the failureReason. Do not resubmit bids that already returned status SUCCESS. A winning bid is binding and can't be undone, so call the availability endpoint with includes=listing and review priceRenewal and priceTransfer before you place a bid.

Last updated on

How is this guide?

On this page