Open RTB 2.5 Bid Request
Bid Request Headers
- OpenRTB Version HTTP Header: x-openrtb-version: 2.5
- Keep-Alive HTTP Header: Connection: Keep-Alive
- Content JSON: Content-Type: application/json
- Data Encoding Header: Accept-Encoding
Bid Request 2.5
When requesting bids for a specific context, the platform will perform an HTTP request with a timeout of 300ms and send the following object encoded as JSON in the request body. HTTP is recommended due to extra latency when using HTTPS.
Attribute | Description |
---|---|
id | Unique bid request ID (string) |
site | Details via a Site object about the publisher’s website (object) |
device | Details via a Device object about the user’s device to which the impression will be delivered (object) |
user | Details via a User object about the human user of the device; the advertising audience (object) |
imp | Details via an Imp object about the ad placement or impression being auctioned (object) |
ext | Placeholder for extensions to OpenRTB (object) |
site
Attribute | Description |
---|---|
id | Unique Site ID (string) |
domain | Domain name of the site (string) |
cat | IAB category ID (string array) |
page | Full URL of the page where the ad will be shown (string) |
keywords | Keywords can be used to ensure ad zones get the right type of advertising. Keywords should be a string of comma-separated words |
ext | Placeholder for exchange-specific extensions (object) |
site.ext
Attribute | Description |
---|---|
exchangecat | Custom EXADS category ID (integer) |
idzone | Custom EXADS Ad Zone ID (integer) |
keyword | Matching keyword if any (string) |
device
Attribute | Description |
---|---|
ua | Browser user agent (string) |
geo | Location of the device assumed to be the user’s current location defined by a Geo object |
ip | IP address of the user (string)* |
ipv6 | IPv6 address of the user (string)* |
language | Browser language (string) |
os | Operating System (string) |
js | Support for JavaScript, where 0 = no, 1 = yes (integer) |
ext | Placeholder for exchange-specific extensions to OpenRTB (object) |
device.geo
Attribute | Description |
---|---|
country | Country ISO3 |
ipservice | Service or provider used to determine geolocation from IP address if applicable (integer) |
device.ext
Attribute | Description |
---|---|
remote_addr | Main IP address of the user (string) |
x_forwarded_for | X-FORWARDED-FOR IP address of the user or empty if not set (string) |
user
Attribute | Description |
---|---|
id | Unique user ID (string) |
user.ext
Attribute | Description |
---|---|
consent | user.ext.consent: This is the consent string required by the IAB standards. Negative consent only for now (string) |
regs.ext
Attribute | Description |
---|---|
gdpr | regs.ext.gdpr: This is 0 if the caller believes that the user is not under GDPR, and 1 if the user is under GDPR. If neither, this parameter will be undefined. |
imp
Attribute | Description |
---|---|
id | A unique identifier for this impression within the context of the bid request (string) |
instl | 1 = the ad is interstitial or full screen, 0 = not interstitial (integer) |
video | Details via Video object that represents an in-stream video impression |
secure | Flag to indicate if the impression requires secure HTTPS URL (integer) |
ext | Placeholder for exchange-specific extensions to OpenRTB (object) |
imp.video
Attribute | Description |
---|---|
mimes | Content MIME types supported (e.g., "video/mp4") (string array ) |
minduration | Minimum video ad duration in seconds (integer) |
maxduration | Maximum video ad duration in seconds (integer) |
protocols | Array of supported video protocols (integer) |
linearity | Indicates if the impression must be linear, nonlinear, etc. If none specified, assume all are allowed (integer) |
boxingallowed | Indicates if letter-boxing of 4:3 content into a 16:9 window is allowed, where 0 = no, 1 = yes (integer) |
pos | Ad position on screen (integer) |
h | Width of the video player in device independent pixels (DIPS) (integer) |
w | Height of the video player in device independent pixels (DIPS) (integer) |
ext | Placeholder for exchange-specific extensions to OpenRTB (object) |
imp.video.ext
Attribute | Description |
---|---|
zone_type | Zone type (e.g exchange_video_slider) |
Examples
Video (Stored Request)
{
"id": "b7da78ea-cce3-4524-a806-26ca48dd1857",
"site": {
"domain": "privesexopname.nl",
"page": "https://sitedomain.com/page",
"id": "718990",
"keywords": "lifestyle,humour",
"cat": [
"IAB25-3"
],
"ext": {
"exchangecat": 508,
"idzone": 4998567,
"keyword": "%"
},
"publisher": {
"id": "195600"
}
},
"device": {
"ua": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36",
"ip": "131.34.123.159",
"geo": {
"country": "IRL",
"ipservice": "3"
},
"language": "en",
"os": "MacOS",
"js": 1,
"ext": {
"remote_addr": "131.34.123.159",
"x_forwarded_for": ""
}
},
"imp": [
{
"id": "568094473",
"video": {
"mimes": [
"video/mp4"
],
"minduration": "1",
"maxduration": "7200",
"ext": {
"zone_type": "exchange_video_slider"
},
"protocols": "3,6",
"linearity": "1",
"boxingallowed": "1",
"pos": "0"
},
"instl": "0",
"ext": {
"video_cta": "1",
"type": "video"
},
"secure": "0"
}
],
"user": {
"id": "57592f333f8983.043587162282415065"
},
"tmax": 300
}
You can find more examples here.
Video Bid Request Structure