# Place bids on auction listings (https://developer.godaddy.com/en/docs/api-users/buy-a-domain/bidding)

***

title: Place bids on auction listings
description: End-to-end workflow — check listing availability, review pricing and domain signals, and place bids on GoDaddy expiring auctions.
agentNotes:
permissions: \["Aftermarket"]
scopes: \[]
rateLimit: "Rate-limited per credential per window. Go to /docs/api-users/rate-limits for current values."
idempotent: false
destructive: false
failureRecovery: "Check 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."
related:
apis:

* title: "Auctions reference"
  href: "/docs/references/rest/auctions/auctions"
* title: "Listings availability reference"
  href: "/docs/references/rest/auctions/listings-availability"
  guides:
* title: "About the Auctions API"
  href: "/docs/api-users/auctions"
* title: "Buy a closeout auction via instant purchase"
  href: "/docs/api-users/buy-a-domain/instant-purchase"

***

## Overview

Bidding lets you compete for domain names on [GoDaddy's auctions marketplace](https://auctions.godaddy.com). You check which domains have active listings, review pricing 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. The following diagram shows the workflow for bidding on domains in the GoDaddy auctions marketplace:

Verify your GoDaddy account to increase your bid limits. Go to the [bidder verification page](https://www.godaddy.com/help/godaddy-auctions-bidder-verification-process-12416) for details.

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 [legacy API key](https://classic-developer.godaddy.com/keys), exported as `GODADDY_API_KEY` in your environment
* one or more domain names you want to bid on

## Check listing availability

The following procedure confirms whether domains have active expiring auctions listings and retrieves listing details. You need the `listingId` from the response to [place bids](#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 and auction close time                    |
| `listing`    | Full listing details (mutually exclusive with `listingMin`) |
| `enrichment` | Domain signals from GoDaddy, Estibot, SEMrush, and Majestic |

* Check availability with listing details:

  ```bash
  curl -s -X POST "https://api.godaddy.com/v1/customers/MY/aftermarket/listings/available?includes=listingMin" \
    -H "Authorization: sso-key $GODADDY_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "domains": ["example.com", "mybrand.net"]
    }'
  ```

Example response:

```json
{
  "availabilities": [
    {
      "domainName": "example.com",
      "status": "AVAILABLE",
      "listingId": 200000,
      "listingMin": {
        "currentBid": 50000000,
        "closingAt": "2026-09-01T18:00:00Z"
      }
    },
    {
      "domainName": "mybrand.net",
      "status": "UNAVAILABLE"
    }
  ]
}
```

Note the `listingId` for each `AVAILABLE` domain. You'll use it to [place a bid](#place-bids).

## 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`).

* Place bids:

```bash
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": 200000,
      "bidAmountUsd": 100000000,
      "tosAccepted": true
    }
  ]'
```

Example response (200 — all bids placed):

```json
[
  {
    "listingId": 200000,
    "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.                                   |      |
