List of supported OpenRTB bid response fields for DSPs

Your bidding API should respond with the parameters outlined below. Bid responses may contain multiple bids that correspond to a single impression.

Bid response object

The top level Bid Response Object and accompanying fields are below, followed by each lower level object contained within it.

Field Type Description

id

String; required

The Index-generated unique ID for the request. This value must be the same as the value received in the id field of the Bid Request Object.

seatbid

Array of Objects; required

The Seat Bid Object.

ext

Object; optional

A custom Index Response Extension Object that contains information on SSL SSL (Secure Sockets Layer). A security technology for sending secure, encrypted data between a client and a server. implementation.

Bid object

Field Type Description

adm

String; required

The actual ad markup: XHTML if responding to a Banner Object; VAST Video ad-serving template (VAST). A communication standard between ad servers and video players in XML-format that describes the video player's expected behavior. XML if responding to a Video Object, and JSON if responding to a Native Object. For native ads, the contents of the adm are to be sent as an outer native wrapper object. For more information about the supported bid response An OpenRTB response that is sent by the DSP in response to the SSP's or ad exchange's bid request. It is an event directed back to the seller expressing a valuation for the request and conditions of sale. fields, see List of supported OpenRTB bid response fields for native ads for DSPs

Note:

adomain

Array of Strings; required

The domain/landing page/brand to identify the advertiser; limited to 128 characters.

Note: Not required if the impression is passed on.

id

String; required

A unique identifier to represent this bid.

impid

String; required

A unique identifier for this impression (indicated in the id field of the Impression Object); must be equal to the value received in the bid request.

price

Float; required

The bid price represented as cost per thousand impressions (CPM Cost Per Thousand (CPM). A pricing structure for buying impressions and is the cost of serving an advertisement 1,000 times. Also known as Cost Per Mille (where M represents 1,000 in Roman numerals) or Cents Per Mille.). By default, bidding is in dollars represented as floating point numbers (for example, 2.71828).

Optionally, you can configure to send bid price in cents and provide one or more numeric digits, such as 68 which represents a CPM of $0.68.

attr

Array of Integers; optional

The creative type A classification of ads based on behavior. Describes the properties of the advertisement creative. Available formats include: standard, expandable, overlay/voken, in-banner video, survey, audio, and video., as per the standard creative A digital ad made available in various creative types, defined by their size in pixels such as 300x250px. attributes list. We provide additional mapping for 500 Overlay.

Note: Pass only one attribute when possible (preferred).

bundle

String; optional

The app name or bundle being advertised (e.g. "com.foo.mygame") if applicable; unique ID across exchanges.

dealid

String; optional

A unique identifier for the direct deal A private auction that allows publishers to offer specific inventory directly to selected buyers identified by a deal ID. Terms are negotiated and are agreed upon before the auction occurs. associated with this bid; must be equal to the id provided in the Direct Deals Object if indicated in the request.

Note: This is always prioritized over a deal indicated in the Bid Extension Object.

burl

String; optional

The billing notice URL called by an exchange when a winning bid becomes billable based on publisher The owner of a website or app where advertisements are served. criteria (for example, begin-to-render for web, 1-pixel is visible for app).

Note:  

  • It should contain the ${AUCTION_PRICE} notification macro and should be a part of a valid URL.
  • It may contain the ${AUCTION_PRICE} notification macro in both the burl and adm fields. However, only impressions tracked from burl are considered billable.
  • Optionally, it may contain the ${SUPPLY_FEE} notification macro in both the burl and adm fields.

  • Not enabled for all partners by default. To enable burl, contact your Index Representative.

To learn more about the burl workflow at Index, see Billing notifications.

w

Integer; optional

Width of the creative in device-independent pixels.

This field is required if you are responding to a multi-size bid request that includes the format field.

h

Integer; optional

Height of the creative in device-independent pixels.

This field is required if you are responding to a multi-size bid request that includes the format field.

ext

Object; optional A custom Index Exchange Bid extension object which may contain information for this bid.
exp integer; optional

The number of seconds the bidder is willing to wait between the auction and the actual impression.

Bid ext object

Attribute Type Description

dsa

Object; optional

A DSA object that contains Digital Services Act (DSA) transparency information, in response to what was requested in the bid request.

For more information about the DSA, see the Digital Services Act (DSA) documentation.

For more information about how Index supports the DSA, see Policy and regulations.

skadn

Object; sometimes sent

A skadn object passed as received from the DSP Demand-Side Platform (DSP). A software platform that automates bidding decisions in real-time and efficiently connects buyers and audiences through an ad exchange or SSP. Also known as a buy-side platform.. See SKAdNetwork extension object below.

DSA object

Attribute Type Description

adrender

Integer; optional

A flag that specifies if the buyer/advertiser will render their own DSA transparency information inside the creative, where:

  • 0 = The buyer/advertiser will not render DSA information.

  • 1 = The buyer/advertiser will render DSA ifnormation.

behalf

String; optional

A UNICODE text string with the name of the advertiser/buyer on whose behalf the ad is displayed, up to a maximum of 100 characters. For example, "Advertiser1".

paid

String; optional

A UNICODE text string with the name of the advertiser/buyer who paid for the ad, up to a maximum of 100 characters. For example, "Advertiser1".

Note: This field must always be included for DSA-related responses, even if the value is the same as what is included in the behalf field.

transparency

Array of objects; optional

An array of Transparency objects that contain the entities that applied user parameters and the parameters they applied.

Transparency object

Field Type Description

domain

String; optional

The domain of the entity that applied the user parameters in the dsaparams field for targeting. For example, "platform1domain.com".

dsaparams

Array of integers; optional

An array of any buy-side applied user parameters that were used in targeting this user, where:

  • 1 = Profiling. Includes information about the user, collected and used across contexts, that is about the user's activity, interests, demographic information, or other characteristics.

  • 2 = Basic advertising. Includes the use of real-time information about the context in which the ad will be shown, including information about the content and the device, such as: device type and capabilities, user agent, URL, IP address, and non-precise geolocation data. Additionally, any use of basic cross-context information that is not based on user behavior or user characteristics, for uses such as frequency capping, sequencing, brand safety A safe environment for advertising. Brand safety involves not depicting a brand on a site that contains controversial and/or extremist content, regardless of user engagement., and anti-fraud.

  • 3 = Precise geolocation. The precise real-time geolocation of the user, i.e. GPS coordinates within 500 meter radius precision.

SKAdNetwork ext object

If the bid request included the BidRequest.imp.ext.skadn object, then a DSP could include the following object in their bid response. For more information on submitting the correctly formatted values, see Apple’s documentation. If the object is present in the response, then the SSP Supply-Side Platform (SSP). A software platform used by publishers to automate real-time inventory sales to advertisers through an ad exchange or DSP. Also known as the sell-side. would submit the click data and signature to loadProduct() for attribution.

Attribute Type Description

version

String; sometimes sent

The version of SKAdNetwork desired. Must be 2.0 or above.

network

String; sometimes sent

The ad network identifier used in the signature. It should match one of the items in the skadnetids array in the request.

campaign

String; sometimes sent

The campaign A collection of multiple ads in different formats. ID compatible with Apple’s spec. In version 2.0, it should be an integer between 1 and 100, expressed as a string.

itunesitem

String; sometimes sent

The ID of advertiser’s app in Apple’s app store. It should match BidResponse.seatbid.bid.bundle.

fidelities Objects array; optional An object containing the multiple fidelity types introduced in SKAdNetwork v2. See the Fidelities object table below.

nonce

String; sometimes sent

An id unique to each ad response. To learn more, see Apple’s documentation for the proper UUID format requirements.

sourceapp

String; sometimes sent

The ID of publisher’s app in Apple’s app store. It should match BidRequest.imp.ext.skad.sourceapp.

timestamp

String; sometimes sent

The unix time in millis string used at the time of signature.

signature

String; sometimes sent

The SKAdNetwork signature as specified by Apple.

Fidelities object

Fields that should have different values for the different fidelity types such as fidelity, nonce, and signature are wrapped into an array of objects.

Attribute Type Description

fidelity

Integer; optional

The fidelity-type of the attribution to track.
Example: "fidelity": 0

nonce

String; optional

An ID unique to each ad response. For more information, see Apple’s documentation for the proper UUID format requirements.

timestamp

String; optional

The Unix time in millis string used at the time of signature.
Example: "timestamp": "1594406341"

signature

String; optional

SKAdNetwork signature as specified by Apple.
Example: "signature": "MEQCIEQlmZRNfYzK…"

ext

Object; optional

Placeholder for Index-specific extensions.

SeatBid object

Field Type Description
bid

Array of Objects; required

The Bid Object.

seat

String; required

Unique identifier for the agency (when multiple agencies or independent direct clients use a DSP), with a value of:

  • Mediumint unsigned
  • 0 to 16777215

Note:

  • Required by default but can be disabled on a per-DSP basis if requested.
  • If you need to pass alphanumeric values in the seat field, please contact your Index Representative for further assistance.

Response ext object

Attribute Type Description

igbid

Array of Objects; optional

Info: Starting June 2025, Index is pausing support for the Protected Audience API. If you include this field in the bid response, Index will not process it for an on-device auction.

If you are using the Protected Audience API, this is the Interest Group bidding array of objects field that contains information for running an in-browser interest group auction. For the fields included in the igbid, see the Interest group ext object below.


For more information about Interest Groups, see Google’s Protected Audience API documentation.

Interest group ext object

Info: Starting June 2025, Index is pausing support for the Protected Audience API. If you include these fields in the bid response, they won't be processed for an on-device auction.

Attribute Type Description

impid

String; required

If you are using the Protected Audience API, this field is the ID of the Imp object to which these interest group bidding signals apply to.

igbuyer

Array of Objects; required

If you are using the Protected Audience API, this is the Interest Group Buyer array of objects field which holds DSP information for the in-browser auction. For more information, see the Interest group buyer ext object below.

Interest group buyer ext object

Info: Starting June 2025, Index is pausing support for the Protected Audience API. If you include these fields in the bid response, they won't be processed for an on-device auction.

Attribute Type Description

origin

String; required

If you are using the Protected Audience API, this field is the origin (domain) of the interest group buyer to participate in the in-browser auction.

buyerdata

Any; optional

If you are using the Protected Audience API, this field is the buyer-specific signals to use in the protectedAudienceAuctionConfigs.perBuyerSignals in the bid response to the publisher. This is used by the buyer's interest group bidding function. If perBuyerSignals are not required by the buyer bidding function, this field can be left empty.

Note: This field must be JSON-serializable. For example, it could be an object or an array of objects.