Link Search Menu Expand Document

PDF

Examples

Demand Partners

Last updated on September 11, 2019


This page contains the following OpenRTB bid request and response samples.


on this page

For additional information, see IAB’s OpenRTB 2.5 specification.


Display Examples

Last updated on September 10, 2018

This section contains request and response examples for display.

BidRequest example


The following example bid request for a web-based display includes required and optional fields.

{
    "id" : "eb85349d-03c3-44f4-a77b-824f7221d116",
    "imp": [
        {
        "id": "1",
        "banner": {
            "h": 250,
            "w": 300,
            "battr": [2,3],
            "btype": [1,3]
            }
        }
    ],
    "site": {
        "id": "102855",
        "name": "Example Site Name",
        "domain": "http://www.example.com",
        "cat" : [ "IAB15", "IAB15-10" ],
        "page": "http://easy.example.com/easy?cu=13824;cre=mu;target=_blank",
        "ref" : "http://refer+url",
        "publisher": {
            "id": "qqwer1234xgfd",
            "name": "site_name",
            "domain": "my.site.com"
        }
    },
    "device": {
        "ua": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.13  (KHTML, like Gecko) Version/5.1.7 Safari/534.57.2",
        "ip": "192.168.5.5",
        "geo": {
            "lat": 37.789,
            "lon": -122.394,
            "country": "USA",
            "city": "San Francisco",
            "region": "CA",
            "zip" : "94105",
            "type": 2
        }
    },
    "user": {
        "buyeruid" : "89776897686798fwe87rtryt8976fsd7869678",
        "id": "55816b39711f9b5acf3b90e313ed29e51665623f",
        "gender": "M",
        "yob": 1975,
        "data": [{
            "id": "pub-demographics",
            "name": "data_name",
            "segment": [{
                "id" : "345qw245wfrtgwertrt56765wert",
                "name" : "segment_name",
                "value": "segment_value"
            }]
        }]
    }
}


BidResponse example


The following sample bid response for web-based display contains a single SeatBid object.

{
    "id": "eb85349d-03c3-44f4-a77b-824f7221d116",
    "seatbid": [{
        "bid": [{
            "id": "bid1",
            "impid": "eb85349d-03c3-44f4-a77b-824f7221d116",
            "price": 0.1,
            "adm": "<div>Ad Creative</div>",
            "adomain": [
                "http://www.example.com/clickthrough"
            ],
            "crid": "crid_value",
            "nurl": "http://example.com/winnotice?impid={AUCTION_IMP_ID}&auction=${AUCTION_ID}&price=${AUCTION_PRICE}&bidid=${AUCTON_BID_ID}&bidcur=${AUCTION_CURRENCY}",
            "ext": {
                "brand_id": "brand_val",
                "buyer_id": "buyer_val",
            }
        }]
    }]
}
{
    "id": "eb85349d-03c3-44f4-a77b-824f7221d116",
    "seatbid": [{
        "bid": [{
            "id": "32a69c6ba388f110487f9d1e63f77b22d86e916b",
            "impid": "eb85349d-03c3-44f4-a77b-824f7221d116",
            "price": 0.60000,
            "adid": "529833ce55314b19e8796116",
            "nurl": "http://example.com/win/529833ce55314b19e8796116?won=${AUCTION_PRICE}&impid={AUCTION_IMP_ID}&auction=${AUCTION_ID}&bidid=${AUCTON_BID_ID}",
            "adm": "<iframe src=\"http://example.com/render/529833ce55314b19e8796116\" width=\"300\" height=\"250\" frameborder=\"0\" scrolling=\"no\" marginheight=\"0\" marginwidth=\"0\" topmargin=\"0\" leftmargin=\"0\"></iframe>",
            "adomain": [
                "openx.ads.com"
            ],
            "cid": "529833ce55314b19e8796116",
            "crid": "529833ce55314b19e8796116_1385706446"
        }],
        "seat": "772"
    }],
    "cur": "USD"
}
FieldDescription
admAd markup field.
adomainA list of click-through URLs.
bidAn array in the SeatBid object that must contain at least one Bid object.
extA field in the Bid object that can contain the brand_id and buyer_id fields.
impidA field in the Bid object that must match the id field in the Imp object.
priceThe CPM bid price in the currency that the bidder has configured in Ad Exchange.
nurlNotice URL, which is called by the exchange if the bid wins.
seatbidAn array that must contain a single SeatBid object.
NOTE

Your bidding application must return a valid response even if you do not want to place a bid. For example, you can return a 204 No Content or a 200 OK response with an empty body, which is treated as a bid of 0.


Mobile Examples

Last updated on January 23, 2018

This section contains request and response examples for mobile banner and mobile interstitial.

NOTE

Your bidding application must return a valid response even if you do not want to place a bid. For example, you can return a 204 No Content or a 200 OK response with an empty body, which is treated as a bid of 0.


Mobile banner

The request and response below are mobile banner examples.

BidRequest example


The following bid request is a mobile banner example. To accurately represent a mobile banner bid request, it includes Banner, App, and Device objects.

{
    "ext": {
        "pchain": "6a123e2ec45678c6:538995987"
    },
    "source": {
        "pchain": "6a123e2ec45678c6:538995987",
        "fd": 1
    },
    "cur": ["USD"],
    "imp": [{
        "banner": {
            "ext": {
                "matching_ad_id": [{
                    "ad_width": 320,
                    "ad_height": 50,
                    "creative_id": 538123456,
                    "placement_id": 537789987,
                    "campaign_id": 537124578
                }]
            },
            "format": [{
                "w": 320,
                "h": 50
            }],
            "h": 50,
            "w": 320,
            "topframe": 1,
            "battr": [1, 2, 3, 6, 7, 8, 9, 17],
            "btype": [1, 4]
        },
        "id": "1",
        "exp": 300,
        "secure": 0,
        "instl": 0
    }],
    "at": 2,
    "id": "0abcf7cf-108c-4051-def7-49e3b9f9gh99",
    "regs": {
        "ext": {
            "sb568": 0
        },
        "coppa": 0
    },
    "bcat": ["108", "98", "IAB25", "IAB25-1", "IAB25-2", "IAB25-3", "IAB25-4", "IAB25-5", "IAB25-6", "IAB25-7", "IAB26", "IAB26-1", "IAB26-2", "IAB26-3", "IAB26-4", "OX-108", "OX-98"],
    "test": 0,
    "device": {
        "ext": {
            "language": ["en"],
            "browser_version": "61",
            "browser": "Chrome"
        },
        "dpidmd5": "05CC972FF8E2F9EF2D1B914CD0DC0C89",
        "dpidsha1": "98945FBDC53472CDDA5E15BBFECE3560D026ED11",
        "ifa": "7a123a2b-ef45-4b78-ac99-f3e94ab0d556",
        "connectiontype": 0,
        "carrier": "Frontier Communications",
        "language": "en",
        "js": 1,
        "w": 1440,
        "h": 2560,
        "osv": "6",
        "os": "Android",
        "model": "SM-G928V",
        "make": "Samsung",
        "devicetype": 4,
        "ip": "50.50.144.251",
        "lmt": 0,
        "dnt": 0,
        "geo": {
            "ext": {
                "dma": 617,
                "continent": "north america"
            },
            "zip": "53075",
            "city": "random lake",
            "metro": "617",
            "region": "WI",
            "country": "USA",
            "type": 2,
            "lon": -88.0105,
            "lat": 43.5717
        },
        "ua": "Mozilla/5.0 (Linux; Android 6.0.1; SM-G928V Build/MMB29K; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/61.0.3163.98 Mobile Safari/537.36"
    },
    "user": {
        "id": "55816b39711f9b5acf3b90e313ed29e51665623f",
        "yob": 1984,
        "gender": "M"
    },
    "app": {
        "content": {
            "userrating": "4.5"
        },
        "publisher": {
            "id": "538987123"
        },
        "cat": ["IAB19", "IAB3"],
        "storeurl": "https://play.google.com/store/apps/details?id=yourapp",
        "domain": "yourapp.com",
        "name": "YourApp",
        "bundle": "com.yourapp.bundle",
        "id": "539321789"
    }
}


To learn more about the objects in this request, see:

BidResponse example


The following bid response contains a single SeatBid object. The Bid object includes the bundle field, which is required for app. Bid responses for banner also contain the h and w fields. The adm field supports the use of macros. The example below shows the ${AUCTION_PRICE:OXCRYPT} and {clickurl_enc} macros.

{
    "id": "0abcf7cf-108c-4051-def7-49e3b9f9gh99",
    "bidid": "78e6c6fe067a5e345b6d9325dd0d9c99",
    "seatbid": [{
        "bid": [{
            "id": "78e6c6fe067a5e345b6d9325dd0d9c99",
            "impid": "1",
            "adomain": ["advertiserdomain.com"],
            "price": 0.19,
            "bundle": "com.yourapp.bundle",
            "adm": "<img src=\"http://imagename.location.com\"/><img src=\"https://adserver1.com/impressionnotice?impid=1&winning_price=${AUCTION_PRICE:OXCRYPT}&click={clickurl_enc}\"/>",
            "crid": "3000567",
            "w": 300,
            "h": 250
            "ext": {
                "brand_id": "brand_0",
                "buyer_id": "buyer_0"
            }
        }]
    }]
}

Mobile interstitial

The request and response below are mobile interstitial examples.

BidRequest example


The following bid request is a mobile interstitial example. To accurately represent a mobile interstitial bid request, it includes App and Device objects and the instl field in the Imp object.

{
    "ext": {
        "pchain": "6a123e2ec45678c6:538995987"
    },
    "source": {
        "pchain": "6a123e2ec45678c6:538995987",
        "fd": 1
    },
    "cur": ["USD"],
    "imp": [{
        "id": "1",
        "exp": 300,
        "secure": 0,
        "instl": 1
    }],
    "at": 2,
    "id": "0abcf7cf-108c-4051-def7-49e3b9f9gh99",
    "regs": {
        "ext": {
            "sb568": 0
        },
        "coppa": 0
    },
    "bcat": ["108", "98", "IAB25", "IAB25-1", "IAB25-2", "IAB25-3", "IAB25-4", "IAB25-5", "IAB25-6", "IAB25-7", "IAB26", "IAB26-1", "IAB26-2", "IAB26-3", "IAB26-4", "OX-108", "OX-98"],
    "test": 0,
    "device": {
        "ext": {
            "language": ["en"],
            "browser_version": "61",
            "browser": "Chrome"
        },
        "dpidmd5": "05CC972FF8E2F9EF2D1B914CD0DC0C89",
        "dpidsha1": "98945FBDC53472CDDA5E15BBFECE3560D026ED11",
        "ifa": "7a123a2b-ef45-4b78-ac99-f3e94ab0d556",
        "connectiontype": 0,
        "carrier": "Frontier Communications",
        "language": "en",
        "js": 1,
        "w": 1440,
        "h": 2560,
        "osv": "6",
        "os": "Android",
        "model": "SM-G928V",
        "make": "Samsung",
        "devicetype": 4,
        "ip": "50.50.144.251",
        "lmt": 0,
        "dnt": 0,
        "geo": {
            "ext": {
                "dma": 617,
                "continent": "north america"
            },
            "zip": "53075",
            "city": "random lake",
            "metro": "617",
            "region": "WI",
            "country": "USA",
            "type": 2,
            "lon": -88.0105,
            "lat": 43.5717
        },
        "ua": "Mozilla/5.0 (Linux; Android 6.0.1; SM-G928V Build/MMB29K; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/61.0.3163.98 Mobile Safari/537.36"
    },
    "user": {
        "id": "55816b39711f9b5acf3b90e313ed29e51665623f",
        "yob": 1984,
        "gender": "M"
    },
    "app": {
        "content": {
            "userrating": "4.5"
        },
        "publisher": {
            "id": "538987123"
        },
        "cat": ["IAB19", "IAB3"],
        "storeurl": "https://play.google.com/store/apps/details?id=yourapp",
        "domain": "yourapp.com",
        "name": "YourApp",
        "bundle": "com.yourapp.bundle",
        "id": "539321789"
    }
}


To learn more about the objects in this request, see:

BidResponse example


The following bid response contains a single SeatBid object. The Bid object includes the bundle field, which is required for app. This example also differs from the banner bid response in that it includes the imptrackers field.

If you are currently placing an impression tracking URL in the adm field but need to use imptrackers to reduce discrepancies for pre-rendered content, you should stop placing the impression tracking URL in adm and move it to imptrackers. If you aren’t currently placing an impression tracking URL in adm, you don’t need to make any changes. Additionally, the imptrackers field supports the use of macros. The example below shows the ${AUCTION_PRICE:OXCRYPT} and {clickurl_enc} macros.

{
    "id": "0abcf7cf-108c-4051-def7-49e3b9f9gh99",
    "bidid": "78e6c6fe067a5e345b6d9325dd0d9c99",
    "seatbid": [{
        "bid": [{
            "id": "78e6c6fe067a5e345b6d9325dd0d9c99",
            "impid": "1",
            "adomain": ["advertiserdomain.com"],
            "price": 0.19,
            "bundle": "com.yourapp.bundle",
            "adm": "<img src=\"http://imagename.location.com\"/>",
            "crid": "3000567",
            "ext": {
                "brand_id": "brand_0",
                "buyer_id": "buyer_0",
                "imptrackers": "https://adserver1.com/impressionnotice?winning_price=${AUCTION_PRICE:OXCRYPT}&click={clickurl_enc}"
            }
        }]
    }]
}

PMP Examples

Last updated on September 10, 2018

The following is a PMP bid request sample and its corresponding response sample. See also the PMP bid request object and deal bid request object.

BidRequest example
{
    "id": "29677753-3427-48b4-f6c2-6af1735d595e",
    "imp": [
        {
            "id": "1",
            "banner": {
                "h": 600,
                "w": 160
            },
            "pmp": {
                "private_auction": 1,
                "deals": [{
                    "id": "DEAL-ID_VAL",
                    "at": 2
            }]
            }
    }],
    "user": {
        "buyeruid": "89776897686798fwe878976sdfgfdgfsd7869678",
        "id": "55816b39711f9b5acf3b90e313ed29e51665623f",
        "gender": "M",
        "yob": 1975,
        "data": [{
            "id": "12qwer34134kjjkklj",
            "name": "data_name",
            "segment": [{
                "id" : "345qw245wfrtgwertrt56765wert",
                "name" : "segment_name",
                "value": "segment_value"
            }]
        }]
    },
    "device": {
        "dnt": 0,
        "dpimd5": "aasdfadsfwerqewr234",
        "dpidsha1" : "asdfasdfwererr",
        "macsha1": "asdf2345562ds",
        "macmd5" : "asdfaxcv2345243",
        "ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 7_0_4 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11B554a Safari/9537.53",
        "ip": "208.113.83.165",
        "geo": {
            "lat": 37.789,
            "lon": -122.394,
            "country": "USA",
            "city": "San Francisco",
            "region": "CA",
            "zip" : "94105",
            "type": 2
        },
        "ifa": "asdfdfwerasd2454",
        "carrier" : "310-560",
        "language": "en",
        "make" : "Apple",
        "model": "iPhone",
        "os" : "iOS",
        "osv": "7",
        "connectiontype": 0,
        "devicetype": 1
    },
    "site": {
        "id": "102855",
        "name": "some site name",
        "domain": "http://www.example.com",
        "cat" : "IAB3-1",
        "page": "http://easy.example.com/easycu=13824;cre=mu;target=_blank",
        "ref" : "http://refer+url",
        "publisher": {
            "id": "qqwer1234xgfd",
            "name": "example.com",
            "domain": "example.com"
        }
    }
}


BidResponse example
{
    "id": "29677753-3427-48b4-f6c2-6af1735d595e",
    "seatbid" : [{
         "bid": [{
            "id": "bid1",
            "impid": "29677753-3427-48b4-f6c2-6af1735d595e",
            "dealid": "DEAL-ID_VAL",
            "price": 2.0,
            "crid": "crid_val",
            "adm" : "<div>Ad Creative<img src=\"http://example.com/myid/{winning_price}\" /></div>",
            "adomain": [           
                "http://www.bidder.com/clickthrough"
             ],
             "nurl": "http://example.com/winnoticeimpid=${AUCTION_IMP_ID}&auction=${AUCTION_ID}&price=${AUCTION_PRICE}&bidid=${AUCTION_BID_ID}",
             "ext" :{
                "brand_id": "brand_val",
                "buyer_id": "buyer_val"
             }
        }]
    }]
}

Video Examples

Last updated on September 10, 2018

This section contains example bid requests and responses for Video for app and Video for web. Your bidding application must return a valid response even if you do not want to place a bid. For example, you can return a 204 No Content or a 200 OK response with an empty body, which is treated as a bid of zero.


Video for app

The following are examples of video for app bid request and response.

BidRequest example
{  
   "cur":[  
      "USD"
   ],
   "user":{  
      "buyeruid":"10122207083844998976_3947320803332958639",
      "id":"b8def323-f4af-6088-40a6-fa27b815425a"
   },
   "imp":[  
      {  
         "video":{  
            "ext":{  
               "bcont":[  
                  1,
                  8,
                  15
               ],
               "matching_ad_id":[  
                  {  
                     "ad_width":480,
                     "ad_height":320,
                     "creative_id":538296321,
                     "placement_id":123719133,
                     "campaign_id":537123013
                  }
               ]
            },
            "h":320,
            "w":480,
            "api":2,
            "delivery":[  
               2
            ],
            "playbackmethod":[  
               2,
               1,
               3
            ],
            "battr":[  
               1,
               2,
               6,
               7
            ],
            "linearity":1,
            "startdelay":0,
            "protocols":[  
               1,
               4,
               2,
               5,
               3,
               6
            ],
            "maxduration":30,
            "minduration":0,
            "mimes":[  
               "application/javascript",
               "video/3gpp",
               "video/mp4"
            ]
         },
         "id":"1",
         "secure":0
      }
   ],
   "ext":{  
      "is_test":0
   },
   "regs":{  
      "ext":{  
         "sb568":0
      },
      "coppa":0
   },
   "bcat":[  
      "1",
      "10",
      "12",
      "26",
      "99",
      "IAB17-18",
      "IAB24",
      "IAB25",
      "IAB25-3",
      "OX-1",
      "OX-10",
      "OX-12",
      "OX-26",
      "OX-99"
   ],
   "test":0,
   "device":{  
      "language":"en",
      "osv":"4",
      "os":"Android",
      "dpidsha1": "0847d08e79e82ea24f8fedbf7e149e909d07df95",
      "dnt": 0,
         "ext": {
            "idforad": "123ab2ff-c458-4355-b17a-1b84b93d9ab1",
            "browser_version": "33",
            "idforad_enabled": 1,
            "browser": "Chrome"
         },
      "model":"android phone",
      "make":"generic",
      "lmt": 0,
      "connectiontype": 2,                  
      "ip":"170.149.100.10",
      "devicetype": 4,
      "ifa": "123ab2ff-c458-4355-b17a-1b84b93d9ab1",
      "dpidmd5": "406a2e6fcf0c5d5fd43e5d00c7df6a3d",
      "geo":{  
         "ext":{  
            "dma":501,
            "state":"new york",
            "continent":"north america"
         },
         "zip":"10036",
         "city":"new york",
         "region":"NY",
         "country":"USA",
         "type":2,
         "lon":-73.99,
         "lat":40.759
      },
      "ua":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36"
   },
   "app":{  
      "content":{  
         "userrating":"4.2"
      },
      "publisher":{  
         "id":"123456789"
      },
      "cat":[  
         "IAB22-1"
      ],
      "bundle":"com.yourapp.bundle",
      "name":"YourApp",
      "domain":"yourapp.com",               
      "id":"123456789"
   },
   "id":"c1ba8e13-62da-46e3-884e-376f901e28f9"
}


The examples below include optional end card for opt-in video implementation in the <CompanionAds> element.

VAST 2.0 response example
{
   "id":"123",
   "seatbid":[
      {
         "bid":[
            {
               "id":"12345",
               "impid":"2",
               "price":3.00,
               "nurl":"http://example.com/winnoticeurl",
               "adm": "<VAST version='2.0'>
                  <Ad id='123'>
                     <Wrapper>
                        <AdSystem version='2.0'>OX</AdSystem>
                        <VASTAdTagURI><![CDATA[http://examplevast.com]]></VASTAdTagURI>
                        <Error><![CDATA[http://example.com/error?code=[ERRORCODE]&id=12345]]></Error>
                        <Impression><![CDATA[http://example.com/event/impression]]></Impression>
                        <Creatives>
                           <Creative>
                              <Linear>
                                 <TrackingEvents>
                                    <Tracking event='start'><![CDATA[http://example.com/event/start]]></Tracking>
                                    <Tracking event='creativeView'><![CDATA[http://example.com/event/creativeView]]></Tracking>
                                    <Tracking event='firstQuartile'><![CDATA[http://example.com/event/firstQuartile]]></Tracking>
                                    <Tracking event='midpoint'><![CDATA[http://example.com/event/midpoint]]></Tracking>
                                    <Tracking event='thirdQuartile'><![CDATA[http://example.com/event/thirdQuartile]]></Tracking>
                                    <Tracking event='complete'><![CDATA[http://example.com/event/complete]]></Tracking>
                                    <Tracking event='mute'><![CDATA[http://example.com/event/mute]]></Tracking>   
                                    <Tracking event='unmute'><![CDATA[http://example.com/event/unmute]]></Tracking>
                                    <Tracking event='pause'><![CDATA[http://example.com/event/pause]]></Tracking>
                                    <Tracking event='rewind'><![CDATA[http://example.com/event/rewind]]></Tracking>
                                    <Tracking event='resume'><![CDATA[http://example.com/event/resume]]></Tracking>
                                    <Tracking event='fullscreen'><![CDATA[http://example.com/event/fullscreen]]></Tracking>
                                    <Tracking event='expand'><![CDATA[http://example.com/event/expand]]></Tracking>
                                    <Tracking event='collapse'><![CDATA[http://example.com/event/collapse]]></Tracking>
                                    <Tracking event='acceptInvitation'><![CDATA[http://example.com/event/acceptInvitation]]></Tracking>
                                    <Tracking event='close'><![CDATA[http://example.com/event/close]]></Tracking>
                                 </TrackingEvents>
                                 <VideoClicks>
                                    <ClickTracking><![CDATA[http://example.com/event/click]]></ClickTracking>
                                    <CustomClick><![CDATA[http://example.com/event/customclick]]></CustomClick>
                                 </VideoClicks>
                              </Linear>
                           </Creative>
                           <Creative>
                              <CompanionAds>
                                 <Companion  id="1232" width="300" height="250" assetWidth="250" assetHeight="200" expandedWidth="350" expandedHeight="250">
                                    <StaticResource creativeType="image/png">
                                       <![CDATA[ http://www.iab.com/wp-content/uploads/2014/09/iab-tech-lab-6-644x290.png ]]>
                                    </StaticResource>
                                    <CompanionClickThrough>
                                       <![CDATA[ https://iabtechlab.com ]]>
                                    </CompanionClickThrough>
                                    <TrackingEvents>
                                       <Tracking event="creativeView">
                                          <![CDATA[ https://example.com/event/companionView ]]>
                                       </Tracking>
                                    </TrackingEvents>
                                 </Companion>
                              </CompanionAds>
                           </Creative>
                        </Creatives>
                     </Wrapper>
                  </Ad>
               </VAST>"
            }
         ]
      }
   ]
}
FieldDescription
seatbidAn array that must contain a single SeatBid object.
bidAn array in the SeatBid object that must contain at least one Bid object.
idUnique ID of the bid request, provided by the exchange.
impidA field in the Bid object that must match the id field in the Imp object.
priceThe CPM bid price in the currency that the bidder has configured in Ad Exchange.
nurlNotice URL, which is called by the exchange if the bid wins.
admAd markup field.

OpenX does not support the return of ad markup by the bidder in response to a nurl win notification. Ad markup must be returned in the BidResponse.seatbid.bid.adm field.

VAST 3.0 response example
{
   "id":"123",
      "seatbid":[
         {
            "bid":[
               {
                  "id":"12345",
                  "impid":"2",
                  "price":3.00,
                  "nurl":"http://example.com/winnoticeurl",
                  "adm": "
                  <VAST version='3.0'>
                     <Ad id='123'>
                        <Wrapper>
                           <AdSystem version='2.0'>OX</AdSystem>
                           <VASTAdTagURI><![CDATA[http://examplevast.com]]></VASTAdTagURI>
                           <Error><![CDATA[http://example.com/error?code=[ERRORCODE]&id=12345]]></Error>
                           <Impression><![CDATA[http://example.com/event/impression]]></Impression>
                           <Creatives>
                              <Creative>
                                 <Linear>
                                    <TrackingEvents>
                                       <Tracking event='start'><![CDATA[http://example.com/event/start]]></Tracking>
                                       <Tracking event='creativeView'><![CDATA[http://example.com/event/creativeView]]></Tracking>
                                       <Tracking event='firstQuartile'><![CDATA[http://example.com/event/firstQuartile]]></Tracking>
                                       <Tracking event='midpoint'><![CDATA[http://example.com/event/midpoint]]></Tracking>
                                       <Tracking event='thirdQuartile'><![CDATA[http://example.com/event/thirdQuartile]]></Tracking>
                                       <Tracking event='complete'><![CDATA[http://example.com/event/complete]]></Tracking>
                                       <Tracking event='mute'><![CDATA[http://example.com/event/mute]]></Tracking>   
                                       <Tracking event='unmute'><![CDATA[http://example.com/event/unmute]]></Tracking>
                                       <Tracking event='pause'><![CDATA[http://example.com/event/pause]]></Tracking>
                                       <Tracking event='rewind'><![CDATA[http://example.com/event/rewind]]></Tracking>
                                       <Tracking event='resume'><![CDATA[http://example.com/event/resume]]></Tracking>
                                       <Tracking event='fullscreen'><![CDATA[http://example.com/event/fullscreen]]></Tracking>
                                       <Tracking event='expand'><![CDATA[http://example.com/event/expand]]></Tracking>
                                       <Tracking event='collapse'><![CDATA[http://example.com/event/collapse]]></Tracking>
                                       <Tracking event='acceptInvitation'><![CDATA[http://example.com/event/acceptInvitation]]></Tracking>
                                       <Tracking event='close'><![CDATA[http://example.com/event/close]]></Tracking>
                                    </TrackingEvents>
                                    <VideoClicks>
                                       <ClickTracking><![CDATA[http://example.com/event/click]]></ClickTracking>
                                       <CustomClick><![CDATA[http://example.com/event/customclick]]></CustomClick>
                                    </VideoClicks>
                                 </Linear>
                              </Creative>
                              <Creative id="5480" sequence="1"<
                                 <CompanionAds<
                                    <Companion id="1232" width="300" height="250" assetWidth="250" assetHeight="200" expandedWidth="350" expandedHeight="250"<
                                       <StaticResource creativeType="image/png">
                                          <![CDATA[ https://www.iab.com/wp-content/uploads/2014/09/iab-tech-lab-6-644x290.png ]]>
                                       </StaticResource>
                                       <CompanionClickThrough>
                                          <![CDATA[ https://iabtechlab.com ]]>
                                       </CompanionClickThrough>
                                       <TrackingEvents>
                                          <Tracking event="creativeView">
                                             <![CDATA[ https://example2.com/event/companionView ]]>
                                          </Tracking>
                                          <Tracking event="creativeView">
                                             <![CDATA[ https://example.com/event/companionView ]]>
                                          </Tracking>
                                       </TrackingEvents>
                                       <CompanionClickTracking>
                                          <![CDATA[ https://example2.com/event/companionClick ]]>
                                       </CompanionClickTracking>
                                       <CompanionClickTracking>
                                          <![CDATA[ https://example.com/event/companionClick ]]>
                                       </CompanionClickTracking>
                                    </Companion>
                                 </CompanionAds>
                              </Creative>
                           </Creatives>
                        </Wrapper>
                     </Ad>
                  </VAST>"
               }
            ]
         }
      ]
  }
FieldDescription
seatbidAn array that must contain a single SeatBid object.
bidAn array in the SeatBid object that must contain at least one Bid object.
idUnique ID of the bid request, provided by the exchange.
impidA field in the Bid object that must match the id field in the Imp object.
priceThe CPM bid price in the currency that the bidder has configured in Ad Exchange.
nurlNotice URL, which is called by the exchange if the bid wins.
admAd markup field.

OpenX does not support the return of ad markup by the bidder in response to a nurl win notification. Ad markup must be returned in the BidResponse.seatbid.bid.adm field.


Video for web

The following bid request and response are video for web examples.

BidRequest example
{
    "ext": {
        "is_test": 0
    },
    "cur": ["USD"],
    "device": {
        "dnt": 0,
        "ext": {
            "language": ["en"],
            "browser_version": "56",
            "browser": "Chrome"
        },
        "language": "en",
        "osv": "10",
        "os": "Windows",
        "model": "browser",
        "make": "desktop",
        "devicetype": 2,
        "ip": "104.4.9.67",
        "geo": {
            "ext": {
                "dma": 650,
                "state": "oklahoma",
                "continent": "north america"
            },
            "zip": "73102",
            "city": "oklahoma city",
            "region": "OK",
            "country": "USA",
            "type": 2,
            "lon": -97.519,
            "lat": 35.472
        },
        "ua": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36"
    },
    "imp": [{
        "video": {
            "ext": {
                "bcont": [1, 8, 15],
                "matching_ad_id": [{
                    "ad_       width": 640,
                    "ad_height": 480,
                    "creative_id": 123234118,
                    "placement_id": 537687321,
                    "campaign_id": 537123508
                }]
            },
            "h": 480,
            "w": 640,
            "api": 2,
            "delivery": [2],
            "playbackmethod": [3, 2],
            "battr": [1, 2, 6, 7],
            "linearity": 1,
            "startdelay": 0,
            "protocols": [2, 5],
            "maxduration": 30,
            "minduration": 0,
            "mimes": "video/mp4"
        },
        "id": "1",
        "secure": 0
    }],
    "regs": {
        "ext": {
            "sb568": 0
        },
        "coppa": 0
    },
    "bcat": ["10", "26", "IAB17-18", "IAB25", "IAB7-39", "IAB8-18", "IAB8-5", "IAB9-9", "OX-10", "OX-26"],
    "test": 0,
    "site": {
        "ext": {
            "ssl_enabled": false,
            "is_mobile_site": true
        },
        "content": {
            "qagmediarating": 1
        },
        "publisher": {
            "id": "537140488"
        },
        "mobile": 1,
        "ref": "http://tpc.googlesyndication.com/pagead/js/loader12.html?http://sdk.streamrail.com/vpaid/js/668/sam.js",
        "page": "http://www.yoursite.com/highlight/1452204",
        "cat": ["IAB9-30"],
        "id": "537289392"
    },
    "id": "fb7b0979-2d9f-47d0-a854-3d3a275b471e"
}


BidResponse example
{
    "id": "fb7b0979-2d9f-47d0-a854-3d3a275b471e",
    "seatbid": [{
            "bid": [{
                {
                    {
                        {
                            "id": "fb7b0979-2d9f-47d0-a854-3d3a275b471e",
                            "impid": "fb7b0979-2d9f-47d0-a854-3d3a275b471e",
                            "price": 12.0393,
                            "adm": "
                            <VAST version='2.0'>
                               <Ad id='123'>
                                  <Wrapper>
                                     <AdSystem version='2.0'>OX</AdSystem>
                                     <VASTAdTagURI><![CDATA[http://examplevast.com]]></VASTAdTagURI>
                                     <Error><![CDATA[http://example.com/error?code=[ERRORCODE]&id=12345]]></Error>
                                     <Impression><![CDATA[http://example.com/event/impression]]></Impression>
                                     <Creatives>
                                        <Creative>
                                           <Linear>
                                              <TrackingEvents>
                                                 <Tracking event='start'><![CDATA[http://example.com/event/start]]></Tracking>
                                                 <Tracking event='creativeView'><![CDATA[http://example.com/event/creativeView]]></Tracking>
                                                 <Tracking event='firstQuartile'><![CDATA[http://example.com/event/firstQuartile]]></Tracking>
                                                 <Tracking event='midpoint'><![CDATA[http://example.com/event/midpoint]]></Tracking>
                                                 <Tracking event='thirdQuartile'><![CDATA[http://example.com/event/thirdQuartile]]></Tracking>
                                                 <Tracking event='complete'><![CDATA[http://example.com/event/complete]]></Tracking>
                                                 <Tracking event='mute'><![CDATA[http://example.com/event/mute]]></Tracking>   
                                                 <Tracking event='unmute'><![CDATA[http://example.com/event/unmute]]></Tracking>
                                                 <Tracking event='pause'><![CDATA[http://example.com/event/pause]]></Tracking>
                                                 <Tracking event='rewind'><![CDATA[http://example.com/event/rewind]]></Tracking>
                                                 <Tracking event='resume'><![CDATA[http://example.com/event/resume]]></Tracking>
                                                 <Tracking event='fullscreen'><![CDATA[http://example.com/event/fullscreen]]></Tracking>
                                                 <Tracking event='expand'><![CDATA[http://example.com/event/expand]]></Tracking>
                                                 <Tracking event='collapse'><![CDATA[http://example.com/event/collapse]]></Tracking>
                                                 <Tracking event='acceptInvitation'><![CDATA[http://example.com/event/acceptInvitation]]></Tracking>
                                                 <Tracking event='close'><![CDATA[http://example.com/event/close]]></Tracking>
                                              </TrackingEvents>
                                              <VideoClicks>
                                                 <ClickTracking><![CDATA[http://example.com/event/click]]></ClickTracking>
                                                 <CustomClick><![CDATA[http://example.com/event/customclick]]></CustomClick>
                                              </VideoClicks>
                                           </Linear>
                                        </Creative>
                                     </Creatives>
                                  </Wrapper>
                               </Ad>    
                            </VAST>
                            ",
                            "cid": "wyvdy35",
                            "crid": "0rchn95h",
                            "adomain": ["myadsite.com"],
                            "cat": ["IAB21"]
                         }],
                      "seat": "1228"
                   }],
                "cur": "USD"
             }
          }
       }
    }
FieldDescription
seatbidAn array that must contain a single SeatBid object.
bidAn array in the SeatBid object that must contain at least one Bid object.
idUnique ID of the bid request, provided by the exchange.
impidA field in the Bid object that must match the id field in the Imp object.
priceThe CPM bid price in the currency that the bidder has configured in Ad Exchange.
nurlNotice URL, which is called by the exchange if the bid wins.
admAd markup field.

OpenX does not support the return of ad markup by the bidder in response to a nurl win notification. Ad markup must be returned in the BidResponse.seatbid.bid.adm field.


CTV Example

Last updated on September 11, 2019

See Content Object for more information about CTV attributes in bid requests.

BidRequest example


The deviceType integer for CTV in a bid request is 3 or 7.

{
  "bidrequest": {
     "app": {
         "publisher": {
             "id": "540634762"
             },
             "id": "540672081",
             "name": "Example TV",
             "bundle": "com.example.tv",
             "cat": [
             "IAB1",
             "IAB1-7"
             ],
             "paid": 0
      },
      "id": "40ac8a37-3b72-49d3-a0db-ce9b0ea90c13",
      "at": 2,
      "imp": [
          {
             "id": "1",
             "video": {
                "w": 1920,
                "h": 1080,
                "ext": {
                    "matching_ad_id": [     
                        {
                            "ad_height": 1080,
                            "ad_width": 1920,
                            "campaign_id": 537350102,
                            "placement_id": 540626492,
                            "creative_id": 540626493
                        },
                        {
                            "ad_height": 1080,
                            "ad_width": 1920,
                            "deal": [
                                {
                                    "deal_id": "OX-MPO-HdYysT",
                                    "deal_cpm_micros": 22450000,
                                    "deal_pricing_type": 2,
                                    "deal_exclusivity": 0
                                }
                            ],
                            "campaign_id": 537350102,
                            "placement_id": 540626492,
                            "creative_id": 540626494
                       }
                    ]
                },
                "mimes": [
                    "video\/mp4"
                ],
                "minduration": 0,
                "maxduration": 30,
                "protocols": [
                    2,
                    5
                ],
                "startdelay": -1,
                "placement": 1,
                "linearity": 1,
                "battr": [
                    1,
                    2,
                    6,
                    7,
                    17
                ],
                "minbitrate": 240,
                "maxbitrate": 4000,
                "playbackmethod": [
                    1
                ],
                "delivery": [
                    2
                ]
            },
            "pmp": {
                "deals": [
                    {
                        "at": 2,
                        "bidfloor": 22.45,
                        "id": "OX-MPO-HdYysT"
                    }
                ],
                "private_auction": 0
            },
            "bidfloor": 15,
            "bidfloorcur": "USD",
            "displaymanager": "StickyAdsTv",
            "displaymanagerver": "1.0",
            "tagid": "Y29tLnBsdXRvLnR2NTQwNjcyMTQ2MTkyMHgxMDgw",
            "secure": 1,
            "exp": 3600
            }
      ],
      "cur": [
          "USD"
      ],
      "source": {
          "fd": 0,
          "pchain": "6a698e2ec38604c6:540634762"
      },
      "device": {
          "ua": "Roku\/DVP-9.0 (919.00E04142A)",
          "geo": {
              "lat": 33.914,
              "lon": -80.323,
              "type": 2,
              "country": "USA",
              "region": "SC",
              "city": "sumter",
              "zip": "29153",
              "ext": {
                  "continent": "north america",
                  "dma": 546
               }
           },
           "dnt": 0,
           "lmt": 0,
           "ipv6": "::ffff:216.218.66.195",
           "devicetype": 7,
           "make": "Roku",
           "model": "Digital Video player",
           "os": "Other",
           "osv": "9.0",
           "language": "en",
           "ifa": "7a2016d7-17b0-572f-a7a6-13f89a81d905",
           "ext": {
               "browser": "Other",
               "language": [
                   "en"
               ]
            }
      },
      "test": 0,
      "bcat": [
          "10",
          "12",
          "26",
          "IAB17-18",
          "IAB25",
          "IAB7-39",
          "IAB9-9",
          "OX-10",
          "OX-12",
          "OX-26"
      ],
      "regs": {
          "coppa": 0,
          "ext": {
              "sb568": 0,
              "gdpr": 0
          }
      }
   },
   "mondemand.message": "Bidder specific bidrequest",
   "buyer_context": {
       "id": 537148859,
       "platform_hash": "152d07b1-da41-4c40-ad18-fe74c269534a",
       "test_bidder": false,
       "endpoint": "https:\/\/rd5use.tubemogul.com\/openx\/Kxj2ilefT2dP544VKFNQ",
       "protocol": 2,
       "compression_type": 0,
       "auction_type": 2,
       "bid_floor_cpi_nanos": 15000000,
       "currency": "USD",
       "user_consent_suppression": false,
       "bid_reuse_disabled": false,
       "page_position_targeting": 0,
       "header_object_targeting": 1,
       "tid_enabled": 0,
       "lurl_enabled": 0,
       "digitrust_id_enabled": 0,
       "publisher_name_enabled": 0
  }
}  


BidResponse example


{
    "seatbid": [
        {
            "seat": "347337",
            "bid": [
                {
                    "w": 1920,
                    "price": 14.21,
                    "impid": "1",
                    "id": "7984e9ec-e6b2-4223-b7b4-b8c8f9161445",
                    "h": 1080,
                    "crid": "4117315419",
                    "adomain": [
                        "onallstate.com"
                    ],
                    "adm": "<?xml version=\"1.0\"?>\n<VAST version=\"2.0\">\n<Ad id=\"1\">\n<Wrapper>\n<AdSystem>OX</AdSystem>\n<VASTAdTagURI><![CDATA[https://rtb-europe-west1.openx.net/fetch/vast/ps/freewheel?p=${AUCTION_PRICE}&t=2DAABBgABAAECAAIBAAsAAgAAAXEcGApUQkpOdlpLMHoyHBbf2sWH4Pz2yqQBFpu079fwy4v73AEAHBbGiJLrnPv0hPMBFvWuz-7gzaPLkAEAFtLK69QLFQY4JDZjZmE3ZGNiLThkNDMtNDAxMy05MjRiLTg5OTQ1MzAyNGE1NAAsHBUCABwVAgAcFQIAABwm5oLQgwQVBhUGJpaB0IMEFpS6y4MEEfbIARbIARbIARbIAQAcHCwWgLGKpLvsg60qFuuytdnn4oDnpQEAABb29qGABBasv7qABBb6uMqDBBb4uMqDBBUYHBTwEBSAHgAVBEaE3gERNQ4mhN4BFoSsAQAsLBaB5sXYyPCRgX0WxeCrs6by29vZAQAW0srr1AsGKPb2oYAEFqy_uoAEFvi4yoMEFvq4yoMEGAo0MTE3MzE1NDE5FqYYFoTeASUEKAYzNDczMzcVBJaiwIUDESgCT1gMehQBFAEAKAV2aWRlb4EADDw4Dm9uYWxsc3RhdGUuY29tAAAA&ph=b9be4168-e450-46a9-a2f2-8e12fc5e4de6]]></VASTAdTagURI>\n<Error><![CDATA[http://freewheel-bidout-d.openx.net/v/1.0/rv?t=error_vast2_[ERRORCODE]&ts=2DAABBgABAAECAAIBAAsAAgAAAXEcGApUQkpOdlpLMHoyHBbf2sWH4Pz2yqQBFpu079fwy4v73AEAHBbGiJLrnPv0hPMBFvWuz-7gzaPLkAEAFtLK69QLFQY4JDZjZmE3ZGNiLThkNDMtNDAxMy05MjRiLTg5OTQ1MzAyNGE1NAAsHBUCABwVAgAcFQIAABwm5oLQgwQVBhUGJpaB0IMEFpS6y4MEEfbIARbIARbIARbIAQAcHCwWgLGKpLvsg60qFuuytdnn4oDnpQEAABb29qGABBasv7qABBb6uMqDBBb4uMqDBBUYHBTwEBSAHgAVBEaE3gERNQ4mhN4BFoSsAQAsLBaB5sXYyPCRgX0WxeCrs6by29vZAQAW0srr1AsGKPb2oYAEFqy_uoAEFvi4yoMEFvq4yoMEGAo0MTE3MzE1NDE5FqYYFoTeASUEKAYzNDczMzcVBJaiwIUDESgCT1gMehQBFAEAKAV2aWRlb4EADDw4Dm9uYWxsc3RhdGUuY29tAAAA]]></Error>\n<Impression><![CDATA[https://rtb-europe-west1.openx.net/win/freewheel?p=${AUCTION_PRICE}&t=2DAABBgABAAECAAIBAAsAAgAAAXEcGApUQkpOdlpLMHoyHBbf2sWH4Pz2yqQBFpu079fwy4v73AEAHBbGiJLrnPv0hPMBFvWuz-7gzaPLkAEAFtLK69QLFQY4JDZjZmE3ZGNiLThkNDMtNDAxMy05MjRiLTg5OTQ1MzAyNGE1NAAsHBUCABwVAgAcFQIAABwm5oLQgwQVBhUGJpaB0IMEFpS6y4MEEfbIARbIARbIARbIAQAcHCwWgLGKpLvsg60qFuuytdnn4oDnpQEAABb29qGABBasv7qABBb6uMqDBBb4uMqDBBUYHBTwEBSAHgAVBEaE3gERNQ4mhN4BFoSsAQAsLBaB5sXYyPCRgX0WxeCrs6by29vZAQAW0srr1AsGKPb2oYAEFqy_uoAEFvi4yoMEFvq4yoMEGAo0MTE3MzE1NDE5FqYYFoTeASUEKAYzNDczMzcVBJaiwIUDESgCT1gMehQBFAEAKAV2aWRlb4EADDw4Dm9uYWxsc3RhdGUuY29tAAAA&ph=b9be4168-e450-46a9-a2f2-8e12fc5e4de6&pmd=1&ps=1&vtqe=false]]></Impression>\n</Wrapper>\n</Ad>\n</VAST>\n"
                }
            ]
        }
    ],
    "id": "23409_1564802636899025-182_1",
    "cur": "USD"
}