Overview

This guide is for demand partners looking to integrate their demand with ServerBid publishers. After connecting with ServerBid, the publishers using our service will be able to send you requests and receive your bids, only following your normal approval process. ServerBid is a technical service -- we do not intermediate the business relationships between supply and demand.

Auction Process and Important Terms

ServerBid processes bids from multiple demand partners in a unified auction, and sends the winning bid/ad to the publisher's site through a Prebid.js adapter. Process is as follows:

  1. Prebid.js makes a request to ServerBid, who then makes a request to your exchange. This is recorded as a Request.

  2. If your exchange responds with a bid, that bid competes in a ServerBid auction against bids from other exchanges and is tracked as a Bid.

  3. If your bid wins the ServerBid auction, ServerBid returns your ad to Prebid.js.

  4. If it wins, Prebid.js sends it to the publisher’s ad server.

  5. If the ad server renders the ad, it’s recorded as an Impression.


A publisher can also make a request to the ServerBid API directly without using Prebid.js.

Before We Get Started

If you currently have a process (endpoints, etc.) for server-to-server integrations, please refer to section below on Using Your Existing Server-to-Server Endpoints.

If you do not, please refer to section below If You are Creating a New Server-to-Server Integration.

Using Your Existing Server-to-Server Endpoints

ServerBid can build to your specs, regardless of standard. We need the following 6 items before we can integrate:


Required Integration Items

  • The request endpoint to your exchange
  • Example(s) of requests
  • Example(s) of responses
  • A URL for cookie syncing / user matching. It should look similar to this: http://yourdomain.com/match?UUID= Our user syncing pixel will be appended to the end of this domain.
  • A test endpoint that reliably responds to requests
  • A technical contact


Any documentation that can aid in integration is also appreciated, if available.


Please email support@serverbid.com with the necessary items, and our support team will begin the integration process. We’ll test making BidRequests to your system, as well as user matching via cookie syncing.

If You are Creating a New Server-to-Server Integration

ServerBid uses the OpenRTB 2.4 standard. We’ll make a BidRequest to your system using it, and your response also needs to be in OpenRTB 2.4 format.


To kick off a new integration, email support@serverbid.com. Once work is complete, we’ll test making BidRequests to your system, as well as user matching via cookie syncing.

Example Request

This is the standard request ServerBid makes. Note that you can add additional parameters as needed.


ServerBid Request
"request": {
    "timestamp": 1495584037516,
    "method": "post",
    "url": "http://bidder.com/requesturl",
    "headers": {
      "Host": "bidder.com",
      "x-openrtb-version": "2.2",
      "Connection": "keep-alive"
    },
    "body": {
      "badv": [],
      "device": {
        "ip": "0.0.0.0",
        "devicetype": 2,
        "ua": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36       
      (KHTML,linke Gecko)Chrome/58.0.3029.110 Safari/537.36",
        "language": "EN"
      },
      "id": "4320f932e0b1486290b5026a1c996fb8",
      "imp": [
        {
          "id": "adde8fc7d0544f4da8a00b851225dde3",
          "banner": {
            "w": 300,
            "h": 250,
            "pos": 1,
            "topframe": 1,
            "battr": []
          },
          "bidfloor": 0.01
        }
      ],
      "site": {
        "id": "196749",
        "name": "Publisher",
        "page": "https://publisher.com/page",
        "domain": "https://www.publisher.com",
        "ref": "https://publisher.com/page",
        "cat": [
          ""
        ]
      },
      "user": {
        "buyeruid": "WMP77cAoJFEAAEsPkMMAAACk&364"
      },
      "ext": {
        "ssl": 1
      }
     }
    }

Example Response

The Prebid.js documentation contains example responses and common bidding parameters. Below is an example response.


Partner Response
"response": {
    "timestamp": 1495584037655,
    "status": 200,
    "headers": {
      "date": "Wed, 24 May 2017 00:00:37 GMT",
      "server": "Apache",
      "pragma": "no-cache",
      "cache-control": "no-cache",
      "expires": "0",
      "content-length": "7549",
      "keep-alive": "timeout=1, max=100",
      "connection": "Keep-Alive",
      "content-type": "application/json"
    },
    "body": {
      "seatbid": [
        {
          "bid": [
            {
              "impid": "adde8fc7d0554f3da8a00b851225dde3",
              "adm": "<iframe>creative contents</iframe>",
              "crid": "5015294",
              "adid": "5015294",
              "adomain": [
                "brand.com"
              ],
              "id": "1",
              "price": 4,
              "cid": "1195414",
              "ext": {
                "dspid": 85,
                "advbrandid": 42,
                "advbrand": "Advertiser Brand"
              }
            }
          ],
          "seat": "224433"
        }
      ],
      "cur": "USD",
      "id": "4320f932e0b1486290b5026a0c996fb8"
     }
    }
   }

ServerBid User Matching

To match users between your exchange and ServerBid, we will need your cookie syncing URL. It should look similar to this:

http://yourdomain.com/match?UUID=

Our user syncing pixel will be appended to the end of this domain.


Have questions? Email us at support@serverbid.com.