Sample OpenRTB bid request and response

OpenRTB is the IAB Tech Lab open protocol for real-time bidding between SSP/exchange and DSP. These examples cover 2.5 (the most widely deployed), 2.6 (new fields for CTV and rewarded), 3.0 (new envelope separating context/item), plus OpenRTB Native 1.2 and Supply Chain Object (schain). Useful for debugging your own bidder, a prebid adapter, a header bidding wrapper, or an exchange integration.

These are not dumps from an exchange or copies of IAB examples — they are realistic, hand-crafted samples built strictly to the official IAB Tech Lab specs. Fields, data types and enumerated values (placement, protocols, api, plcmttype, etc.) match the specs. The imp objects reference samplelib samples so the examples are interconnected.
Official IAB Tech Lab specs: OpenRTB 2.5 · OpenRTB 2.6 · OpenRTB 3.0 (GitHub) · AdCOM 1.0 · Native 1.2 · SupplyChain Object

Sample file: OpenRTB 2.5 bid request — banner (728x90 with form-fit)
OpenRTB 2.5 bid request — banner (728x90 with form-fit)
3.0 Kb
Sample file: OpenRTB 2.5 bid request — video (preroll, skippable, companion)
OpenRTB 2.5 bid request — video (preroll, skippable, companion)
3.2 Kb
Sample file: OpenRTB 2.5 bid request — native (with embedded OpenRTB Native 1.2)
OpenRTB 2.5 bid request — native (with embedded OpenRTB Native 1.2)
3.1 Kb
Sample file: OpenRTB 2.5 bid request — audio (digital audio ad)
OpenRTB 2.5 bid request — audio (digital audio ad)
3.0 Kb
Sample file: OpenRTB 2.5 bid response (with adm, burl, nurl, lurl)
OpenRTB 2.5 bid response (with adm, burl, nurl, lurl)
968 bytes
Sample file: OpenRTB 2.6 bid request — CTV podded video (rqddurs, durfloors, podid)
OpenRTB 2.6 bid request — CTV podded video (rqddurs, durfloors, podid)
3.1 Kb
Sample file: OpenRTB 3.0 bid request — new envelope (openrtb / item / spec)
OpenRTB 3.0 bid request — new envelope (openrtb / item / spec)
3.6 Kb
Sample file: OpenRTB 3.0 bid response (AdCOM 1.0 ad object)
OpenRTB 3.0 bid response (AdCOM 1.0 ad object)
1.1 Kb
Sample file: Supply Chain Object (schain) — resale chain
Supply Chain Object (schain) — resale chain
391 bytes
Sample file: OpenRTB Native 1.2 — request (assets, eventtrackers)
OpenRTB Native 1.2 — request (assets, eventtrackers)
1.3 Kb
Sample file: OpenRTB Native 1.2 — response (creative ready to render)
OpenRTB Native 1.2 — response (creative ready to render)
1.4 Kb

🧠 How OpenRTB works

OpenRTB is a synchronous HTTP protocol: the SSP sends a bid request (JSON) to several DSPs at once, each has ~100 ms to reply with a bid response carrying price and creative. The winner is notified via nurl/burl, the others via lurl. Version 2.5 is the production standard for most exchanges. 2.6 added CTV fields (podid, rqddurs, durfloors) and rewarded video. 3.0 is a major restructure: a new envelope with openrtb/item/spec, and AdCOM 1.0 as a separate creative spec. All versions coexist — the choice depends on the partner.

📰 Publisher site / app slot released 🏛️ SSP / Exchange bid request ~100 ms 💰 DSP bid response price + ad 🏆 Auction second-price / first-price 📡 Winner nurl / burl impression + billing