Documentation

Documentation

  • General
  • Advertisers
  • Publishers
  • RTB
  • API
  • News

›Open RTB

Advertisers

  • Advertisers RTB Overview
  • Ad Exchange Partners
  • Integrating Advertising Demand
  • Open RTB

    • Open RTB Integration
    • Open RTB 2.4 Bid Request
    • Open RTB 2.4 Bid Response
    • Open RTB 2.5 Bid Request
    • Open RTB 2.5 Bid Response
    • Prebid / OpenRTB 2.5 Bid Request
    • Prebid / OpenRTB 2.5 Bid Response

    EXADS RTB

    • EXADS RTB Integration
    • EXADS RTB Bid Request
    • EXADS RTB Bid Response

Publishers

  • Publishers RTB Overview
  • Ad Exchange Partners
  • Integrating Publishing Supply
  • Open RTB

    • Open RTB Integration
    • Open RTB 2.4 Bid Request
    • Open RTB 2.4 Bid Response
    • Open RTB 2.5 Bid Request
    • Open RTB 2.5 Bid Response
    • Prebid / Open RTB 2.5 Bid Request
    • Prebid / Open RTB 2.5 Bid Response

    EXADS RTB

    • EXADS RTB Integration
    • EXADS RTB Bid Request
    • EXADS RTB Bid Response

IP Networks

  • IP Networks

Open RTB Bid Request Specifications

Bid Request Headers

  • OpenRTB Version HTTP Header: x-openrtb-version: 2.4
  • Keep-Alive HTTP Header: Connection: Keep-Alive
  • Content JSON: Content-Type: application/json
  • Data Encoding Header: Accept-Encoding

Bid Request

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.

 

AttributeDescription
atAuction type, first price = 1 (int)
idUnique bid request ID (string)
impArray of Imp objects representing the impressions offered(object).
siteDetails via a Site object about the publisher’s website(object).
deviceDetails via a Device object about the user’s device to which the impression will be delivered(object).
userDetails via a User object about the human user of the device; the advertising audience(object).
extPlaceholder for extensions to OpenRTB.

 

imp

AttributeDescription
idUnique impression ID within this bid request (string)
bidfloorMinimum bid for this impression expressed in CPM, optional (float)
bidfloorcurCurrency for minimum bid value specified using ISO-4217 alpha codes, optional (string)
nativeA Native object ; required if this impression is offered as a native ad opportunity(object).
bannerA banner object ; required if this impression is offered as a banner ad opportunity(object).
instlAn interstitial object ; required if this impression is offered as an interstitial ad opportunity(object).
secureFlag 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)
elBase64 Encoded Email (string)

 

imp.banner

AttributeDescription
wWidth of the banner in pixels (integer).
hHeight of the banner in pixels (integer).

 

imp.instl

AttributeDescription
instlFlag specifying if ad is popunder/interstitial (integer): 1=true, 0=false

 

imp.native (Native & Push Notifications)

AttributeDescription
requestRequest payload complying with the Native Ad Specification - a JSON encoded string of the Native Ads request including its native top level object (JSON object)
verVersion of the Dynamic Native Ads API to which request complies (string)

 

imp.native.request

AttributeDescription
verVersion of the Native Markup version in use (string)
contextThe context in which the ad appears. In this case it is 1 (Content-centric context such as newsfeed, article, image gallery, video gallery, or similar), optional (integer)
plcmttypeThe design/format/layout of the ad unit being offered. Currently we support 4 (Recommendation widget) and 500 (Push Notification) (integer)
plcmtcntThe number of identical placements in this Layout (integer)
assetsAn array of Asset Objects. Any bid response must comply with the array of elements expressed in the bid request (array of JSON objects)
seq0 for the first ad, 1 for the second ad, and so on. Note this would generally NOT be used in combination with plcmtcnt - either you are auctioning multiple identical placements (in which case plcmtcnt>1, seq=0) or you are holding separate auctions for distinct items in the feed (in which case plcmtcnt=1, seq=>=1)

 

imp.native.request.assets

AttributeDescription
idUnique asset ID, assigned by exchange. Typically a counter for the array (integer)
requiredSet to 1 if asset is required or 0 if asset is optional** (integer)
plcmtcntThe number of identical placements in this Layout (integer)
imgImage object for image assets* (JSON object)
titleTitle object for title assets* (JSON object)
dataData object for brand name, description, ratings, prices etc.* (JSON object)
videoVideo object for video assets. See the Video request object definition. Note that in-stream (ie preroll, etc) video ads are not part of Native. Native ads may contain a video as the ad creative itself(object).

* Only one of the {img, title, data} objects should be present in each asset object

** Assets are flagged as required according to the configuration of the publisher zone where your ad may be displayed

 

imp.native.request.assets.img

AttributeDescription
typeType ID of the image element supported by the publisher. We support: 1 (Icon image) (integer), 3 (Large image preview for the ad) (integer)
wWidth of the image in pixels, optional (integer)
hHeight of the image in pixels, optional (integer)
wminThe minimum requested width of the image in pixels (integer)
hminThe minimum requested height of the image in pixels (integer)

 

imp.native.request.assets.title

AttributeDescription
lenMaximum length of the text in the title element. (integer)

 

imp.native.request.assets.data

AttributeDescription
typeType ID of the element supported by the publisher (integer). We support: 1 (sponsored - Sponsored By message where response should contain the brand name of the sponsor), 2 (desc - Descriptive text associated with the product or service being advertised)
lenMaximum length of the text in the element’s response (integer)

 

imp.native.request.assets.video

AttributeDescription
mimesList of supported mime types (string array)
mindurationMinimum video ad duration in seconds(int).
maxdurationMaximum video ad duration in seconds(int).
protocolsList of supported video bid response protocols (int array)
linearityIndicates if the impression must be linear, nonlinear, etc. (int)
boxingallowedIndicates if letter-boxing of 4:3 content into a 16:9 window is allowed (int)

 

imp.video

AttributeDescription
mimesList of supported mime types (string array)
protocolsList of supported video bid response protocols (int array)
linearityIndicates if the impression must be linear, nonlinear, etc. (int)
boxingallowedIndicates if letter-boxing of 4:3 content into a 16:9 window is allowed (int)
skipIndicates if the player will allow the video to be skipped, where 0 = no, 1 = yes
skipafterNumber of seconds a video must play before skipping is enabled; only applicable if the ad is skippable
skipminVideos of total duration greater than this number of seconds can be skippable; only applicable if the ad is skippable

 

site

AttributeDescription
idUnique Site ID (string)
domainDomain name of the site (string)
catIAB category ID (string array)
pageFull URL of the page where the ad will be shown (string)
keywordsKeywords can be used to ensure ad zones get the right type of advertising. Keywords should be a string of comma-separated words
extPlaceholder for exchange-specific extensions

 

site.ext

AttributeDescription
exchangecatCustom EXADS category ID (integer)
idzoneCustom EXADS Ad Zone ID (integer)
keywordMatching keyword if any (string)

 

device

AttributeDescription
uaBrowser user agent (string)
geoLocation of the device assumed to be the user’s current location defined by a Geo object.
ipIP address of the user (string)*
ipv6IPv6 address of the user (string)*
languageBrowser language using ISO-639-1-alpha-2 (string)
osOperating System (string)
jsSupport for JavaScript, where 0 = no, 1 = yes (integer)
extPlaceholder for exchange-specific extensions to OpenRTB

 

device.geo

AttributeDescription
countryCountry ISO3

 

device.ext

AttributeDescription
remote_addrMain IP address of the user (string)
x_forwarded_forX-FORWARDED-FOR IP address of the user or empty if not set (string)

 

user

AttributeDescription
idUnique user ID (string)

 

ext

AttributeRequired?Description
subNoThe sub will be an integer number representing the ID of the zone where the request was originated from.

 

Examples

Banner

{
    "id": "d4b5c697-41f3-4c1c-a3d5-5fd01b5ef2aa",
    "at":1,
    "imp": [
        {
            "id": "6145298465",
            "instl": 0,
            "banner": {
                "w": 300,
                "h": 250
            },
            "bidfloor": 0.5,
            "bidfloorcur": "USD",
            "secure": 1
        }
    ],
    "site": {
        "id": "12345",
        "domain": "sitedomain.com",
        "cat": ["IAB25-3"],
        "page": "https://sitedomain.com/page",
        "ext": {
            "exchangecat": 508,
            "idzone": 445566
        }
    },
    "device": {
        "ua": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.63 Safari/537.36",
        "ip": "131.34.123.159",
        "geo": {
            "country": "IRL"
        },
        "language": "en",
        "os": "Linux & UNIX",
        "js": 0,
        "ext": {
            "remote_addr": "131.34.123.159",
            "x_forwarded_for": "",
            "accept_language": "en-GB;q=0.8,pt-PT;q=0.6,en;q=0.4,en-US;q=0.2,de;q=0.2,es;q=0.2,fr;q=0.2"
        }
    },
    "user": {
        "id": "57592f333f8983.043587162282415065"
    },
    "ext": {
        "sub": 445566
    }
}

 

Banner Bid Request Structure

  • imp
    • imp.banner
  • site
    • site.ext
  • device
    • device.geo
    • device.ext
  • user

 

Direct Links

JSON

{
    "id": "d4b5c697-41f3-4c1c-a3d5-5fd01b5ef2aa",
    "imp": [
        {
            "id": "974090632",
            "instl": 0,
            "el": "dGVzdGVAZW1haWwuY29t"
        }
    ],
    "site": {
        "id": "12345",
        "domain": "sitedomain.com",
        "cat": ["IAB25-3"],
        "page": "https://sitedomain.com/page",
        "ext": {
            "exchangecat": 508,
            "idzone": 445566
        }
    },
    "device": {
        "ua": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.63 Safari/537.36",
        "ip": "192.168.1.70",
        "geo": {
            "country": "PRT"
        },
        "language": "en",
        "os": "Linux & UNIX",
        "js": 0,
        "ext": {
            "remote_addr": "192.168.1.70",
            "x_forwarded_for": "192.168.1.70"
        }
    },
    "user": {
        "id": "57592f333f8983.043587162282415065"
    },
    "ext": {
        "sub": 445566
    }    
}

 

Direct Links Bid Request Structure

  • imp
    • imp.instl
  • site
    • site.ext
  • device
    • device.geo
    • device.ext
  • user

 

Email Clicks

JSON

{
    "id": "d4b5c697-41f3-4c1c-a3d5-5fd01b5ef2aa",
    "imp": [
        {
            "id": "974090632",
            "instl": 0,
            "el": "dGVzdGVAZW1haWwuY29t"
        }
    ],
    "site": {
        "id": "12345",
        "domain": "sitedomain.com",
        "cat": ["IAB25-3"],
        "page": "https://sitedomain.com/page",
        "ext": {
            "exchangecat": 508,
            "idzone": 445566
        }
    },
    "device": {
        "ua": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.63 Safari/537.36",
        "ip": "192.168.1.70",
        "geo": {
            "country": "PRT"
        },
        "language": "en",
        "os": "Linux & UNIX",
        "js": 0,
        "ext": {
            "remote_addr": "192.168.1.70",
            "x_forwarded_for": "192.168.1.70"
        }
    },
    "user": {
        "id": "57592f333f8983.043587162282415065"
    },
    "ext": {
        "sub": 445566
    }    
}

 

Email Clicks Bid Request Structure

  • imp
    • imp.instl
  • site
    • site.ext
  • device
    • device.geo
    • device.ext
  • user

 

Fullpage Interstitial (Mobile and Desktop)

{
    "id": "d4b5c697-41f3-4c1c-a3d5-5fd01b5ef2aa",
    "at":1,
    "imp": [
        {
            "id": "974090632",
            "instl": 1
        }
    ],
    "site": {
        "id": "12345",
        "domain": "sitedomain.com",
        "cat": ["IAB25-3"],
        "page": "https://sitedomain.com/page",
        "ext": {
            "exchangecat": 508,
            "idzone": 445566
        }
    },
    "device": {
        "ua": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.63 Safari/537.36",
        "ip": "120.52.73.97",
        "geo": {
            "country": "IRL"
        },
        "language": "en",
        "os": "Linux & UNIX",
        "js": 0,
        "ext": {
            "remote_addr": "131.34.123.159",
            "x_forwarded_for": "120.52.73.97"
        }
    },
    "user": {
        "id": "57592f333f8983.043587162282415065"
    },
    "ext": {
        "sub": 445566
    }
}

 

Fullpage Interstitial (Mobile and Desktop) Bid Request Structure

  • imp
    • imp.instl
  • site
    • site.ext
  • device
    • device.geo
    • device.ext
  • user

 

In-Stream

{
    "id": "d4b5c697-41f3-4c1c-a3d5-5fd01b5ef2aa",
    "at":1,
    "imp": [
        {
            "id": "43389012",
            "video": {
                "skip": 1,
                "skipafter":"5",
                "skipmin":25,
                "mimes": [
                    "video/mp4"
                ],
                "protocols": [
                    3,
                    6
                ],
                "linearity": 1,
                "boxingallowed": 1
            },
            "bidfloor": 0.5,
            "bidfloorcur": "USD",
            "secure": 1
        }
    ],
    "site": {
        "id": "12345",
        "domain": "sitedomain.com",
        "cat": ["IAB25-3"],
        "page": "https://sitedomain.com/page",
        "ext": {
            "exchangecat": 508,
            "idzone": 445566
        }
    },
    "device": {
        "ua": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.63 Safari/537.36",
        "ip": "131.34.123.159",
        "geo": {
            "country": "IRL"
        },
        "language": "en",
        "os": "Linux & UNIX",
        "js": 0,
        "ext": {
            "remote_addr": "131.34.123.159",
            "x_forwarded_for": "",
            "accept_language": "en-GB;q=0.8,pt-PT;q=0.6,en;q=0.4,en-US;q=0.2,de;q=0.2,es;q=0.2,fr;q=0.2"
        }
    },
    "user": {
        "id": "57592f333f8983.043587162282415065"
    },
    "ext": {
        "sub": 445566
    }
}

 

In-Stream Bid Request Structure

  • imp
    • imp.video
  • site
    • site.ext
  • device
    • device.geo
    • device.ext
  • user

 

Native

{
    "id": "d4b5c697-41f3-4c1c-a3d5-5fd01b5ef2aa",
    "at":1,
    "imp": [
        {
            "id": "90180978",
            "native": {
                "request":"{\"native\":{\"ver\":\"1.2\",\"context\":1,\"plcmttype\":4,\"plcmtcnt\":5,\"assets\":[{\"id\":1,\"required\":1,\"img\":{\"type\":3,\"wmin\":100,\"hmin\":100}},{\"id\":2,\"required\":1,\"title\":{\"len\":60}},{\"id\":3,\"required\":1,\"data\":{\"type\":2,\"len\":110}},{\"id\":4,\"required\":1,\"data\":{\"type\":1,\"len\":110}}]}}",
                "ver": "1.2"
            },
            "secure": 1
        }
    ],
    "site": {
        "id": "12345",
        "domain": "sitedomain.com",
        "cat": ["IAB25-3"],
        "page": "https://sitedomain.com/page",
        "ext": {
            "exchangecat": 508,
            "idzone": 445566
        }
    },
    "device": {
        "ua": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.63 Safari/537.36",
        "ip": "131.34.123.159",
        "geo": {
            "country": "IRL"
        },
        "language": "en",
        "os": "Linux & UNIX",
        "js": 0,
        "ext": {
            "remote_addr": "131.34.123.159",
            "x_forwarded_for": "",
            "accept_language": "en-GB;q=0.8,pt-PT;q=0.6,en;q=0.4,en-US;q=0.2,de;q=0.2,es;q=0.2,fr;q=0.2"
        }
    },
    "user": {
        "id": "57592f333f8983.043587162282415065"
    },
    "ext": {
        "sub": 445566
    }
}

 

Native Bid Request Structure

  • imp
    • imp.native
      • imp.native.request
        • imp.native.request.assets
          • imp.native.request.assets.img
          • imp.native.request.assets.title
          • imp.native.request.assets.data
          • imp.native.request.assets.video
  • site
    • site.ext
  • device
    • device.geo
    • device.ext
  • user

 

Popunder

{
    "id": "d4b5c697-41f3-4c1c-a3d5-5fd01b5ef2aa",
    "at":1,
    "imp": [
        {
            "id": "974090632",
            "instl": 1,
            "bidfloor": 0.5,
            "bidfloorcur": "USD",
            "secure": 1
        }
    ],
    "site": {
        "id": "12345",
        "domain": "sitedomain.com",
        "cat": ["IAB25-3"],
        "page": "https://sitedomain.com/page",
        "ext": {
            "exchangecat": 508,
            "idzone": 445566
        }
    },
    "device": {
        "ua": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.63 Safari/537.36",
        "ip": "120.52.73.97",
        "geo": {
            "country": "IRL"
        },
        "language": "en",
        "os": "Linux & UNIX",
        "js": 0,
        "ext": {
            "remote_addr": "131.34.123.159",
            "x_forwarded_for": "120.52.73.97",
            "accept_language": "en-GB;q=0.8,pt-PT;q=0.6,en;q=0.4,en-US;q=0.2,de;q=0.2,es;q=0.2,fr;q=0.2"
        }
    },
    "user": {
        "id": "57592f333f8983.043587162282415065"
    },
    "ext": {
        "sub": 445566
    }
}

 

Popunder Bid Request Structure

  • imp
    • imp.instl
  • site
    • site.ext
  • device
    • device.geo
    • device.ext
  • user

 

Push Notifications - 720 x 480

{
    "id": "d4b5c697-41f3-4c1c-a3d5-5fd01b5ef2aa",
    "at":1,
    "imp": [
        {
            "id": "90180978",
            "native": {
                "request":"{\"native\":{\"ver\":\"1.2\",\"plcmttype\":500,\"plcmtcnt\":1,\"assets\":[{\"id\":1,\"required\":1,\"img\":{\"type\":1,\"w\":720,\"h\":480,\"wmin\":720,\"hmin\":480}},{\"id\":2,\"required\":1,\"title\":{\"len\":60}},{\"id\":3,\"required\":1,\"data\":{\"type\":2,\"len\":110}}]}}",
                "ver": "1.2"
            },
            "secure": 1
        }
    ],
    "site": {
        "id": "12345",
        "domain": "sitedomain.com",
        "cat": ["IAB25-3"],
        "page": "https://sitedomain.com/page",
        "ext": {
            "exchangecat": 508,
            "idzone": 445566
        }
    },
    "device": {
        "ua": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.63 Safari/537.36",
        "ip": "131.34.123.159",
        "geo": {
            "country": "IRL"
        },
        "language": "en",
        "os": "Linux & UNIX",
        "js": 0,
        "ext": {
            "remote_addr": "131.34.123.159",
            "x_forwarded_for": "",
            "accept_language": "en-GB;q=0.8,pt-PT;q=0.6,en;q=0.4,en-US;q=0.2,de;q=0.2,es;q=0.2,fr;q=0.2"
        }
    },
    "user": {
        "id": "57592f333f8983.043587162282415065"
    },
    "ext": {
        "sub": 445566
    }
}

 

Push Notifications 720x480 Bid Request Structure

  • imp
    • imp.native
      • imp.native.request
        • imp.native.request.assets
          • imp.native.request.assets.img
          • imp.native.request.assets.title
          • imp.native.request.assets.data
          • imp.native.request.assets.video
  • site
    • site.ext
  • device
    • device.geo
    • device.ext
  • user

 

Push Notifications - 192 x 192

{
    "id": "d4b5c697-41f3-4c1c-a3d5-5fd01b5ef2aa",
    "at":1,
    "imp": [
        {
            "id": "90180978",
            "native": {
                "request":"{\"native\":{\"ver\":\"1.2\",\"plcmttype\":500,\"plcmtcnt\":1,\"assets\":[{\"id\":1,\"required\":1,\"img\":{\"type\":1,\"w\":192,\"h\":192,\"wmin\":192,\"hmin\":192}},{\"id\":2,\"required\":1,\"title\":{\"len\":60}},{\"id\":3,\"required\":1,\"data\":{\"type\":2,\"len\":110}}]}}",
                "ver": "1.2"
            },
            "secure": 1
        }
    ],
    "site": {
        "id": "12345",
        "domain": "sitedomain.com",
        "cat": ["IAB25-3"],
        "page": "https://sitedomain.com/page",
        "ext": {
            "exchangecat": 508,
            "idzone": 445566
        }
    },
    "device": {
        "ua": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.63 Safari/537.36",
        "ip": "131.34.123.159",
        "geo": {
            "country": "IRL"
        },
        "language": "en",
        "os": "Linux & UNIX",
        "js": 0,
        "ext": {
            "remote_addr": "131.34.123.159",
            "x_forwarded_for": "",
            "accept_language": "en-GB;q=0.8,pt-PT;q=0.6,en;q=0.4,en-US;q=0.2,de;q=0.2,es;q=0.2,fr;q=0.2"
        }
    },
    "user": {
        "id": "57592f333f8983.043587162282415065"
    },
    "ext": {
        "sub": 445566
    }
}

 

Push Notifications - 192 x 192 Bid Request Structure

  • imp
    • imp.native
      • imp.native.request
        • imp.native.request.assets
          • imp.native.request.assets.img
          • imp.native.request.assets.title
          • imp.native.request.assets.data
          • imp.native.request.assets.video
  • site
    • site.ext
  • device
    • device.geo
    • device.ext
  • user

 

← Open RTB IntegrationOpen RTB 2.4 Bid Response →
  • Bid Request Headers
  • Bid Request
  • imp
    • imp.banner
    • imp.instl
    • imp.native (Native & Push Notifications)
    • imp.native.request
    • imp.native.request.assets
    • imp.native.request.assets.img
    • imp.native.request.assets.title
    • imp.native.request.assets.data
    • imp.native.request.assets.video
    • imp.video
  • site
    • site.ext
  • device
    • device.geo
    • device.ext
  • user
  • ext
  • Examples
    • Banner
    • Direct Links
    • Email Clicks
    • Fullpage Interstitial (Mobile and Desktop)
    • In-Stream
    • Native
    • Popunder
    • Push Notifications - 720 x 480
    • Push Notifications - 192 x 192
Documentation
Community
Github
Useful Links
EXADS
Copyright © 2025 EXADS