For DSP partners
Adbustr is a direct supply integration target for performance-focused DSPs, aggregating long-tail video and display inventory served as web (site) supply — in-stream VAST, VPAID, banner, ADM and pop. One OpenRTB 2.5 wire contract, a SupplyChain object on every request, and impression-level logs for reconciliation.
Integration brief
HTTPS POST, application/json, x-openrtb-version: 2.5, keep-alive, UTF-8. Exactly one imp per request. Standard objects throughout — any ext field is agreed at onboarding, never assumed.
Each impression we surface carries source.ext.schain (ver 1.0) with asi, sid, and hp=1 on the Adbustr node. sellers.json, ads.txt, and app-ads.txt are published at their canonical locations.
at=2 is the default clearing rule; at=1 is available per seat. Ranking normalises to a base currency — Norm = price × currency rate × BidRate — and anything under the endpoint bidfloor never clears. The clearing price recorded per request is available to you in the impression-level logs for reconciliation.
Revenue share is configured per integration with per-country (ISO2) overrides. bidfloor, BidRate, and request throttling (ReqFilter) are set per seat and per zone, read from configuration rather than hardcoded.
The request we send
Every request is enriched before it leaves us — real client IP, GeoIP resolution, and browser, OS, and device class from the user agent — then built into a canonical OpenRTB 2.5 BidRequest and fanned out to every eligible seat in parallel, inside tmax.
Video profile
The response we expect
Put the URL of your VAST tag in adm. We wrap it in our own VAST 3.0 wrapper through VASTAdTagURI and serve it to the player. Inline VAST markup in adm will not render.
adm carries the HTML markup. It is served through our banner container with price macros already substituted.
adm carries the landing URL, flagged with imp.instl=1. nurl is accepted as an alternative carrier for the destination.
Notices & macros
nurl
Called server-side the moment your bid wins, after macro substitution. On the OpenRTB channel the win notice can be proxied through /rtb/nurl/{id} so it fires on the billable impression rather than at auction time.
burl
Passed into the rendered creative and fired by the client on the billable impression — from the player in VPAID, from the impression pixel list in pop.
lurl
Fired on every valid losing bid, with the loss reason carried in ${AUCTION_LOSS}.
Supported macros
Macros are substituted server-side before the notice is fired — on nurl, burl and lurl alike. Any additional macro or encoding your seat requires is agreed at onboarding.
Validation
Requests that never reach your QPS budget are logged with a bid / no-bid verdict and the reason below, per request, and surfaced in reporting.
How partnerships work
01
Initial outreach goes through partnerships@adbustr.com. We execute a mutual NDA and exchange technical documentation, including QPS profiles, geographic coverage, seat and currency setup, and inventory class breakdowns.
02
We register your bidder URL, agree tmax and currency, and verify connectivity — a GET on the OpenRTB endpoint is treated as a ping, not a bid request. Test traffic validates schain propagation, macro substitution, and nurl / burl handling end to end.
03
Traffic opens under ReqFilter throttling and a per-endpoint QPS cap, then scales as bid rate, timeout rate, and downstream performance hold. Every step is reversible: the demand fan-out toggle is fail-safe OFF and flips instantly.
Specifications
Demand endpointyour bidder URL (regional URLs supported)OpenRTB inboundhttps://rtb.adbustr.com/rtb/{uid}POST = bid request · GET = pingProtocolHTTPS POST · application/json · UTF-8Headersx-openrtb-version: 2.5 · keep-aliveSpecOpenRTB 2.5Auction timeouttmax 300–500 ms (per publisher / zone)Bidder timeout500 ms · late responses discardedAuction typeat=2 second price (default) · at=1 optionalCurrencyper-seat cur · USD-based rates, hot-reloadedThrottlingReqFilter share per seat · maxqps per endpointNo-bidHTTP 204Email is the fastest path. Or use the form — DSP inquiries are routed straight to the partnerships team.