> For the complete documentation index, see [llms.txt](https://docs.exoclick.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.exoclick.com/rtb/advertisers/open-rtb/adv-open-rtb-2.5-request.md).

# Open RTB 2.5 Bid Request

This page describes the different components of the RTB requests you will receive in order to bid.

## 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 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](https://github.com/InteractiveAdvertisingBureau/AdCOM/blob/master/AdCOM%20v1.0%20FINAL.md#list--user-agent-source-) in AdCOM 1.0 (integer; default 0) |

### device.sua.browsers | device.sua.platform

| 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) |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.exoclick.com/rtb/advertisers/open-rtb/adv-open-rtb-2.5-request.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
