Integration

Everything your engineer needs before the second call

Deals in this market are decided by the person who has to implement them. This page is written for that person: versions, endpoints, what we do not support, and what we expect from your side. If something here does not fit your stack, tell us - the answer will be a yes or a no, not a workshop.

Ad pod · 90s break competitive separation on · frequency capped
SSAI
server-side stitched
OpenRTB 2.6
native pod bidding
VAST 4.2
VMAP break rules
100%
fill in this example

Protocols

OpenRTB
2.5 / 2.6 Pod bidding via 2.6 imp.video.podid, podseq and slotinpod. 2.5 supported for legacy stacks.
Ad response
VAST 4.2 / 4.1 / 3.0 VMAP 1.0 for break scheduling. VPAID is not accepted - it does not belong on a TV.
Stitching
SSAI and client-side Server-side insertion with your stitcher, or direct calls from the player.
Transport
HTTPS, JSON over POST gzip on request and response. TLS 1.2 minimum.
Timeout
≤ 300 ms Bidder timeout on our side; we return whatever is decided by then rather than holding the break.

Supply side

Integration paths
S2S · SDK · tag Server-to-server is the default for CTV. SDK for app inventory, VAST tag where nothing else is possible.
Identity
IFA / RIDA / device ID Passed as-is with lmt and dnt respected. No fingerprinting, no synthetic identifiers.
Authorization
app-ads.txt / ads.txt We appear as a direct entry for your inventory. Reseller lines are only used where you asked for them.
Reporting
API + daily export Requests, fills, CPM, revenue by app, country and device - the same numbers we invoice on.
Payouts
Agreed per partner Schedule, method and minimum are set in the contract rather than fixed by us.

Quality and controls

Invalid traffic
Pre-bid and post-bid Traffic we cannot verify is not sold. Rejections are reported to you, not silently dropped.
Brand safety
Category and advertiser blocks Your blocklist applies before the auction, not after the impression.
Competitive separation
Per pod One advertiser and one category per break by default; configurable per partner.
Frequency
Per device, per campaign Enforced on our side so your stream does not repeat the same spot.

What we ask of you

  • 01 A test stream or endpoint we can bid against before anything goes live.
  • 02 Your break structure: how long the pods are and how many slots each holds.
  • 03 An app-ads.txt or ads.txt file we can be listed in.
  • 04 A named technical contact. Integrations stall on missing people, not missing code.
OpenRTB samples, VAST examples and a test endpoint.