Skip to end of metadata
Go to start of metadata

Selling Deals on AppNexus

You must be certified by AppNexus to sell deals on our platform. Please contact support or your AppNexus representative to find out how to become certified.


As a supply partner, you can use deals to provide AppNexus buyers special access to your inventory and/or data. For example, a deal might provide preferential pricing on inventory, access to exclusive inventory, reduced competition on inventory, or other opportunities. 

This page walks you through the process.

On This Page

Before You Begin

Before you can add deals to AppNexus and transact on them with buyers, you must:

  1. Be certified to sell deals on the AppNexus platform.

  2. Understand the OpenRTB protocol for requesting and receiving bids from AppNexus.

  3. Learn how to use the Console API. See our API Onboarding Process

Step 1. Create the Deal in Your System

  1. Negotiate the deal with the AppNexus buyer.
  2. Add the deal to your own system. 
  3. Ask the AppNexus buyer for their AppNexus member ID, which you will need in the next step.

Step 2. Add the Deal to AppNexus

This step shows you how to use the Console API to add a deal to AppNexus manually. However, we recommend building an automated mechanism to sync your deals to AppNexus whenever they are created in your own system.

  1. Authenticate in the Console API. 
  2. If the buyer did not give you their AppNexus member ID, use the Platform Member Service to find it.

    You can use the  search  query string parameter to search for the buyer by name. The example below shows the response that would be returned when searching for buyers with "Place" in their names. Note that the id field contains the member ID.

  3. Use the Deal Service to add your deal to AppNexus. In your JSON POST, be sure to:
    • Set the code field to your internal ID for the deal.
    • Set the id field in the buyer object to the buyer's member ID.
    • Set the use_deal_floor field to "true" and configure a deal floor by setting the floor_price field. When use_deal_floor is true, the deal's floor price overrides any other floors you may have, i.e., in placements or yield management profiles.
    • Always exclude the following fields in your JSON:

      • profile_idpackage_id , created_bypayment_type

    • We recommend excluding the following fields in your JSON for most deals:
      • size_preferenceaudit_status_optionbrand_restrictcategory_restrictlanguage_restricttechnical_attribute_restrictbrandscategorieslanguagestechnical_attributescreativespriorityallowed_media_typesallowed_media_subtypesmedia_preference

Step 3. Submit a Bid Request with your Deal ID

For basic guidelines of how to create a bid request, see OpenRTB Bid Request. In addition, note the following requirements for deals:

  • Your bid request must contain an additional object called pmp.
  • Within the pmp object, you must also include a deals array containing the deal codes you wish to expose. Each deal code must be specified as the value of the id field in that array.

A sample JSON file including an array of deal codes is shown below.

Then, POST the JSON-formatted file. Be sure to include your member ID in the querystring.


Step 4. Listen for Bid Responses to your Deal ID

Be sure that you are listening for the relevant dealid value in the OpenRTB Bid Response.