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 forbcatWe only support IAB 1.0
400 ResponsesSee 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/openrtbTo 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/jsonTag-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/cHJlYmlkLm9yZwOpenRTB Required Fields
We require a number of fields in the OpenRTB request.
| Field | Example | Description |
|---|---|---|
site.publisher.id or app.publisher.id | cHJlYmlkLm9yZw | The 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.page | publisherdomain.com or https://publisherodmain.com/articles/1 | It is recommended to include both values, but at least one is required. |
device.ua | Mozilla/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.57 | The user agent of the device on which ads will be rendered. |
device.ip or device.ipv6 | 188.26.221.227 or 2001:0db8:85a3:0000:0000:8a2e:0370:7334 | The 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:
User Sync
Please see User Sync
Request Format & Supported Options
imp objects
imp objectsWe 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
imp.banner.format / imp.banner.w, imp.banner.hWe 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
tmaxYou 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: gzipUpdated about 1 month ago
