Open RTB 2.5 Bid Request
This page explains how to make requests for bids.
Suggested Bid Request Headers
OpenRTB Version HTTP Header:
x-openrtb-version: 2.5Keep-Alive HTTP Header:
Connection: Keep-AliveContent JSON:
Content-Type: application/json
The following objects should be sent encoded as JSON in the request body:
Bid Request Object
at
Yes
Auction type, first price = 1 (int)
id
Yes
Unique bid request ID (string)
imp
Yes
Array of Imp objects representing the impressions offered(object).
site
Yes
Details about the publisher’s website(object).
app
Yes
Details about the publisher’s app(object).
device
Yes
Details about the user’s device to which the impression will be delivered(object).
user
No
Details about the human user of the device; the advertising audience(object).
ext
No
Placeholder for extensions to OpenRTB.
Only one of the objects {site, app} should be present in each request.
imp
id
Yes
Unique impression ID within this bid request (string)
bidfloor
No
Minimum bid for this impression (CPM) / click (CPC) and account currency (float).
banner
Only for fullpage imps
A banner object (object).
secure
No; Recommended 1
Flag to indicate if the impression requires secure HTTPS URL creative assets and markup, where 0 = non-secure, 1 = secure. If omitted, the secure state is unknown, but non-secure HTTP support can be assumed, optional (integer)
imp.banner
w
Yes
Width of the banner (integer)
h
Yes
Height of the banner (integer)
mimes
Yes
Mimes types - image/jpg, image/png, video/mp4 or image/webp
imp.video
mimes
Yes
Content MIME types supported (e.g., "video/mp4") (string array)
minduration
No
Minimum video ad duration in seconds (integer)
maxduration
No
Maximum video ad duration in seconds (integer)
protocols
No
Array of supported video protocols (integer)
linearity
No
Indicates if the impression must be linear, nonlinear, etc. If none specified, assume all are allowed (integer)
boxingallowed
No
Indicates if letter-boxing of 4:3 content into a 16:9 window is allowed, where 0 = no, 1 = yes (integer)
pos
No
Ad position on screen (integer)
h
No
Width of the video player in device independent pixels (DIPS) (integer)
w
No
Height of the video player in device independent pixels (DIPS) (integer)
ext
No
Placeholder for exchange-specific extensions to OpenRTB (object)
imp.video.ext
zone_type
No
Zone type within ExoClick's ad formats (e.g: video_slider)
cta
No
Specifies whether the ad zone shows a CTA component (integer)
site
id
Recommended
Unique Site ID (string)
name
No
Site name (string)
domain
Recommended
Domain name of the site (string)
cat
No
IAB category ID (string array)
page
Recommended
Full URL of the page where the ad will be shown (string)
keywords
No
Keywords can be used to ensure ad zones get the right type of advertising. Keywords should be a string of comma-separated words
site.ext
exchangecat
No
Custom ExoClick category ID (integer)
idzone
No
Custom ExoClick Zone ID (integer)
app
id
Recommended
Unique App ID (string)
name
No
App name (string)
domain
Recommended
Domain name of the app (string)
cat
No
IAB category ID (string array)
keywords
No
Keywords can be used to ensure ad zones get the right type of advertising. Keywords should be a string of comma-separated words (string)
publisher
No
Details about the Publisher (object)
device
ua
Yes
Browser user agent (string)
sua
No
Structured user agent information, which can be used when a client supports User-Agent Client Hints (object)
geo
No
Location of the device assumed to be the user’s current location defined by a Geo object.
ip
Yes
IPv4 address of the user (string)*
ipv6
Yes
IPv6 address of the user (string)*
language
Recommended
Browser language (string)
os
No
Operating System (string)
js
No
Support for JavaScript, where 0 = no, 1 = yes (integer)
ext
No
Placeholder for exchange-specific extensions to OpenRTB
You only need to include either ip or ipv6 in your request, not both. If you use ipv6, remove the ip attribute, and vice versa. Including both can cause errors.
device.geo
country
No
Country ISO3
device.ext
remote_addr
No
Main IP address of the user (string)
x_forwarded_for
No
X-FORWARDED-FOR IP address of the user or empty if not set (string)
device.sua
Structured User Agent information. device.sua is considered the more accurate representation of the device attributes.
browsers
Recommended
Implementers should send brands and versions derived from the Sec-CH-UA-Full-Version-List header. (Array of BrandVersion objects)
platform
Recommended
Implementers should send a brand derived from the Sec-CH-UA-Platform header, and version derived from the Sec-CH-UA-Platform-Version header. (BrandVersion Object)
mobile
Recommended
Implementers should derive this value from the Sec-CH-UA-Mobile header. (integer)
architecture
Recommended
Implementers should retrieve this value from the Sec-CH-UA-Arch header. (string)
bitness
Recommended
Implementers should retrieve this value from the Sec-CH-UA-Bitness header. (string)
model
Recommended
Implementers should retrieve this value from the Sec-CH-UA-Model header. (string)
source
Recommended
The source of data used to create this object, List: User-Agent Source in AdCOM 1.0 (integer; default 0)
device.sua.browsers | device.sua.platform
brand
Required
The value may be sourced from the User-Agent Client Hints headers, representing either the user agent brand (from the Sec-CH-UA-Full-Version header) or the platform brand (from the Sec-CH-UA-Platform header). (string)
version
Recommended
A sequence of version components, in descending hierarchical order [major, minor, micro, …] (array of string)
user
id
No
Unique user ID (string)
ext
No
Placeholder for exchange-specific extensions to OpenRTB (object)
user.ext
consent
No
This is the consent string required by the IAB standards. Negative consent only for now (string)
regs
ext
No
Placeholder for exchange-specific extensions to OpenRTB (object)
regs.ext
gdpr
No
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.
ext
sub
No
The Sub ID. This should be a number between one and ten digits: Do not use zeroes at the beginning of Sub IDs.
Last updated
Was this helpful?

