This page describes the different components of the RTB requests you will receive in order to bid.
- 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 of the user’s device to which the impression will be delivered (object) |
| user | Details of the human user of the device; the advertising audience (object) |
| imp | Details of the ad placement or impression being auctioned (object) |
| regs | Details of any industry, legal, or governmental regulations in force for this request (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 ExoClick category ID (integer) |
| idzone | Custom ExoClick Ad Zone ID (integer) |
| keyword | Matching keyword if any (string) |
device
| Attribute | Description |
|---|
| ua | Browser user agent (string) |
| sua | Structured user agent information, which can be used when a client supports User-Agent Client Hints (object) |
| geo | Location of the device assumed to be the user’s current location defined by a Geo object |
| ip | IPv4 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) |
*Exactly one of ip or ipv6 will be present in the bid request.
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) |
device.sua
Structured User Agent information. device.sua is considered the more accurate representation of the device attributes.
| Attribute | Description |
|---|
| browsers | Send brands and versions derived from the Sec-CH-UA-Full-Version-List header. (Array of BrandVersion objects) |
| platform | 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 | Derive this value from the Sec-CH-UA-Mobile header. (integer) |
| architecture | Retrieve this value from the Sec-CH-UA-Arch header. (string) |
| bitness | Retrieve this value from the Sec-CH-UA-Bitness header. (string) |
| model | Retrieve this value from the Sec-CH-UA-Model header. (string) |
| source | The source of data used to create this object, List: User-Agent Source in AdCOM 1.0 (integer; default 0) |
| Attribute | Description |
|---|
| brand | 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 | A sequence of version components, in descending hierarchical order [major, minor, micro, …] (array of string) |
user
| Attribute | Description |
|---|
| id | Unique user ID (string) |
user.ext
| Attribute | Description |
|---|
| consent | This is the consent string required by the IAB standards. Negative consent only for now (string) |
regs
| Attribute | Description |
|---|
| ext | Placeholder for exchange-specific extensions to OpenRTB. |
regs.ext
| Attribute | Description |
|---|
| 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 within ExoClick's ad formats (e.g: video_slider) |