BidSwitch buyer 5.7
BidSwitch, run by BidSwitch GmbH, sits between supply partners and buyers: suppliers send it requests, and it forwards them to buying platforms under its own OpenRTB-based protocols. This profile covers buyer protocol 5.7, the version buyers implement.
Direction and version
BidSwitch sends bid requests to buyers, and buyers return bid responses to BidSwitch.
Buyer protocol 5.7, which BidSwitch lists under its OpenRTB 2.6 support. Native requests arrive as an object in imp.native.request, and buyers return Native markup in bid.ext.native.
The RTBlint profile bidswitch checks requests and responses against the published contract.
Rules beyond the OpenRTB spec
- Requests always include
device,user,tmax,cur, andext.usermay be an empty object when the user opted out under GDPR or CCPA. - A request has inventory context in
site,app,ext.tv, ordooh, and a DOOH request carries neithersitenorapp. - User identifiers are limited to 50 characters.
- A buyer returns at most two bids per ad slot across all seats, and all bids from one seat go in one
seatbidentry. burlmust contain${AUCTION_PRICE}, andnurlis optional whenburlis used. The macro may appear once inadm, never in bothadmandnurl.- VAST and DAAST document URLs may not contain the win price macro. When
ext.s2s_nurlis 1,admmay not contain it either. - Video bids need
bid.ext.vast_urlor the documentednurlfallback, and audio bids need a VAST or DAAST URL. - Win notices on secure browser inventory must use HTTPS. Server-to-server notices may use HTTP.
- Advertiser domains must be ASCII, with punycode for international names, and DSA names in
bid.ext.dsaare limited to 100 characters. - When
wseatandbseatboth list a seat,wseattakes precedence.atdefaults to 2.
Documented extensions
| Path | Meaning |
|---|---|
ext.tv | Connected TV inventory context, used in place of site or app. |
ext.s2s_nurl | When 1, BidSwitch calls only burl server to server and adm must not carry the price macro. |
imp.video.ext.vast_url_rq | When 1, the bid must supply bid.ext.vast_url. |
bid.ext.vast_url | URL of the VAST document; it may not contain the price macro. |
bid.ext.daast_url | URL of the DAAST document for audio bids. |
bid.ext.native | Native response markup in buyer responses. |
bid.ext.advertiser_name | Advertiser name, required by some suppliers. |
bid.ext.agency_name | Agency name, required by some suppliers. |
bid.ext.lpdomain | Landing page domain, recommended. |
bid.ext.skadn | SKAdNetwork response data. |
bid.ext.dsa | DSA transparency; behalf and paid are limited to 100 characters. |
ext.igbid | Response-level interest group bids, which may stand in for seatbid. |
What the validator checks for this profile
openrtb.profile.bidswitch.audio_urlAudio format 3 needs either VAST or DAAST URL.openrtb.profile.bidswitch.bid_countBuyer responses allow at most two bids per ad slot across all seats.openrtb.profile.bidswitch.billing_macroThe buyer billing URL must contain the win price macro.openrtb.profile.bidswitch.creative_id_recommendedBidSwitch recommends adid or crid for creative review.openrtb.profile.bidswitch.domain_asciiAdvertiser domains must use ASCII, including punycode for international domains.openrtb.profile.bidswitch.dsa_name_lengthDSA names have a maximum of 100 characters.openrtb.profile.bidswitch.impression_macroThe win price macro may appear once in adm and cannot appear in both adm and nurl.openrtb.profile.bidswitch.inventory_conflictA DOOH request cannot also contain site or app.openrtb.profile.bidswitch.inventory_requiredBidSwitch requires a documented inventory context.openrtb.profile.bidswitch.markup_macroMarkup document URLs cannot contain the win price macro.openrtb.profile.bidswitch.markup_versionBuyer adm requires a declared protocol version of at least 4.0.openrtb.profile.bidswitch.s2s_markup_macroServer-to-server notification requests forbid the win price macro in adm.openrtb.profile.bidswitch.seat_uniqueAll bids from a buyer seat must be grouped into one SeatBid.openrtb.profile.bidswitch.secure_notificationBrowser win notifications on secure inventory require HTTPS.openrtb.profile.bidswitch.user_id_lengthBidSwitch user identifiers have a maximum of 50 characters.openrtb.profile.bidswitch.value_invalidThe extension value is outside the BidSwitch documented set.openrtb.profile.bidswitch.video_urlVideo bids need ext.vast_url or the documented nurl fallback.
Validate against this contract
Open the tester with the BidSwitch buyer 5.7 profile, or run:
rtblint validate --profile bidswitch request.json
Similar integrations
- Adform OpenRTB handler
- AppLovin ALX DSP response
- Digital Turbine Exchange
- Display & Video 360
- Equativ bidder contract
- Google Authorized Buyers
- Index Exchange DSP
- InMobi DSP
- Magnite DV+ xAPI
- Microsoft Monetize bidder
- MobileFuse in-app bidding
- MobileFuse SDK bidding
- Sovrn request
- Unity Exchange
- Vungle Exchange
- Yandex SDK bidding