Place bids on auction listings
View as MarkdownEnd-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:
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_KEYin your environment - a domain name you want to bid on, exported as
DOMAIN_NAMEin 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:
| Value | What it includes |
|---|---|
listingMin | Current bid price, next minimum bid, and auction close time (doesn't include renewal or transfer prices) |
listing | Full listing details, including priceRenewal and priceTransfer (mutually exclusive with listingMin) |
enrichment | Domain 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 status | Error code | Cause | Note |
|---|---|---|---|
400 | BAD_SYNTAX / MALFORMED_INPUT | Request body is malformed. | |
403 | BIDDER_BLOCKED | Your account is blocked from bidding. | |
403 | BIDDER_BANNED | Your account is banned from bidding. | |
403 | MISSING_CREDENTIALS | API key not provided or invalid. | |
422 | MAX_BIDS_PER_REQUEST_EXCEEDED | More than 20 bids in a single request. | |
422 | DUPLICATE_BIDS | Multiple bids for the same listingId in one request. | |
207 per-bid | BID_MIN_NOT_MET | Bid amount is below the listing's minimum. | |
207 per-bid | BIDDER_IS_SELLER | You can't bid on your own listing. | |
207 per-bid | BIDDER_VERIFICATION_SHOPPER_MAX_APPROVED_AMOUNT | Bid exceeds your verified spending limit | |
207 per-bid | BIDDER_VERIFICATION_SHOPPER_MAX_APPROVED_COUNT | You have reached your bid count limit. | |
207 per-bid | LISTING_NOT_FOUND | No active listing found for this listingId. | |
429 | Rate limit exceeded. |
Agent & Automation Notes
Related
Last updated on
How is this guide?