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.

ℹ️

We don't support alternative taxonomies for bcat

We only support IAB 1.0

📘

400 Responses

See OpenRTB Required Fields below

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).

HTTP Headers

Note that you must also include a Content-Type header with the value application/json:

Content-Type: application/json

Tag-Specific URLs

You can provide the tagId parameter through the OpenRTB request body (via publisher.id), or through the URL. You can find your tag ids here.

Note: the tag-specific URL is the preferred option.

To construct a tag-specific URL, append the tagId to the path:

https://us-east.amxrtb.com/auction/openrtb/cHJlYmlkLm9yZw

OpenRTB Required Fields

We require a number of fields in the OpenRTB request.

FieldExampleDescription
site.publisher.id or app.publisher.idcHJlYmlkLm9yZwThe AdaptMX tag id. Alternatively, this value may also be provided in the URL. See the Tag-Specific URLs section above for more information.
site.domain or site.pagepublisherdomain.com or https://publisherodmain.com/articles/1It is recommended to include both values, but at least one is required.
device.uaMozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36 Edg/89.0.774.57The user agent of the device on which ads will be rendered.
device.ip or device.ipv6188.26.221.227 or 2001:0db8:85a3:0000:0000:8a2e:0370:7334The IP address of the device on which ads will be rendered.

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