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

# EXADS RTB Bid Request Specifications

***

{% hint style="info" %}
**Note**: The EXADS RTB Bid Request is done using JSON for POST.
{% endhint %}

***

## Bid Request Headers <a href="#bid-request-headers" id="bid-request-headers"></a>

* EXADS RTB Version HTTP Header: x-exadsrtb-version: 1.0
* Keep-Alive HTTP Header: Connection: Keep-Alive
* Content JSON: Content-Type: application/json
* Data Encoding Header: Accept-Encoding

## Bid Request Object <a href="#bid-request-object" id="bid-request-object"></a>

EXADS allows one HTTP method for requests: POST.

When requesting bids for a specific context, the platform performs an HTTP request with a timeout of **300ms**. It sends the following object encoded as JSON in the request body as POST:

| Attribute         | Description                                                                                             |
| ----------------- | ------------------------------------------------------------------------------------------------------- |
| id                | Unique bid request ID (string)\*                                                                        |
| ip                | IP address of the user (string)\*                                                                       |
| language          | Browser language using ISO-639-1-alpha-2 (string)\*                                                     |
| 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)                                     |
| type              | Request type. Can be "banner", "popunder" or "push\_notification" (string)\*                            |
| ua                | Browser user agent (string)\*                                                                           |
| url               | Full URL of the page where the ad will be shown (string)\*                                              |
| user\_id          | Unique user ID (string)\*                                                                               |
| export            | Response type. Can be "json" or "xml" (string)\*                                                        |
| keyword           | keyword (string)                                                                                        |
| size              | Publisher ad type size (string)\*\*                                                                     |
| sub               | The sub will be an integer number representing the ID of the zone where the request was originated from |

\* mandatory fields\
\*\* mandatory only for type banner

## Bid Request POST: JSON <a href="#bid-request-post-json" id="bid-request-post-json"></a>

***

**Note**: EXADS POST Bid requests are done using JSON only, so there are no XML examples below.

***

### Banner: JSON <a href="#banner-json" id="banner-json"></a>

```json
{
    "id": "d4b5c697-41f3-4c1c-a3d5-5fd01b5ef2aa",
    "ip": "131.34.123.159",
    "language": "en",
    "type": "banner",
    "remote_addr": "131.34.123.159",
    "x_forwarded_for": "",
    "ua": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36",
    "url": "https://sitedomain.com/page",
    "user_id": "57592f333f8983.043587162282415065",
    "export": "json",
    "keyword": "Lifestyle",
    "size": "300x250",
    "sub": 445566
}
```

### Popunder: JSON <a href="#popunder-json" id="popunder-json"></a>

```json
{
    "id": "d4b5c697-41f3-4c1c-a3d5-5fd01b5ef2aa",
    "ip": "131.34.123.159",
    "language": "en",
    "type": "popunder",
    "remote_addr": "131.34.123.159",
    "x_forwarded_for": "120.52.73.97",
    "ua": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36",
    "url": "https://sitedomain.com/page",
    "user_id": "57592f333f8983.043587162282415065",
    "export": "json",
    "keyword": "Lifestyle",
    "sub": 445566
}
```

### Push Notifications 720x480: JSON <a href="#push-notifications-720x480-json" id="push-notifications-720x480-json"></a>

```json
{
    "id": "d4b5c697-41f3-4c1c-a3d5-5fd01b5ef2aa",
    "ip": "131.34.123.159",
    "language": "en",
    "type": "push_notification",
    "remote_addr": "131.34.123.159",
    "x_forwarded_for": "120.52.73.97",
    "ua": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36",
    "url": "https://sitedomain.com/page",
    "user_id": "57592f333f8983.043587162282415065",
    "export": "json",
    "keyword": "Lifestyle",
    "size": "720x480",
    "sub": 445566
}
```

### Push Notifications 192 x 192: JSON <a href="#push-notifications-192-x-192-json" id="push-notifications-192-x-192-json"></a>

Here size parameter may be omitted. It will just be assumed as 192x192 by default for backwards compatibility.

```json
{
    "id": "d4b5c697-41f3-4c1c-a3d5-5fd01b5ef2aa",
    "ip": "131.34.123.159",
    "language": "en",
    "type": "push_notification",
    "remote_addr": "131.34.123.159",
    "x_forwarded_for": "120.52.73.97",
    "ua": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36",
    "url": "https://sitedomain.com/page",
    "user_id": "57592f333f8983.043587162282415065",
    "export": "json",
    "keyword": "Lifestyle",
    "size": "192x192",
    "sub": 445566
}
```


---

# 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.exads.com/rtb/advertisers/exads-rtb/exads-rtb-advertisers-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.
