Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

This is the Java version of Prebid Server. See the Prebid Server Feature List and FAQ entry to understand the differences between PBS-Java and PBS-Go.

Prebid Server (Java)

GitHub version GitHub contributors PRs Welcome GitHub pull-requests closed

Prebid Server is an open source implementation of Server-Side Header Bidding. It is managed by, and upholds the principles from the Prebid Code of Conduct.

This project does not support the same set of Bidders as Prebid.js, although there is overlap. The current set can be found in the adapters package. If you don't see the one you want, feel free to contribute it.

For more information, see:

Please consider registering your Prebid Server to get on the mailing list for updates, etc.

Getting Started

The server makes the following assumptions:

  • No ranking or decisioning is performed by this server. It just proxies requests.
  • No ad quality management (e.g., malware, viruses, deceptive creatives) is performed by this server.
  • This server does no fraud scanning and does nothing to prevent bad traffic.
  • This server logs errors but not requests.
  • This server has no user profiling or user data collection capabilities.

This project is built upon Vert.x to achieve high request throughput. We use Maven and attempt to introduce minimal dependencies.

When running, the server responds to several HTTP endpoints.


Follow next steps to create JAR file which can be deployed locally.

  • Install prerequsites

    • Java SDK: Oracle's or Corretto. Let us know if there's a distribution PBS-Java doesn't work with.
    • Maven
  • Clone the project:

git clone
  • Move to project directory:
cd prebid-server-java

And from this step there are two common use cases, which can be chosen depending on your goals

  1. Create prebid-server JAR only
  • First, make sure nothing's running on your local port 8080 or 8090
  • Run below command to build project:
mvn clean package
  1. Create prebid-server JAR with modules
  • Run below command to build project:
mvn clean package --file extra/pom.xml

For more information how to build the server follow documentation.


The source code includes an example configuration file sample/prebid-config.yaml. Also, check the account settings file sample/sample-app-settings.yaml.

For more information how to configure the server follow documentation. There are many settings you'll want to consider such as which bidders you're going to enable, privacy defaults, admin endpoints, etc.


Run your local server with the command:

java -jar target/prebid-server.jar --spring.config.additional-location=sample/prebid-config.yaml

For more options how to start the server, please follow documentation.


To check the server is started go to http://localhost:8080/status and verify response status is 200 OK.

There are a couple of 'hello world' test requests described in sample/requests/README.txt