OpenRTB validator and tester

Validate every OpenRTB payload.

OpenRTB validator, tester, and linter for bid requests, bid responses, schain objects, deal metadata, and exchange integrations. OpenRTB 2.6 comes first. OpenRTB 3.0 and AdCOM are next.

OpenRTB 2.6 first Initial release targets OpenRTB 2.6 bid request validation against the published spec.
3.0 + AdCOM next Next milestone expands into OpenRTB 3.0 object graphs and AdCOM-aligned validation.
Spec-grounded rules Required fields, enums, object shapes, and version-specific constraints pulled from OpenRTB docs.
Search-intent coverage

An OpenRTB validator for bid requests, bid responses, exchange testing, and protocol linting.

People do not always search for "protocol validation." They search for phrases like OpenRTB validator, OpenRTB tester, bid request validator, bid response validator, OpenRTB JSON lint, DSP integration testing, SSP integration debugging, schain validation, or deal ID troubleshooting. Those are all variants of the same underlying problem: the payload is the contract, and too many integrations trust it before they validate it.

RTBLint is scoped around that exact control surface. The goal is not to replace bidders, exchanges, or traffic analysis. The goal is to make OpenRTB payloads easier to test, lint, and reason about before bad objects, stale enums, or partner-specific contract drift turn into no-bids, rejected responses, or unexplained revenue loss.

OpenRTB validator

Check object shape, required fields, enums, and version-specific expectations so malformed bid requests and responses fail earlier instead of being debugged deep inside an exchange integration.

Bid request validator

Validate BidRequest payloads for object consistency, site or app context, impression modeling, schain structure, and the attributes your bidder actually requires for decisioning.

Bid response validator

Lint BidResponse and seatbid structures so DSP, SSP, and exchange teams can catch malformed responses, wrong object placement, and contract mismatches before certification.

OpenRTB tester

Use fixture payloads and spec-grounded checks for integration QA, partner onboarding, regression testing, and protocol troubleshooting across supply and demand workflows.

schain and deal QA

Supply chain objects and deal metadata often exist in the payload while still being commercially wrong. Validation helps confirm they are structurally and operationally usable.

OpenRTB 2.6 first, 3.0 next

The roadmap starts with 2.6 bid request validation, then expands into OpenRTB 3.0 and AdCOM where transparency, supply authenticity, and creative object consistency matter even more.

Why validation matters

Valid JSON is not the same thing as a valid OpenRTB integration.

OpenRTB exists to be a common language between buyers and sellers, but the spec itself is clear that recommended attributes are not required and that trading parties should develop integration checklists around what supply actually sends and what demand actually needs. That means a payload can parse cleanly and still be operationally wrong. The site or app context can be inconsistent. An enum can drift from a newer spec release. A schain can exist without being usable. A deal can be present without matching what the partner expects.

That gap is why OpenRTB linting matters. Pure JSON validation catches syntax. It does not catch the integration defects that cause silent no-bids, certification friction, targeting loss, or wrong assumptions about what the auction opportunity really is. Teams need a validator that sits closer to the protocol contract itself.

Revenue and operations

Bad OpenRTB payloads rarely fail where the business feels the pain.

OpenRTB defects often appear as commercial symptoms rather than obvious parser errors. Match rates fall. Bid density drops. Deals do not deliver. Creative eligibility looks wrong. Buyer trust erodes. Teams spend hours diffing fixture payloads, screenshots, and logs trying to explain why one partner accepted traffic and another quietly discarded it. None of that requires a catastrophic outage. It only requires payload truth to degrade somewhere between the spec, the integration contract, and the actual object on the wire.

The stakes keep rising as the protocol evolves. OpenRTB 2.6 added major support for CTV and continues to absorb new signals, from structured user-agent handling to updated video placement semantics, content taxonomy improvements, Extended Content Identifiers, and sidecar APIs around live-event scale. If your payloads or tests lag the current standard, you are not just out of date. You are creating friction that can directly affect targeting quality, supply understanding, and revenue capture.

Where RTBLint fits

RTBLint plugs into OpenRTB testing, QA, and linting workflows before bad payloads reach expensive decision points.

RTBLint is being built as a spec-first OpenRTB linter for bid requests and responses. The public 0.0.1 release is a stub used to reserve the name across registries. The first full milestone targets OpenRTB 2.6 bid request validation in a Rust core, with 3.0 and AdCOM on deck and MCP, WASM, Go, and Python surfaces following after that.

The intended use is practical: partner onboarding, exchange certification, fixture validation, CI, protocol debugging, and rule coverage that keeps pace with the standard. RTBLint does not replace bidder logic or fraud scoring. It gives engineering and ad tech teams an earlier stop point, where a payload can fail deterministically before the cost turns into bid loss, partner confusion, or a postmortem full of contradictory logs.

OpenRTB troubleshooting

OpenRTB bid request rejected? Start with the deterministic failures first.

When teams search for OpenRTB validator, invalid bid request, OpenRTB tester, bid response rejected, schain validation, or deal ID debugging, they are usually not looking for a philosophy of protocol design. They are trying to find the defect that is costing them auctions, certification time, or partner confidence right now. That usually begins with a payload review, not a dashboard.

The fastest path is to eliminate the issues that are cheap to prove: wrong object placement, invalid or stale enums, conflicting context, incomplete supply chain objects, mismatched deal fields, and version drift between what the spec allows and what the partner expects.

OpenRTB bid request invalid

Start with required objects, impression structure, context consistency, and version-specific fields. Many invalid requests are structurally close enough to look correct in logs while still being rejected by partners.

Bid response rejected

Seatbid structure, creative references, adm placement, pricing fields, or version mismatches can all make a response look plausible but fail during certification or runtime exchange processing.

schain validation

Supply chain objects need more than existence checks. Node order, seller identifiers, completeness, and partner expectations all matter if the chain is meant to communicate trustworthy provenance.

Deal ID not delivering

Deals fail when metadata drifts across systems, object fields are misapplied, or the payload contract no longer matches how the deal was configured. Validation helps surface those mismatches earlier.

site vs app mismatch

A request can technically serialize while still describing the wrong environment. That affects targeting, policy, and buyer confidence, especially in mobile, CTV, and header-bidding workflows.

OpenRTB 2.6 vs 3.0 drift

Teams often mix assumptions across versions. Field availability, object modeling, and AdCOM alignment shift over time, so validation needs to be version-aware rather than schema-agnostic.

CTV OpenRTB

CTV OpenRTB validation deserves its own workflow.

OpenRTB 2.6 expanded the protocol meaningfully for CTV, including ad pod support, richer content context, and structured signals that buyers use to decide whether a streaming impression is actually premium. That makes CTV OpenRTB validation more than a generic JSON exercise. Teams need to check whether the request truthfully models pod structure, placement semantics, content metadata, device context, and the newer signals that make CTV inventory legible to buyers.

This is also where RTBLint can earn search traffic from phrases like CTV OpenRTB validator, ad pod validation, video plcmt debugging, and OpenRTB CTV testing. Those are real integration pain points, especially when live-event scale and SSAI workflows compress the time available to catch defects.

CTV bid request validator

Validate video objects, pod modeling, app and content context, and 2.6-era CTV signals so a request describes the stream the buyer is actually evaluating.

Ad pod QA

Check whether ad pod metadata, sequencing assumptions, and impression modeling line up with the publisher, SSAI, or exchange contract rather than just serializing into a request.

Video placement debugging

Placement semantics and video context are easy places for enum drift and legacy assumptions to survive. Those mismatches directly affect eligibility, reporting, and buyer trust.

CTV content signals

Newer OpenRTB content signals, taxonomy usage, and ECID-style workflows increase monetization potential only if the payload expresses them consistently and correctly.

Deal QA

Deal QA is protocol QA, not just sales ops cleanup.

A surprising amount of lost programmatic revenue shows up as deals that were configured correctly in someone’s system of record but described inconsistently once the OpenRTB payload hit the wire. Deal IDs, PMP objects, auction assumptions, floor semantics, and packaging context can all look present while still being wrong enough to cause underdelivery or silent rejection.

That is why deal QA belongs on the RTBLint page as its own search surface. People search for deal ID not working, PMP deal validation, OpenRTB deal troubleshooting, and curated deal testing because the failure often lands far away from where the original configuration happened.

PMP and deal validator

Review pmp and deal objects for structural correctness, expected identifiers, and metadata that actually matches the commercial agreement.

Deal ID troubleshooting

When a deal is configured but does not deliver, validate the payload contract first: IDs, scope, context, partner expectations, and whether the request actually carries the intended opportunity.

Curated deal workflows

As curated inventory and Deals API concepts mature, standardized metadata matters more. Validation helps ensure packaging claims survive beyond spreadsheets and UI screenshots.

Revenue leakage control

Bad deal metadata does not always crash a system. It often shows up as lost delivery, wrong fill expectations, and partner escalations that take too long to trace back to the payload.

Supply chain transparency

schain validation is where supply-path trust becomes testable.

Supply chain data is easy to treat as a checkbox field, but buyers increasingly depend on provenance signals to judge inventory quality and supply authenticity. A malformed or incomplete schain object does not need to trigger a parsing error to create risk. It can reduce trust, complicate policy decisions, and weaken the evidence chain when partners dispute what path inventory actually took.

RTBLint should therefore speak directly to search patterns like schain validator, supply chain object testing, seller ID debugging, and OpenRTB provenance validation. Those are operational trust problems, not abstract standards topics.

schain validator

Check node completeness, ordering, seller IDs, and basic object integrity before supply chain transparency becomes a post-incident exercise instead of a preflight check.

Seller lineage QA

Confirm the payload carries the seller path the contract implies, especially when intermediaries, curation, or platform packaging create ambiguity.

Supply-path debugging

When buyers question the origin or packaging of inventory, a validated schain gives teams a cleaner starting point than vague partner assurances and screenshots.

OpenRTB 3.0 alignment

As the protocol pushes harder on transparency and authenticated supply concepts, teams need linting that treats provenance fields as first-class validation targets.

Certification workflows

Bidder certification is a validation workflow, not a screenshot workflow.

Bidder, DSP, SSP, and exchange certifications are often where payload defects become painfully visible. Teams swap fixture payloads, spreadsheets, screenshots, and email threads trying to prove whether the request or response is right. A purpose-built OpenRTB linter can reduce that noise by making protocol checks reproducible before the certification queue becomes the first place anyone sees the problem.

This is also strong SEO territory: bidder certification checklist, OpenRTB integration testing, DSP onboarding QA, SSP certification debugging, and exchange payload validation all map directly onto how RTBLint would be used in practice.

Bidder certification checklist

Turn recurring payload reviews into deterministic checks that can run before a bidder or exchange partner starts formal certification.

DSP onboarding QA

Validate request coverage, required attributes, and version assumptions so demand integrations fail early instead of becoming long certification threads.

SSP and exchange testing

Use OpenRTB linting to compare fixture payloads, isolate contract drift, and reduce the time spent arguing over whether the issue lives in the payload or the runtime path.

CI for protocol regressions

Once a certification bug is found, it should become a test. RTBLint’s long-term value is not just debugging once, but preventing the same payload regression from shipping again.

Protocol QA checklist

What to validate before an OpenRTB payload reaches a partner.

A good OpenRTB testing workflow checks more than whether a request can be serialized and shipped. It validates whether the payload is structurally correct, version-correct, partner-usable, and commercially aligned with what the auction is supposed to represent.

Envelope and object shape
  • Validate required top-level objects, IDs, and array structure.
  • Check imp, site, app, device, user, and source objects for contradictions.
  • Make sure request and response payloads line up with the intended OpenRTB version.
Enums and protocol semantics
  • Check enum values, media-type assumptions, and version-specific constraints.
  • Validate newer 2.6-era signals such as placement semantics, structured user-agent handling, and evolving content metadata expectations.
  • Catch fields that are syntactically present but semantically wrong for the integration.
Partner contract and transparency
  • Validate schain, pmp, and deal metadata against the actual partner contract.
  • Check recommended fields your buyer or seller depends on, even if they are not universally required by the spec.
  • Use validation before onboarding, certification, fixture review, and production rollouts.
Reference trail

The framing here is grounded in OpenRTB's own positioning as a common protocol layer, the spec guidance around integration checklists, and current IAB Tech Lab updates around CTV, transparency, and operational interoperability.

FAQ

Questions teams ask when OpenRTB payloads stop making sense.

How do I validate an OpenRTB bid request before integration testing?

Start with structural checks, then move to version-aware checks and partner-aware checks. Validate required objects, enum values, context consistency, schain structure, deal metadata, and the fields the buyer or seller explicitly depends on for decisioning.

The point is to catch defects before the request is exercised in a real exchange path, where the same bug becomes slower and more political to debug.

Why does my OpenRTB JSON parse but still get rejected by a partner?

Because JSON validity is only the first layer. A partner may reject or devalue the payload because required protocol objects are missing, site and app context conflict, enums are stale, schain is incomplete, or recommended attributes needed for bidding are absent.

In practice, the payload often looks close enough to pass a casual review while still being commercially unusable.

What is the difference between an OpenRTB validator, tester, and linter?

A validator checks compliance against protocol rules. A tester helps exercise fixtures and integrations. A linter sits between the spec and the production contract, surfacing issues that are not just syntax problems but also interoperability and integration-quality problems.

That extra layer is important because many expensive OpenRTB bugs are semantically wrong rather than structurally impossible.

How do I test schain and deal fields in OpenRTB?

Confirm the fields are present, but also confirm they are complete, in the right place, and actually match the buyer or seller contract. schain and deal objects often survive serialization while still being wrong for the transaction they are supposed to describe.

That is why protocol QA needs to include partner assumptions, not just generic object existence checks.

Does RTBLint support OpenRTB 2.6 and 3.0 today?

The public 0.0.1 release is currently a stub used for name reservation across registries. The first full implementation is aimed at OpenRTB 2.6 bid request validation.

OpenRTB 3.0 and AdCOM are planned next, followed by MCP, WASM, Go, and Python surfaces once the core rule engine is in place.

Can malformed OpenRTB traffic look like fraud or revenue loss?

Yes. Malformed or misleading payloads can show up as low bid rates, wrong inventory interpretation, broken deal delivery, or general distrust between partners. Those are commercial symptoms, not just parser symptoms.

Not every malformed payload is fraud, but deterministic validation reduces the ambiguity that lets loss hide inside protocol breakage.

How do I validate a CTV OpenRTB bid request?

Treat CTV as its own validation surface, not just generic video traffic. Check the video object, ad pod modeling, placement semantics, app and content context, device signals, and whether the 2.6-era fields actually describe how the stream is being monetized.

CTV payload defects often stay hidden until they affect buyer confidence, reporting quality, or live-event execution. That is why version-aware linting matters earlier in the workflow.

What should I check when a deal ID is configured but not delivering?

Start with the OpenRTB payload, not just the deal UI. Confirm the pmp and deal objects are present, IDs match the commercial agreement, auction assumptions are correct, and no partner-specific metadata has drifted.

Many deal failures are not caused by missing setup. They are caused by payloads that describe the deal incompletely or inconsistently once the transaction actually happens.

Does RTBLint help with Deals API and curated deal QA?

That is part of the intended direction. RTBLint is aimed at the payload layer where deal metadata, packaging context, and partner assumptions actually show up in OpenRTB.

It will not replace deal systems or workflow tools, but it can help identify the protocol defects that make a configured deal fail to behave the way teams expected.

How do I plan an OpenRTB 3.0 and AdCOM migration?

Treat migration as a version-aware validation problem, not just a schema rename. Compare what exists in your 2.x payloads with how object relationships, transparency assumptions, and creative modeling evolve under 3.0 and AdCOM.

A useful migration workflow identifies object-level drift, unsupported assumptions, and partner readiness before live traffic is involved. That is one reason RTBLint’s roadmap separates 2.6 validation from 3.0 plus AdCOM support instead of pretending they are the same target.

Do I need different testing for OpenRTB 2.6 versus 3.0 plus AdCOM?

Yes. OpenRTB 2.6 and OpenRTB 3.0 plus AdCOM are not interchangeable validation targets. Field availability, modeling choices, transparency expectations, and object relationships change enough that testing needs to be explicitly version-aware.

That is why the roadmap targets 2.6 first, then 3.0 plus AdCOM. It keeps validation aligned with the actual protocol surface instead of flattening major version differences into one vague “OpenRTB compatible” claim.