# Prebid.js on Web

This article explains how you can connect THEOplayer with Prebid.js. Prebid.js is an open-source header bidding solution. On the client-side, you can request bids from multiple ad networks, take a winning bid and select its associated advertisement. You want to configure and play this selected advertisement in THEOplayer.

Because Prebid.js is a separate library, you can connect it with THEOplayer on any platform that supports both Prebid.js and THEOplayer.

Prebid.js allows you to request bids. This request will respond with bids through a callback function. In this callback function, you have to select a winning bid and extract the ad tag URL. You can configure this URL as THEOplayer's ad source.

## Code example

The code example below is based on the documentation offered by Prebid.org [here](https://docs.prebid.org/dev-docs/examples/instream-banner-mix.html).

The sample application at <https://cdn.theoplayer.com/demos/prebidjs.html> is an example of implementing Prebid.js on top of the THEOplayer Web SDK.

The example above schedules advertisements as pre-rolls (or mid-rolls or post-rolls). You can also dynamically schedule advertisements with the Ads API, as explained in [How to set up VAST and VMAP ads](https://docs-preview.optiview.dolby.com/pr-860/theoplayer/how-to-guides/web/ads/set-up-vast-and-vmap.md).

## Resources

* [What is Prebid?](https://prebid.org/product-suite/prebidjs/)
* [Prebid.js documentation](https://docs.prebid.org/)
* [Prebid.js on GitHub](https://github.com/prebid/Prebid.js)
