RTBkit Home Page

RTBkit is an open-source software framework designed to make it easy to create real-time
ad bidding systems.

RTBkit is a real-time bidder framework designed for use on advertising exchanges such as the Rubicon Project, Nexage, App Nexus, The Google Ad Exchange and others.

The source code is now available at http://github.com/RTBkit under the Apache License.

Latest RTBkit Blog Post

Last week we held our first Virtual Meetup of 2015 with great success. We look forward to bringing you great content and more virtual and in person RTBkit events this year. In case you missed it, tune in to the on demand recording of the meetup.  You will hear: Nicolas Emiliani, RTB Lead at Motrixi review their RTBkit implementation and share best...

Frequently Asked Questions:

What is RTBkit?

RTBkit is an open-source software framework that takes much of the hard engineering work out of creating a Real-Time Bidder for online advertising. Its open, service-oriented architecture can be used to assemble a bidder as simple or complex as desired. The RTBKit core connects to ad exchanges via Exchange Connectors and routes bid requests and data through a configurable set of components which can be extended to implement a customized bidder. More details.

Permalink   ·   Posted on 02/06/2013 - 18:54 in Business

Who can use RTBkit?

Anyone can use RTBkit to build a real-time bidder. RTBkit is open-source software, so it is free to use within the bounds of the Apache License.

Permalink   ·   Posted on 02/18/2013 - 19:29 in Business

How much does RTBkit cost?

RTBkit is open-source software, it is feely available within the bounds of the Apache License.

Permalink   ·   Posted on 02/18/2013 - 19:58 in Business

How can I get started with RTBkit?

RTBkit is software framework which developers can use to build real-time bidders. The first step is to download and explore the code and design your bidder around the RTBkit core and plugin architecture. If you need help, don't hesitate to join our Google Group or find a member of the RTBkit ecosystem to help you.

Permalink   ·   Posted on 02/18/2013 - 19:37 in Business, Technology

What is needed to build a bidder using RTBkit?

Building, deploying and operating a real-time bidder is a complex project. RTBkit can help you with only part of it. RTBkit is not a solution in itself, only a framework, and it doesn't help you with any of the following, all of which you will probably need to complete your project:
  • Develop the GUI to manage your RTB campaigns and to offer reporting to your users
  • Implement the logic that decides how much to bid for each campaign
  • Launch, configure and monitor your bidding agents
  • Launch, configure and monitor your RTBkit installation
  • Handle billing
  • Serve the ads
  • Upload the creatives
  • Find the right servers to host your services on
  • Develop and maintain relationships with the ad exchanges
In terms of skills, keep in mind that working around RTBkit requires a fair understanding of Linux, C++ and make.
Permalink   ·   Posted on 09/13/2013 - 17:17 in Business

How can I get involved?

The best way to get involved is to download the code and start playing with it, join the Google Group to ask/answer questions, and eventually contribute some code back to the project.

Permalink   ·   Posted on 02/19/2013 - 09:03 in Business, Technology

Which software language is RTBkit built with?

RTBkit is written in high-performance C++11 and runs on Linux (Ubuntu 12.04).

Plugins extend C++ classes and plugin bindings currently exist for Javascript (V8/NodeJS). Bindings for other languages (Java, Python etc) should be reasonably straight-forward to build.

RTBkit services and components communicate with each other via ZeroMQ and HTTP. RTBkit uses Graphite to record statistics and Apache ZooKeeper for service discovery.

Permalink   ·   Posted on 02/18/2013 - 19:28 in Technology

What license is RTBkit released under?

RTBkit is released under the Apache License, v2.0.

Permalink   ·   Posted on 02/18/2013 - 19:32 in Business, Technology

Who is behind RTBkit and why?

RTBkit was developed and released by Datacratic and is intended to become a community-led open-source project, contributions are welcome by all.

For more information on why Datacratic released RTBkit see RTBkit: An Exciting Day for Real Time Advertising on Datacratic's blog.   

Permalink   ·   Posted on 02/18/2013 - 19:40 in Business

Is RTBkit secure?

RTBkit is a collection of components which are meant to run behind a firewall which permits connections only to authorized users and exchanges. It is not intended to exposed to the open internet. RTBkit is open-source software, which encourages open collaboration, especially around issues such as security.

Permalink   ·   Posted on 02/18/2013 - 19:52 in Technology

Is RTBkit scalable?

The RTBkit core is horizontally scalable and was designed to support 20,000 queries per second per high-end commodity server.

Permalink   ·   Posted on 02/18/2013 - 19:57 in Technology

Is RTBkit stable / production ready ?

RTBkit is stable. The 0.9 release has a stable API.
RTBkit is production ready.  Multiple RTBkit bidders are currently in production and the number will significantly increase in the upcoming months (August 2013).  
Permalink   ·   Posted on 09/12/2013 - 09:41 in Business, Technology

Does RTBkit have a user interface?

RTBkit does not include a user interface. The RTBkit core is a collection of software components which expose HTTP and ZeroMQ API's, which can be used as a back-end for an external user interface.

Permalink   ·   Posted on 02/18/2013 - 19:43 in Technology

Which Ad Servers is RTBkit compatible with?

RTBkit is ad-server agnostic and is designed to work with any ad-server. RTBkit bidding agents specify which ad-server tags to bid with via a configuration message to the RTBkit core. 

Permalink   ·   Posted on 02/18/2013 - 19:47 in Technology

Which advertising exchanges can RTBkit connect to?

RTBkit is an exchange-agnostic framework and is meant to be compatible with any ad exchange. The RTBkit Core communicates with exchanges via Exchange Connector plugins. A connector for The Rubicon Project and for Gum Gum are already available, and connectors for AppNexus, Nexage, The Doubleclick Ad Exchange and others will be released in the coming weeks and months. Community contributions of Exchange Connector plugins are welcome!

We're maintaining a list of connectors available and being developed here.

Permalink   ·   Posted on 02/18/2013 - 19:49 in Technology

Is RTBkit OpenRTB-compatible?

RTBkit is an exchange-agnostic framework and is meant to be compatible with any ad exchange. The RTBkit Core communicates with exchanges via Exchange Connector plugins and these plugins depend on bid-request parsers. RTBkit's internal representation of a bid request is similar to OpenRTB's representation, with full round-trip serialization as a goal. This means that OpenRTB-formatted bid requests are easy to parse, although exchange-specific connectors or parser extensions may be required, depending on the specifics of each exchange's use of OpenRTB.

Permalink   ·   Posted on 02/19/2013 - 00:37 in Technology

Does RTBkit support Video/Mobile exchanges?

RTBkit is an exchange-agnostic framework and is meant to be compatible with any ad exchange, including video and mobile exchanges. The RTBkit Core communicates with exchanges via Exchange Connector plugins, and it is easy to write such plugins for OpenRTB-compatible exchanges. Connectors for major exchanges, including video and mobile exchanges, are expected in the coming weeks and months. Community contributions of Exchange Connector plugins are welcome!

Permalink   ·   Posted on 02/19/2013 - 08:36 in Technology

What is an augmenter?

An augmentor is an optional component responsible for augmenting a bid request with data as it goes through the router. This data is delivered to each agent that asked for the augmentation and can also be used by the router to apply custom filtering on the bid requests destined for a given agent.
A frequency cap augmentor for example could add the frequency count (the number won bids by an agent for a given user) to the bid request so the router can decide whether the bid request should make it to the agent.
Permalink   ·   Posted on 09/12/2013 - 09:30 in Technology

Is there support for languages other than C++?

Currently there is support for building Bidding Agents in Javascript or Coffeescript. There is also an HTTP Bidder Interface which allows you to write a bidding agent in any language that can accept and respond to HTTP (so, basically, any language).

The goal on the roadmap for RTBkit 2.0 is to open up Augmenters, Augmenter Data integration, logging and analytics plugins to be available to the RTBkit core through HTTP interfaces.  The BidderInterface that is in the current master branch is an early taste of this functionality.

The core of RTBkit is written in C++ and many of the components (i.e. exchange connectors) can only be written in C++. Therefore, it is highly recommended that developers working on RTBkit have C++ experience. 

Permalink   ·   Posted on 08/29/2014 - 13:07 in Technology

What are some of the key operational considerations when thinking about RTB?

Running an RTB system is not trivial. 

You need to consider the following areas:

Cloud vs. buying and hosting your own hardware (i.e. lease vs buy )


  • Hosting - in the cloud or dedicated data center
  • 24-hour logging, monitoring and support
  • Supporting a high-volume distributed system, running on commodity hardware and using basic protocols, connected to other partners on the public Internet. You want ops people with this kind of experience.

Operating Costs

  • Don't overspend on handling more bid requests then you need. Think about your planned spend, and the number of impressions you want to buy. A good rule of thumb is that you will win about 1 out of 100 bid requests you see incoming, so if you assume a CPM typical for your campaigns you can calculate a rough number for the expected volume you will need to support.
  • From that you will want to prototype your system architecture and load test to understand how many hosts you project you will need to run.
  • From that you can calculate a rough monthly operating cost for hosting.
  • You should target 5% of media spend as the limit of what you spend on hosting
Permalink   ·   Posted on 08/29/2014 - 13:20 in Technology