Skip to main content

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.5
  • Keep-Alive HTTP Header: Connection: Keep-Alive
  • Content JSON: Content-Type: application/json

The following objects should be sent encoded as JSON in the request body:

Bid Request

AttributeRequired?Description
atYesAuction type, first price = 1 (int)
idYesUnique bid request ID (string)
impYesArray of Imp objects representing the impressions offered(object).
siteYesDetails about the publisher’s website(object).
appYesDetails about the publisher’s app(object).
deviceYesDetails about the user’s device to which the impression will be delivered(object).
userNoDetails about the human user of the device; the advertising audience(object).
extNoPlaceholder for extensions to OpenRTB.

Note: Only one of the objects {site, app} should be present in each request.


imp

AttributeRequired?Description
idYesUnique impression ID within this bid request (string)
bidfloorNoMinimum bid for this impression (CPM) / click (CPC) and account currency (float).
bannerOnly for fullpage impsA banner object (object).
secureNo; Recommended 1Flag 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

AttributeRequired?Description
wYesWidth of the banner (integer)
hYesHeight of the banner (integer)
mimesYesMimes types - image/jpg, image/png, video/mp4 or image/webp

imp.video

AttributeRequired?Description
mimesYesContent MIME types supported (e.g., "video/mp4") (string array )
mindurationNoMinimum video ad duration in seconds (integer)
maxdurationNoMaximum video ad duration in seconds (integer)
protocolsNoArray of supported video protocols (integer)
linearityNoIndicates if the impression must be linear, nonlinear, etc. If none specified, assume all are allowed (integer)
boxingallowedNoIndicates if letter-boxing of 4:3 content into a 16:9 window is allowed, where 0 = no, 1 = yes (integer)
posNoAd position on screen (integer)
hNoWidth of the video player in device independent pixels (DIPS) (integer)
wNoHeight of the video player in device independent pixels (DIPS) (integer)
extNoPlaceholder for exchange-specific extensions to OpenRTB (object)

imp.video.ext

AttributeRequired?Description
zone_typeNoZone type within ExoClick's ad formats (e.g: video_slider)
ctaNoSpecifies whether the ad zone shows a CTA component (integer)

site

AttributeRequired?Description
idRecommendedUnique Site ID (string)
nameNoSite name (string)
domainRecommendedDomain name of the site (string)
catNoIAB category ID (string array)
pageRecommendedFull URL of the page where the ad will be shown (string)
keywordsNoKeywords can be used to ensure ad zones get the right type of advertising. Keywords should be a string of comma-separated words

site.ext

AttributeRequired?Description
exchangecatNoCustom ExoClick category ID (integer)
idzoneNoCustom ExoClick Zone ID (integer)

app

AttributeRequired?Description
idRecommendedUnique App ID (string)
nameNoApp name (string)
domainRecommendedDomain name of the app (string)
catNoIAB category ID (string array)
keywordsNoKeywords can be used to ensure ad zones get the right type of advertising. Keywords should be a string of comma-separated words (string)
publisherNoDetails about the Publisher (object)

device

AttributeRequired?Description
uaYesBrowser user agent (string)
suaNoStructured user agent information, which can be used when a client supports User-Agent Client Hints (object)
geoNoLocation of the device assumed to be the user’s current location defined by a Geo object.
ipYesIPv4 address of the user (string)*
ipv6YesIPv6 address of the user (string)*
languageRecommendedBrowser language (string)
osNoOperating System (string)
jsNoSupport for JavaScript, where 0 = no, 1 = yes (integer)
extNoPlaceholder for exchange-specific extensions to OpenRTB

Note: 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

AttributeRequired?Description
countryNoCountry ISO3

device.ext

AttributeRequired?Description
remote_addrNoMain IP address of the user (string)
x_forwarded_forNoX-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.

AttributeRequired?Description
browsersRecommendedImplementers should send brands and versions derived from the Sec-CH-UA-Full-Version-List header. (Array of BrandVersion objects)
platformRecommendedImplementers 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)
mobileRecommendedImplementers should derive this value from the Sec-CH-UA-Mobile header. (integer)
architectureRecommendedImplementers should retrieve this value from the Sec-CH-UA-Arch header. (string)
bitnessRecommendedImplementers should retrieve this value from the Sec-CH-UA-Bitness header. (string)
modelRecommendedImplementers should retrieve this value from the Sec-CH-UA-Model header. (string)
sourceRecommendedThe 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

AttributeRequired?Description
brandRequiredThe 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)
versionRecommendedA sequence of version components, in descending hierarchical order [major, minor, micro, …] (array of string)

user

AttributeRequired?Description
idNoUnique user ID (string)
extNoPlaceholder for exchange-specific extensions to OpenRTB (object)

user.ext

AttributeRequired?Description
consentNoThis is the consent string required by the IAB standards. Negative consent only for now (string)

regs

AttributeRequired?Description
extNoPlaceholder for exchange-specific extensions to OpenRTB (object)

regs.ext

AttributeRequired?Description
gdprNoThis 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

AttributeRequired?Description
subNoThe Sub ID. This should be a number between six and ten digits: Do not use zeroes at the beginning of Sub IDs.