Docs

What is OpenRTB

OpenRTB is the IAB Tech Lab protocol that lets publishers and advertisers transact ad impressions in a real-time auction. It is the JSON spoken between an exchange and the bidders connected to it.

The auction in one paragraph

When a user opens a page or a streaming app, the publisher side packages the opportunity into a bid request: who and what is available, on which device, under which privacy signals. The exchange sends that request to many bidders at once. Each bidder that wants the impression returns a bid responsewith a price and the creative to serve. The highest eligible bid wins, and all of this happens in roughly the time it takes the page to render.

The bid request

A bid request is a single JSON object. At the top sit a request id and an imp array, one entry per impression on offer. Each impression declares its media type as a banner, video, audio, or native object. Surrounding objects describe context and constraints:

  • site or app: where the impression appears
  • device and user: who is seeing it
  • regs: regulatory signals such as GDPR, COPPA, and US privacy
  • source: the supply chain and the entity responsible for the request

Small mistakes here are expensive: a malformed field, a value in the wrong place, or a type the bidder does not expect can drop the impression from the auction entirely, and the failure is silent.

The bid response

The response mirrors the request: a seatbid array of bids, each with a price, a creative, and the macros the exchange will substitute at win time. Response validation is on the rtblint roadmap; the current core focuses on the bid request.

Where rtblint fits

rtblint validates the bid request as structured JSON against a tracked snapshot of the OpenRTB specification, before it is sent or as it is received. It is the layer that catches a bad payload at the boundary rather than letting it fail quietly in the auction.

See what rtblint checks, or paste a request into the tester.