OpenRTB Integration ( Banner, Native & Video Ads )

  • Our servers are located in Washington D. C.
  • The max response timeout is 200ms, but it can be changed if it is required

Bid Request

Domain: http://<AuctionDomain>

Path: /auction

Template: http://<AuctionDomain>/auction?id={id}&auth={auth}

Complete: http://auction.domain/auction?id=12345test&auth=1234auth

Query params

  • id: Feed id generated by <networkname>
  • auth: Feed Authorization code generated by <networkname>

💡 All params should be URL encoded

Object model

Following is the object model for the bid request. The top-level object (i.e., in JSON the unnamed outer object) is denoted as BidRequest in the model. Of its direct subordinates, only Imp is technically required since it is fundamental to describing the impression being sold and it requires at least one of Banner (which may allow multiple formats), Video and Native to define the type of impression (i.e., whichever one or more the publisher is willing to accept; although a bid will be for exactly one of those specified). An impression can optionally be subject to a private marketplace.

The following fields are required by our platform. Additional optional fields are also available and can be found in the IAB documentation.

BidRequest Object:

  • id: ID of the bid request, assigned <networkname>, and unique for the exchange’s subsequent tracking of the responses. The exchange may use different values for different recipients.
  • imp: Array of Imp objects representing the impressions offered. At least 1 Imp object is required.
  • site: Details via a Site object about the publisher’s website. Only applicable and recommended for websites. Only one of the two objects — site or app — may be included in the request.
  • app: Details via an App object about the publisher’s app (i.e., non-browser applications). Only applicable and recommended for apps. Only one of the two objects — site or app — may be included in the request.
  • device: Details via a Device object about the user’s device to which the impression will be delivered.

Imp Object:

  • id: A unique identifier for this impression within the content of the bid request (typically, starts with 1 and increments).
  • banner: A Banner object; required if this impression is offered as a banner ad opportunity.
  • video: A Video object; required if this impression is offered as a video ad opportunity.
  • native: A Native object; required if this impression is offered as a native ad opportunity.

Site Object:

  • domain: Domain of the site (e.g., "mysite.foo.com").

App Object:

  • bundle: The store ID of the app in an app store. See OTT/CTV Store Assigned App Identification Guidelines for more details about expected strings for CTV app stores. For mobile apps in Google Play Store, these should be bundle or package names (e.g. com.foo.mygame). For apps in Apple App Store, these should be a numeric ID.

Device Object:

  • ip: IPv4 address closest to device.
  • ua: Browser user agent string. This field represents a raw user agent string from the browser. For backwards compatibility, exchanges are recommended to always populate ua with the User-Agent string, when available from the end user’s device, even if an alternative representation, such as the User-Agent Client-Hints, is available and is used to populate sua. No inferred or approximated user agents are expected in this field. If a client supports User Agent Client Hints, and sua field is present, bidders are recommended to rely on sua for detecting device type, browser type and version and other purposes that rely on the user agent information, and ignore ua field. This is because the ua may contain a frozen or reduced user agent string.
  • sua: Structured user agent information defined by a UserAgent object. If both ua and sua are present in the bid request, sua should be considered the more accurate representation of the device attributes. This is because the ua may contain a frozen or reduced user agent string.

Banner Object:

  • id: Unique identifier for this banner object. Recommended when Banner objects are used with a Video object to represent an array of companion ads. Values usually start at 1 and increase with each object; should be unique within an impression.
  • format: Array of Format objects representing the banner sizes permitted. If none are specified, then use of the h and w attributes is highly recommended.

Video Object:

  • mimes: Content MIME types supported (e.g., "video/mp4").
  • skip: Indicates if the player will allow the video to be skipped, where 0 = no, 1 = yes. If a bidder sends markup/creative that is itself skippable, the Bid object should include the attr array with an element of 16 indicating skippable video. Refer to List: Creative Attributes in AdCOM 1.0.
  • plcmt: Video placement type for the impression. Refer to List: Plcmt Subtypes - Video in AdCOM 1.0.
  • startdelay: Indicates the start delay in seconds for pre-roll, mid-roll, or post-roll ad placements. Refer to List: Start Delay Modes in AdCOM 1.0.

Native Object:

  • request: Request payload complying with the Native Ad Specification. The root node of the payload, "native", was dropped in the Native Ads Specification 1.1. For Native 1.0, this is a JSON-encoded string consisting of a unnamed root object, with a single subordinate object named 'native', which is the Native Markup Request object, section 4.1 of OpenRTB Native 1.0 specification. For Native 1.1 and higher, this is a JSON-encoded string consisting of an unnamed root object which is itself the Native Markup Request Object, section 4.1 of OpenRTB Native 1.1+ .

Publisher Object:

  • id: Exchange-specific seller ID. Every ID must map to only a single entity that is paid for inventory transacted via that ID. Corresponds to a seller_id of a seller in the exchange’s sellers.json file.

Geo Object:

  • country: Country code using ISO-3166-1-alpha-3.
  • region: Region code using ISO-3166-2; 2-letter state code if USA.
  • city: City using United Nations Code for Trade & Transport Locations. See Appendix A for a link to the codes.
  • zip: ZIP or postal code.

Format Object:

  • h: Width in device-independent pixels (DIPS).
  • w: Height in device-independent pixels (DIPS).

UserAgent Object:

  • platform: A BrandVersion object that identifies the user agent’s execution platform / OS. Implementers should send a brand derived from the Sec-CH-UA-Platform header, and version derived from the Sec-CH-UA-Platform-Version header.
  • browsers: Each BrandVersion object identifies a browser or similar software component. Implementers should send brands and versions derived from the Sec-CH-UA-Full-Version-List header.

💡 All details and optional fields can be found in the official IAB documentation.

Bid response:

  • Bid - HTTP 200
  • No Bid - HTTP 204
  • Error - HTTP 400

BANNER:

Example of bid request:

http://auction.domain/auction?id=12345&auth=testAuth
 {
  "id": "ee27b71123",
  "imp": [
    {
      "id": "1234",
      "banner": {
        "id": 1,
        "format": [
          {
            "w": 300,
            "h": 250
          }
        ]
      }
    }
  ],
  "site": {
    "domain": "site.com"
  },
  "device": {
    "ip": "122.160.1.105",
    "ua": "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Mobile Safari/537.36",
    "sua": {
      "platform": {
      },
      "browsers": [
      ]
    }
  }
 }

Example of bid response:

{
  "adm": "<a target=\"_blank\"href=\"https://domain.com/visit\"><img src=\"https://domain.com/img.jpg\" border=\"0\" width=\"728\" height=\"90\" referrerpolicy=\"origin\"></a>",
  "pixel_codes": []
 }

VIDEO:

Example of bid request:

http://auction.domain/auction?id=12345&auth=testAuth
 {
  "ext": {
    "avx_add_vast_url": 1
  },
  "id": "9864b7f1234",
  "imp": [
    {
      "id": "1",
      "video": {
        "mimes": [
          "video/mp4"
        ],
        "skip": 0,
        "plcmt": 1,
        "startdelay": 0
      }
    }
  ],
  "app": {
    "bundle": "com.android.test",
    "publisher": {
      "domain": "domain.com"
    }
  },
  "device": {
    "ip": "67.123.1.105",
    "ua": "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Mobile Safari/537.36",
    "language": "es",
    "sua": {
      "model": "Redmi Note 9 Pro",
      "mobile": 1,
      "vendor": "Xiaomi",
      "platform": {
        "brand": "Android",
        "version": [
          "11",
          "0",
          "0"
        ]
      },
      "browsers": [
        {
          "brand": "Chromium",
          "version": [
            "107",
            "0",
            "5304",
            "87"
          ]
        },
        {
          "brand": "Google Chrome",
          "version": [
            "107",
            "0",
            "5304",
            "87"
          ]
        },
        {
          "brand": "Not;A=Brand",
          "version": [
            "24",
            "0",
            "0",
            "0"
          ]
        }
      ]
    }
  },
  "cur": [
    "USD"
  ]
 }

Example of bid response:

{
  "adm": "<VAST version=\"4.2\" xmlns=\"http://www.iab.com/VAST\"><Ad id=\"22\"><InLine><AdSystem>AdSystem</AdSystem><Error><![CDATA[http://url.com/error]]></Error><Impression> <![CDATA[http://url.com/impression]]> </Impression>http://tracking.url<AdServingId>22-17-01</AdServingId><AdTitle><![CDATA[Video with companion AD]]></AdTitle><Creatives><Creative id=\"17-0\"><CompanionAds><Companion id=\"0\" width=\"300\" height=\"300\" renderingMode=\"end-card\"><StaticResource creativeType=\"png\"><![CDATA[https://creative.jpg]]></StaticResource><CompanionClickThrough><![CDATA[http://url.com/companionClickThrough]]></CompanionClickThrough><CompanionClickTracking><![CDATA[http://url.com/companionClickTracking]]></CompanionClickTracking></Companion></CompanionAds><UniversalAdId idRegistry=\"id.registry\">17-0</UniversalAdId></Creative><Creative id=\"171\"><Linear skipoffset=\"00:00:03\"><TrackingEvents><Tracking event=\"thirdQuartile\"><![CDATA[http://url.com/thirdQuartile]]></Tracking><Tracking event=\"skip\"><![CDATA[http://url.com/skip]]></Tracking><Tracking event=\"firstQuartile\"><![CDATA[http://url.com/firstQuartile]]></Tracking><Tracking event=\"complete\"><![CDATA[http://url.com/complete]]></Tracking><Tracking event=\"start\"><![CDATA[http://url.com/start]]> </Tracking><Tracking event=\"midpoint\"><![CDATA[http://url.com/midpoint]]> </Tracking></TrackingEvents><Duration>00:00:26</Duration><MediaFiles><MediaFile id=\"1\" delivery=\"progressive\" type=\"video/mp4\" bitrate=\"60\" width=\"500\" height=\"240\" codec=\"h.264\"><![CDATA[https://video.com/test.mp4]]></MediaFile></MediaFiles><VideoClicks><ClickThrough><![CDATA[http://url.com/videoClick]]></ClickThrough><ClickTracking><![CDATA[http://url.com/clickTracking]]></ClickTracking></VideoClicks></Linear><UniversalAdId idRegistry=\"id.registry\">171</UniversalAdId></Creative></Creatives></InLine></Ad></VAST>",
  "pixel_codes": []
 }

NATIVE:

Example of bid request:

http://auction.domain/auction?id=12345&auth=testAuth
 {
  "id": "ee27b7771",
  "imp": [
    {
      "id": "1234",
      "native": {
        "request": {
          "assets": [
            {
              "id": 1,
              "title": {
                "len": 120
              }
            },
            {
              "id": 2,
              "img": {
                "type": 3
              }
            },
            {
              "id": 3,
              "data": {
                "type": 2
              }
            }
          ]
        }
      }
    }
  ],
  "app": {
    "bundle": "com.android.test",
    "publisher": {
      "domain": "publisher.com"
    }
  },
  "device": {
    "ip": "67.123.1.105",
    "ua": "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Mobile Safari/537.36",
    "language": "es",
    "sua": {
      "model": "Redmi Note 9 Pro",
      "mobile": 1,
      "vendor": "Xiaomi",
      "platform": {
        "brand": "Android",
        "version": [
          "11",
          "0",
          "0"
        ]
      },
      "browsers": [
        {
          "brand": "Chromium",
          "version": [
            "107",
            "0",
            "5304",
            "87"
          ]
        },
        {
          "brand": "Google Chrome",
          "version": [
            "107",
            "0",
            "5304",
            "87"
          ]
        },
        {
          "brand": "Not;A=Brand",
          "version": [
            "24",
            "0",
            "0",
            "0"
          ]
        }
      ]
    }
  },
  "cur": [
    "USD"
  ]
 }

Example of bid response:

{
  "adm": "{\"native\":{\"link\":{\"url\":\"http://url.com/visit\"},\"assets\":[{\"title\":{\"text\":\"Native ad\"},\"id\":1},{\"img\":{\"url\":\"http://url.com/img/prc/$0.21?ori\\abd12\",\"w\":100,\"h\":100},\"id\":2},{\"data\":{\"value\":\"brand\"},\"id\":3}]}}",
  "pixel_codes": []
 }

Statistics Report

Statistics Report Request:

Required http basic auth with your credentials in request

https://<platformdomain>/external/supply/statisticsapi/{AGGREGATION}?feedId={FEED_ID}&from=YYYY-MM-DD&to=YYYY-MM-DD

Parameters (All parameters must be URL encoded):

Allowed aggregations:
  • day (available last 60 days, maximum range of 60 days)
  • hour (available last 7 days, maximum range of 1 day)
  • subid (available last 60 days, maximum range of 1 day)
Required filters (query params)
  • feedId
  • from (yyyy-mm-dd format)
  • to (yyyy-mm-dd format)

Statistics Report Response:

  • aggregation
  • auctions
  • bids
  • impressions
  • visits
  • estimatedRevenue
  • revenue

DAY - Example Response:

{
 "data": [
    {
        "aggregation": "2025-07-11",
        "auctions": 132404830,
        "bids": 176333,
        "visits": 1604,
        "estimatedRevenue": 1.1962599213,
        "revenue": 1.1962599213
    }
 ],
 "error": null
}

HOUR - Example Response:

{
 "data": [
    {
        "aggregation": "2025-07-11 03:00:00",
        "auctions": 10699420,
        "bids": 10437,
        "visits": 19,
        "estimatedRevenue": 0.0071650565,
        "revenue": 0.0071650565
    }
 ],
 "error": null
}

SUBID - Example Response:

{
 "data": [
    {
        "aggregation": "subidTest",
        "auctions": 199013,
        "bids": 107,
        "visits": 1,
        "estimatedRevenue": 0.000903168,
        "revenue": 0.000903168
    }
 ],
 "error": null
}