RTBlintAlpha
OpenRTB banner bid request example
A minimal, valid display bid request: one banner impression with primary and fallback sizes, a site object with publisher, and an explicit floor.
The payload
{
"id": "req-banner-1",
"at": 1,
"cur": ["USD"],
"tmax": 300,
"site": {
"id": "site-1",
"domain": "news.example.com",
"page": "https://news.example.com/article/123",
"publisher": { "id": "pub-9" }
},
"device": {
"ua": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)",
"devicetype": 2,
"ip": "203.0.113.7"
},
"imp": [
{
"id": "1",
"secure": 1,
"bidfloor": 0.85,
"bidfloorcur": "USD",
"banner": {
"w": 300,
"h": 250,
"format": [{ "w": 300, "h": 250 }, { "w": 336, "h": 280 }],
"pos": 1
}
}
]
}Open this payload in the tester to validate it live, change fields, and watch which rules fire.
What to notice
- id and imp are the only required top-level fields; everything else here is what makes the request biddable in practice.
- banner.format lists acceptable sizes beyond the primary w/h, so multi-size demand can compete.
- secure: 1 requires HTTPS creative assets, which any site on HTTPS should declare explicitly.
- bidfloorcur is spelled out even though USD is the default; implicit defaults are where floor bugs hide.