What is a seatbid, and why is my response's seatbid empty?
Answer
seatbid is the array grouping bids by bidder seat: each SeatBid carries an optional seat identifier and a bid array with at least one bid. A BidResponse with no seatbid, or with SeatBid objects whose bid arrays are empty, is a no-bid as far as the auction is concerned. If your engine intends to bid but seatbid comes out empty, look at your response assembly: bids filtered late (floor, budget, creative approval) after the response shell was built is the classic cause. If you mean to no-bid, prefer HTTP 204 or set nbr so the intent is explicit.
Go deeper
More questions on debugging, no-bids, and validation
- Why is my bidder not receiving bid requests? Work the path from the exchange inward: confirm the endpoint the exchange has on file matches what you deployed (scheme, host, path), that your endpoint returns a well-formed response or HTTP 204 quickly enough to stay under the exchange's timeout, and that traffic filters on the exchange side (geo, media type, QPS caps, pretargeting) are not excluding you.
- Why is my bid rate low even though I receive requests? Start by separating deliberate no-bids from failures.
- How do I find out why my bids are losing auctions? Ask for loss reasons via the loss notice URL.
- How do I debug a systematic OpenRTB no-bid? If the bidder returns a BidResponse with nbr set, the code tells you where to look: nbr 2 is Invalid Request, which means the bidder could not parse or accept your bid request, so run the request through a validator before anything else.
- What does HTTP 204 mean in OpenRTB, and how is it different from nbr? HTTP 204 No Content is the spec's preferred way for a bidder to say it has no bid: no body, cheapest possible round trip.
- How do I validate an OpenRTB bid request? Paste it into a validator that checks against the actual spec catalog, not just JSON syntax.
All 93 questions are listed in the OpenRTB FAQ.