Vojo

Products

Verification infrastructure for digital out-of-home — modular by design.

  • Platform overviewHow the parts fit together: wrap the creative, read the glass, grade the play.
  • PassportFor everyone. Wrap creative once — verification rides inside. Harvester-compatible by default on fitted screens.
  • HarvesterPatentedOn-glass sensor that produces Proof of Display — independent of the player log.
  • vTrust ScoreOne comparable score from every layer present. Tier 2 always. Tier 3 when Harvester is fitted. Never invents glass credit.
  • Commercial CMSCampaigns, scheduling and fleet ops for DOOH operators — built to sell and run inventory.
  • IntegrationsAPI, webhooks and MCP — pipe verified plays into the exchanges and tools you already use.
  • Smart DOOH PlayerScreens that run themselves and recover without a site visit — optional, never required.

See Proof of Display in a report

A sample roll-up of glass-verified plays — the KPI Vojo Harvester™ produces.

View sample report

Resources

Guides, definitions and proof assets for buyers, networks and partners.

  • Guides & resourcesPractical DOOH verification explainers for media teams.
  • GlossaryShared language for Proof of Display, Passport, and verification.
  • Proof of Play vs Proof of DisplayWhy a playback log isn’t the same as what hit the glass.
  • Sample reportWhat a Proof of Display report looks like in practice.
  • DOOH ad verificationHow independent verification works across the DOOH buy.
  • Trust · Transparency · SustainabilityVojo’s industry pledge — and how the product backs it.
  • Vojo TTS ComplianceSelf-assessment for Trust, Transparency and Sustainability.
Log inBook a demo

Open platform

Your proof, in your stack.

API, webhooks and MCP. Verified plays and screen health land in the tools you already run, not in one more dashboard to log into.

An open platform, not a walled garden. Your data is never locked in.

Book a demoSee what flows out →
POST · your endpointLive
{  "eventType": "pod.verified",  "timestamp": 1721730600,  "count": 1,  "screen": {    "id": "scr_8kUq2",    "name": "Forecourt — Pump 3"  },  "creative": {    "id": "cre_Vt91x",    "name": "Summer Campaign 15s"  },  "address": {    "street": "Donegall Square North",    "city": "Belfast",    "postcode": "BT1 5GS"  },  "fingerprint": "fp_3af9c1e07b",  "freeze": {    "value": 6.4,    "score": 93,    "status": "GOOD"  }}

Example pod.verified payload — A play, independently verified against the campaign.

The walled gardenThree ways outWhat flowsWhere it goesNever locked inWho it’s forQuestions

The walled garden

Start with where verification usually ends up.

A dashboard is not infrastructure

Proof that lives only in a vendor's portal is a report you go and read. Proof that lands in your own systems is something you can price, gate and act on without logging in anywhere.

One more login

Another portal your team has to remember to check, alongside the six they already have.

Nothing downstream

The numbers cannot reach your reporting, your billing or the exchange you sell through.

And not portable

When the data only exists in someone else's tool, switching costs become the product.

Go and read it

Someone has to do this every time they want to know.

  1. Log in→
  2. Filter→
  3. Export→
  4. An out-of-date file

It comes to you

You set it up once and it runs on its own.

  1. Play verified→
  2. Event→
  3. Your systems

Both give you the same numbers. The difference is when you get them. A report is only as current as the last time someone exported it. An event arrives when the play is verified, so your own systems can act on it without anyone logging in.

Three ways out

So there are three ways out, and you pick.

Wrap. Play. Webhook.

Verified delivery leaves Vojo the moment it happens. Subscribe once and Proof of Display, screen health and campaign lifecycle arrive as named product events, not opaque partner blobs.

API

Read your sites, screens, players and harvesters directly, authenticated with an organisation key.

Webhooks

Events pushed to your endpoint as they happen. Self-serve in the portal.

MCP

An MCP server so agent workflows can reach the same data. Early access.

What flows out

And this is what actually comes down the pipe.

The data your platform can’t normally see

Named product events, not opaque partner blobs. Each one is something you can route, store and act on.

Subscribe to the events that matter. Every one carries verified delivery or live screen state behind it.

Verified delivery

Every proven play, streamed the moment the Harvester verifies it — feed advertiser-grade proof straight into your own reporting.

pod.verifiedpod.detected

Screen health & quality

Live screen-status and picture-quality signals, so downtime and degradation reach your monitoring before they reach a client.

screen.activity_changedscreen.quality

Campaign & creative lifecycle

Campaign and creative state as it changes, to keep your booking, sales or finance systems in step with what's live.

campaign.createdcampaign.updatedcampaign.completedcreative.uploadedcreative.approvedcreative.rejected

Where it goes

Into whatever you already run.

Wherever you already work

Exchanges, SSPs, your own reporting, your billing, an agent workflow. Vojo fits how you work rather than asking you to work its way.

A few of the places operators and exchanges point Vojo data. API, webhooks and MCP mean the list is as long as you want it.

Programmatic & SSPs

Open verified inventory to programmatic demand and pass proof of delivery back down the chain.

BI & reporting

Pipe verified delivery into your dashboards or data warehouse and report on evidence, not estimates.

Ops & alerting

Route screen-down and quality alerts into the tools your team already watches.

Your own systems & agents

Subscribe via API or webhooks, or connect an MCP client — build whatever your stack or agent workflow needs.

Never locked in

And the part that makes the rest of it worth having.

Your data, never locked in.

Because Vojo doesn't sell your inventory or sit in your demand chain, the data flows the way you want it to — out to your stack, on your terms. Leaving is always as open as arriving.

It leaves as it happens

Verified plays and screen health are pushed to your endpoint at the moment they occur, so your copy is current rather than exported.

And it stays yours if you leave

The record sits in your systems, in your format. Nothing about the verification depends on you continuing to log in here.

A platform that keeps your evidence hostage is a platform you cannot use as evidence. Switching costs are not a feature.

Who it’s for

Though what you do with the pipe depends who you are.

Three ways people wire this up

The surface is the same either way. What changes is which end of the chain you sit at.

Exchanges and SSPs

You need delivery signal you can stand behind when a buyer queries a line. Verified plays arrive as events you can attach to the impression record rather than a report you request later.

Signal at the source

Network operations teams

Screen health and campaign lifecycle land in the tools you already watch, so a dark panel raises the alert you already respond to instead of one more dashboard nobody has open.

Into your alerting

Teams building their own reporting

You have a warehouse and a BI layer and no interest in another portal. Read the estate through the API, subscribe to what changes, and model it however you like.

Your own stack

Last things people ask.

Questions people ask

How do I authenticate?

With an organisation key. It scopes every read to your own organisation, so a key can only ever see your sites, screens, players and harvesters.

How do I set up webhooks?

In the portal, yourself. Point an endpoint at the events you care about and they start arriving — no integration call and no waiting on us to enable anything.

What can I read through the API?

Your sites, screens, players and harvesters, plus the verified delivery behind them. It is the same data the portal renders, which is deliberate — there is no richer internal view we keep back.

What is the MCP server for?

So agent workflows can reach the same estate and delivery data without someone hand-rolling a wrapper around the REST API. It is early access — talk to us before you build something load-bearing on it.

Do I have to use your portal at all?

No. Everything the portal shows is reachable through the API and pushed through webhooks. Plenty of operators run Vojo entirely from their own systems.

What happens to the integration if I stop paying?

The data you already pulled is yours and stays in your systems — that is the point of pushing it as it happens rather than holding it for export. Live access ends with the account, as you would expect.

Open platform

Your proof. Your systems.

API, webhooks and MCP, so verified delivery reaches the tools you already run instead of waiting in a dashboard.

Book a demoSee Proof of Display

Webhooks self-serve · MCP early access

Vojo

Display with Confidence.

Log in
DPAA — Global Digital Out of HomeDPAA memberDigital Place-based Advertising Association

Products

  • Vojo Passport™
  • Vojo Harvester™
  • vTrust Score™
  • Commercial CMS
  • Integrations
  • Smart DOOH Player
  • Sample report

Resources

  • DOOH ad verification
  • Guides & resources
  • Glossary
  • Proof of Play vs Proof of Display
  • Trust · Transparency · Sustainability
  • Vojo TTS Compliance

Company

  • Book a demo
  • Request pricing
  • Partners
  • Contact

© 2026 Vojo Media · Patented proof of display · UK & US

Vojo's Proof-of-Display technology is protected by granted patents in the United Kingdom (GB2583366, GB2597434) and the United States (US 12,176,999), with a European patent application pending.

Book a demo