OpenRTB 2.5 & 2.6

In addition to Prebid and Prebid Server, AdaptMX offers OpenRTB 2.5 and OpenRTB 2.6 as options for supply integrations.

📘

400 Responses

To see required fields & causes of 400 response codes (bad request) please see Required Fields

Endpoint

AdaptMX uses DNS load balancing to route requests to the nearest data center. You can use our endpoint for all traffic:

Development/Staging:
http://pbs-dev.amxrtb.com/auction/openrtb

To enable 100% fill ads while in development, send the top-level test: 1 parameter on requests.

Production:

Please contact support for a production endpoint

There is no difference in functionality between the dev & production endpoints—we provide different endpoints to better identify testing/staging traffic (e.g. to prevent miscategorization of development/testing as bot/IVT).

OpenRTB 2.5

AdaptMX supports all features of OpenRTB 2.5. We support the following formats:

  • banner/display (e.g. imp.banner)
  • video (e.g. imp.video)
  • native

We accept multiple formats per imp, and multiple imps per request.

Note that you must pass the header: Content-Type: application/json.

OpenRTB 2.6

You don't need to specify which OpenRTB version your request is formatted with. We support OpenRTB 2.6, which enables these features:

  • source.schain
  • device.sua (Structured User-Agent)

Test Mode

If you already have a publisher ID, you can always enable test mode by passing test: 1 on the top-level request object.

You can use cHJlYmlkLm9yZw as the site.publisher.id if you need an ID to test with. Using this ID + passing test: 1 will enable 100% fill test ads.

You should see ads like this:

320x50 Test Ad

User Sync

Please see User Sync

Request Format & Supported Options

imp objects

We are compliant with standard OpenRTB 2.5—we support multiple imp objects per bid request, and also support multiple formats per imp. For example, the following request properties would be valid:

{
  "imp": [{
    "tagid": "atf-unit",
    "banner": {},
    "video": {}
  }, {
    "tagid": "btf-unit",
    "banner": {}
  }
}

imp sizes imp.banner.format / imp.banner.w, imp.banner.h

We support explicit sizes via imp.banner.w/imp.banner.h in addition to multiple-sizes via imp.banner.format[].

imp.bidfloor

Our server respects any imp.bidfloor value passed. We default bidfloorcur to "USD".

imp.tagid and "adUnitId"

The value passed as imp.tagid will be available in our reporting as "adUnitId". This can be used to better match our reporting data with your internal tools/ad-server.

request timeouts / tmax

You can pass a millisecond tmax value. AdaptMX will respect the value passed. You can see our average server RTT on our status page.

QPS Limits

If you plan on sending more than 10k QPS, please ask your account manager for a custom endpoint. This will help us provide better support for your integration.

Impression Counting & Expiration

Impressions are tracked based on pixels fired in the adm by our creative javascript. We will de-duplicate impressions. Note that impressions expire after 2 minutes (120 seconds).

Gzip

We support Gzip in requests, via the Accept-Encoding: header. To send gzip, add Accept-Encoding: gzip on the request.

Accept-Encoding: gzip