Prebid Server Documentation

Prebid Server works extremely closely with Prebid.js. For information on getting started with prebid.js, check out the getting started with prebid.js page on

What is this?

Prebid Server is a server-to-server header bidding solution for prebid.js, released and hosted by AppNexus. It's free to use for publishers who have audited domains on AppNexus, and allows those publishers to configure select header bidding demand partners to work through a server-side connection, rather than being called directly from the browser. This can have performance benefits, which helps you make sure that you can have an excellent user experience while also taking advantage of the monetization gains from header bidding.

Getting Started

For setup instructions, see Get Started with Prebid Server on


What demand partners work with Prebid Server?

We're announcing our full partner set soon -- stay tuned.

How does cookie syncing work with Prebid Server?

Prebid Server doesn't require partners to cookie sync with it in a traditional RTB fashion. When we determine that we need a partner's user ID for an end user, we'll grab that partner's ID for that user and store it in a client-side cookie. On subsequent calls, we'll use that partner's ID directly, rather than requiring partners to sync with one another.

How much does Prebid Server cost?

Prebid Server is free to publishers, and there are no charges to demand partners who are integrated.

If it's free, why is AppNexus doing this?

AppNexus believes that it's important for header bidding to remain a fair and transparent technique, and it's clear that server-to-server is an important evolution for header bidding. We want to make sure that everyone can take advantage of server-to-server without relying on any black box technology.

Does AppNexus have any advantages in Prebid Server?

No demand partner, including AppNexus, has any advantage over another in Prebid Server. It's designed to be a separate transparent and fair system, and doesn't give any bias to any partner.

Do I have to be an AppNexus customer to use Prebid Server?

Prebid Server is available to all quality publishers, regardless of if they participate in the AppNexus exchange or not.

How do companies get involved with being S2S partners connected into Prebid Server?

Get in touch at

What's the "auction model" of Prebid Server? What bids will it return or not return?

Prebid Server is a transparent passthrough, so it doesn't do any auctioning by itself. It returns all bids from demand partners to the page, and prebid.js passes them to the ad server -- all just like normal header bidding, only with the benefits of server-to-server connections.

Are Deal ID bids supported in Prebid Server? How do those work?

You can set up deals as normal in your preferred SSPs of choice. When those demand partners return a deal ID, we'll return that to prebid.js. Learn more about deals in prebid.js here:

Is there any bid landscape or log of the server-side bids?

All bids are returned to prebid.js, so you can see what's going on within prebid.

I have a question about Prebid Server, who can answer it?

Prebid Server is a prebid project. Check out to learn more.

Does Prebid Server support AMP ads?

Prebid server now supports AMP. You will need to craft an OpenRTB bid request for each OpenRTB Imp/Appnexus placement, and store that in the AMP tab as JSON with the format shown below.

Note: The placement ID must be unique. This is automatically enforced by AppNexus, so you will be unable to add any duplicate placements.

            "imp": [{
                "ext": {
                    "appnexus": {
                        "placementId": 10433394
                "banner": {
                    "format": [{
                            "h": 250,
                            "w": 300
                            "h": 600,
                            "w": 300
                "id": "test-imp-id"
            "id": "test-request-id"

The UI will not validate that the uploaded JSON is a valid OpenRTB request, but you can test your placement by hitting the Prebid Server endpoint directly (substituting in your actual placement ID) with:


It should return an error if there is an issue with the OpenRTB request, or some prebid targeting keys for DFP if all is good.

Then on your AMP page, you would extend your AMP tag with the rtc-config:

<amp-ad type=doubleclick rtc-config=”{
    "vendors": {
        "prebidappnexus": {
          "PLACEMENT_ID": "654321"
    “timeoutMillis”: 750

where the TAG_ID is your placement ID. This will call out to all demand partners you included in the OpenRTB request you uploaded into this UI. Your prebid creatives will need to be updated to work with AMP.