OpenRTB bid request & response tester
Paste JSON or load a scenario. Findings appear as you type. Validation runs in your browser. Choose whether to share entered payloads below; see the terms and privacy pages. . For a simulated exchange hop, open the ARTF simulator.
Checking your sharing preference…
Validation runs in your browser. When sharing is on, entered payloads may be stored after known identifiers, IPs, and consent strings are stripped. Built-in examples contribute validation metadata without their JSON. Per-run validation metadata is retained for 30 days. Turning sharing off also stops session recording and tester activity logs in this browser. This preference applies to this browser's tester.
The smallest realistic display request: one banner imp with primary and fallback sizes, a site with publisher, secure flag set, and an explicit USD floor.
⌘/Ctrl+Enter revalidates · click a finding path to jump
Validating…
What this checks
Bid request and bid response validation, standalone or a response against the request it answers, plus ARTF envelopes and mutation sets. Object catalogs cover OpenRTB 2.0–3.0; rule depth is richest on the 2.6 snapshots, and 3.0 validates its envelope and transport objects, including the AdCOM 1.0 catalog under item.spec, bid.media, and request.context. The dialect selects how flag fields such as imp.secure and regs.coppa are read: integers in spec JSON, booleans in protobuf JSON. The profile applies an exchange's documented extras on top of the spec: google-ab requires Imp.ext.billing_id; prebid-server requires a bidder or stored request per Imp; xandr requires seller_member_id and video context; magnite requires xAPI zone/site/account ids.