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 |
---|---|---|
|
String; required |
The Index-generated unique ID for the request. This value must be the same as the value received in the |
|
Array of Objects; required |
The Seat Bid Object. |
|
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 |
---|---|---|
|
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 Note:
|
|
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. |
|
String; required |
A unique identifier to represent this bid. |
|
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. |
|
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, Optionally, you can configure to send bid price in cents and provide one or more numeric digits, such as |
|
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). |
|
String; optional |
The app name or bundle being advertised (e.g. " |
|
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. |
|
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:
To learn more about the |
|
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 |
|
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 |
|
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 |
---|---|---|
|
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. |
|
Object; sometimes sent |
A |
DSA object
Attribute | Type | Description |
---|---|---|
|
Integer; optional |
A flag that specifies if the buyer/advertiser will render their own DSA transparency information inside the creative, where:
|
|
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, |
|
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, Note: This field must always be included for DSA-related responses, even if the value is the same as what is included in the |
|
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 |
---|---|---|
|
String; optional |
The domain of the entity that applied the user parameters in the |
|
Array of integers; optional |
An array of any buy-side applied user parameters that were used in targeting this user, where:
|
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 |
---|---|---|
|
String; sometimes sent |
The version of SKAdNetwork desired. Must be 2.0 or above. |
|
String; sometimes sent |
The ad network identifier used in the signature. It should match one of the items in the |
|
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. |
|
String; sometimes sent |
The ID of advertiser’s app in Apple’s app store. It should match |
fidelities
|
Objects array; optional | An object containing the multiple fidelity types introduced in SKAdNetwork v2. See the Fidelities object table below. |
|
String; sometimes sent |
An id unique to each ad response. To learn more, see Apple’s documentation for the proper UUID format requirements. |
|
String; sometimes sent |
The ID of publisher’s app in Apple’s app store. It should match |
|
String; sometimes sent |
The unix time in millis string used at the time of 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 |
---|---|---|
|
Integer; optional |
The fidelity-type of the attribution to track. |
|
String; optional |
An ID unique to each ad response. For more information, see Apple’s documentation for the proper UUID format requirements. |
|
String; optional |
The Unix time in millis string used at the time of signature. |
|
String; optional |
SKAdNetwork signature as specified by Apple. |
|
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:
Note:
|
Response ext object
Attribute | Type | Description |
---|---|---|
|
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
|
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 |
---|---|---|
|
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. |
|
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 |
---|---|---|
|
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. |
|
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. |