Integrated partners send bid requests to Index Exchange (Index) with the parameters of biddable impression opportunities. Index sends requests of its own to integrated demand partners to retrieve bids. This topic lists Index's supported bid request fields for OpenRTB S2S integrations. To learn more about these fields, refer to the Interactive Advertising Bureau (IAB) OpenRTB 2.6 Specification. For OpenRTB bid request examples, see Examples of OpenRTB bid requests and responses.
OpenRTB protocol differences
The Index bidding API differs slightly from the guidelines outlined in the IAB OpenRTB 2.6 Specification. The following table lists these differences:
| Field | IAB scope | Index scope |
|---|---|---|
| Recommended | Index requires the |
| Recommended | Index requires all bid requests to include either the |
Deal configuration
You can create Private Marketplace Deals (PMP) deals with various demand partners. After the deals are created and made active, the deal parameters are either communicated within the bid request or inferred from the bid request. For more information about deal configuration options, see Deal configuration options in an OpenRTB integration.
Supported OpenRTB bid request fields
The following table lists the Index required and optional fields in the OpenRTB S2S integration. If your integration does not include the required fields, contact us before beginning the integration process.
Note:
- All fields are considered case-sensitive.
- Make sure to send data for bid requests in JSON RFC4627 format, following the OpenRTB standard.
BidRequest object
Index supports the following fields in the top-level bid request object.
| Field | Type | Description |
|---|---|---|
| String; required | The unique alphanumeric ID for the request. |
| Object array; required | An array with one or more Impression objects. An impression object could include one or more format types, such as the Banner object, Video object, and Native object. |
| Object; required | The Device object that contains information about the user's device to which the impression will be delivered. |
| Object; optional | The App object is included if the impression originates from an application. It contains details about the media owner's app (for example, a non-browser application). |
| Integer; required | The maximum time, in milliseconds, to submit a bid to avoid timeout.
The minimum Note: If required, we subtract latency when passing the |
| Integer; optional | The auction type for the bid request. This value should always be Note:The second price auction type is deprecated and no longer supported. |
| String array; optional | The currencies that Media Owners will accept in bid responses. Currencies must be specified in the ISO-4217 standard and must be supported by Index. For more information, see List of supported currencies for Media Owners. |
| String array; optional | An array of strings that specify any blocked top-level domains of advertisers. For example, [ |
| String array; optional | An array of blocked advertiser categories, based on standard IAB content categories. For a full list of values, see List: Category Taxonomies in AdCOM 1.0. |
| Integer; optional | The taxonomy in use for the For a full list of values, see List: Category Taxonomies in AdCOM 1.0. If the |
| Object; optional | A custom Index Bid Request Extension object containing additional information about this bid request. |
| Object; optional | The Regs object that specifies any industry, legal, or governmental regulations in force for this request. |
| Object; optional | The Site object containing details about the media owner's website. It is included only if the impression originates from a website. |
| Integer; optional | Specifies whether the auction is operating in test mode, in which case auctions for this impression are not billable, where:
|
| Object; optional | The User object containing details about the user of the device; the advertising audience. |
source | Object; optional | The Source object that provides data about the inventory source. |
| String array; optional | Allowed list of languages for creatives using ISO-639-1-alpha-2.
If you omit this field, it implies that there are no specific language restrictions. However, DSPs would be
advised to consider the |
BidRequest extension object
| Field | Type | Description |
|---|---|---|
| Integer; optional | Specifies whether the impression requires secure HTTPS URL creative assets and markup, where:
If this field is not present, Index interprets that the secure state is unknown and assumes HTTP is supported. |
Source object
| Field | Type | Description |
|---|---|---|
| String; optional | The Payment ID chain string provides visibility into an impression's supply path. For bid requests sourced directly from Index, the
For example, For bid requests sourced from a supplier, the |
| Object; optional | The Supply Chain object. Like To interpret the |
| String; optional | The Source Extension object that is used to specify additional details about the source of the bid request. |
Source extension object
| Field | Type | Description |
|---|---|---|
| String; optional | An identifier for the OM SDK integration. This is the same as the |
| String; optional
| A version of the OM SDK integration. This is the same as the |
SupplyChain object
| Field | Type | Description |
|---|---|---|
| Integer; required | A flag that specifies whether the chain contains all nodes involved in the transaction leading back to the supply source of the inventory, where:
|
| Object array; required | An array of |
| String; required | Version of the supply chain specification in use, in the format of “major.minor”. Index is currently using version 1.0 of the sellers.json specification. |
Nodes object
| Field | Type | Description |
|---|---|---|
| String; required
| Domain name of the system that the bidder connects to. For example, SSP, exchange. Note: You can find the sellers.json file of the corresponding advertising system participating in the transaction for each node through this domain name. |
| String; optional | The request's OpenRTB RequestId issued by the seller. Note: The same information can also be found in |
sid | String; required | The seller or reseller account ID. Note: The same information can also be found in |
| Integer; required | Specifies whether this node is involved in the flow of payment for the inventory. The |
Regs object
| Field | Type | Description |
|---|---|---|
| Integer; optional | Specifies whether this request is subject to the United States Children’s Online Privacy Protection Act (COPPA), where:
If this flag is omitted in the request, Index assumes that this information is unavailable. |
| Object; optional | The Regs Extension object that is used to specify requests that are subject to regulations. |
| Integer; optional | Specifies whether the request is subject to regulations, where:
You can send the |
| String; optional | Contains the Global Privacy Platform (GPP) string to communicate user elected privacy choices. For more information about the GPP framework, see the IAB's Global Privacy Platform page. |
| Integer array; optional | Specifies the Global Privacy Platform (GPP) section IDs or individual privacy frameworks that apply to the bid request. For a current list of section IDs recognized by the GPP framework, see the IAB's Section Information page. |
| String; optional | Specifies whether US privacy laws (for example, CCPA) apply or don't apply to the user in the bid request. This field contains four characters. for example,
For example, a string passed as Note: When a consumer chooses to opt-out of the sale of their personal information, the following bid request fields are automatically adjusted:
|
Regs extension object
| Field | Type | Description |
|---|---|---|
| Object; optional | A DSA object that contains Digital Services Act (DSA) transparency information. 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. |
| Integer; optional | Specifies whether the request is subject to regulations, where:
You can send the |
DSA object
| Field | Type | Description |
|---|---|---|
| Integer; optional | A flag that specifies if DSA transparency data is required for audit purposes, where:
|
| Integer; optional | A flag that specifies if this media owner is able to and intends to render the DSA Transparency information received in the DSA object in the bid response. DSA transparency information can be rendered via an icon or other appropriate user-facing symbol to the user, where:
|
| Integer; optional |
A flag that specifies if DSA information should be made available for this request in the bid response. This signals that the bid request belongs to an Online Platform/VLOP (Very Large Online Platform), and the buyer should respond with DSA transparency information based on the
|
| Object array; 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 user parameters that were used in targeting this user, where:
|
Imp object
This object describes an ad placement or impression opportunity being auctioned. A single bid request may include one or more imp objects, corresponding to one or multiple impression opportunities, for which you would like to receive bids from Index's buyers. Each imp object has a required ID so that bids can reference them individually.
Note: You can send multi-format requests for impression opportunities that allow multiple format types. For example, you can send requests that allow banner, video, and native creatives in an impression opportunity.
| Field | Type | Description |
|---|---|---|
| String; required | A unique identifier for this impression. |
| Object; required | The Banner object. |
| Object; required | The Video object. |
| Object; required | The Native object. This field is required if this impression is offered as a native ad opportunity. |
| Float; optional | The minimum bid for this impression in CPM. |
| String; optional | The currency for the bid floor. Currencies must be specified in the ISO-4217 standard and must be supported by Index. For more information, see List of supported currencies for Media Owners. |
| Integer; optional | Specifies whether an ad is interstitial, where:
|
| Object; optional | A custom Index Impression Extension object containing additional information about this impression. |
| Object; optional | The PMP object containing information about deals for this impression. |
| Object; optional | The Metric object that contains more information about any metrics associated with this impression. |
| Integer; optional | Indicates if this impression is associated with a rewarded placement, where:
|
| Object; optional | A flag to specify whether the impression requires secure HTTPS URL creative assets and markup, where:
If this field is not present, the secure state is interpreted as being unknown and it is assumed that HTTP is supported. |
| String; optional | A unique identifier for the ad placement or ad tag on a media owner's website or app that was used to initiate the auction. DSPs can use this detailed breakdown of media owner inventory that specifies the exact location of the ad on a web page or app to optimize and troubleshoot buyer campaigns. Note: If you do not specify the |
Imp extension object
The imp object may include an extension object. It provides additional information about the impression opportunity.
| Field | Type | Description |
|---|---|---|
| Integer; optional | Info: Starting in June 2025, Index has paused support for the Protected Audience API. If you include this field in the request, it won't be forwarded to DSPs. If you are using the Protected Audience API, this field specifies the auction environment for the request, where:
For more information about using the Protected Audience API with Index, see Receive Protected Audience API demand from Index using Prebid.js. |
| String; optional | The Google Ad Manager ad unit code of the ad slot that the bid request was sent for. This will be used as a fallback for the Global Placement Identifier (GPID) if the below |
| Object; optional | The custom key-value pairs that you want to pass to Index that provide contextual information about an ad unit. For more information see, Targeting custom key values in deals using inventory groups (Beta). |
| String; optional | The Global Placement Identifier (GPID) for the ad slot or placement. This should be a unique ad unit code that corresponds to the request coming from the ad slot or placement. For more information about GPID, see Send the Global Placement Identifier (GPID) to Index. Note:
|
| Object; optional | Specifies media owner support for Apple's SKAdNetwork app install attribution. For more information, see the SKAdNetwork Extension object. |
| String; optional | Seller integration data passed to Index. You can use this field to pass any custom data that you want to receive in your Client Audit Logs (CAL). |
| String; optional | The unique transaction ID for each impression, which is common across all the exchanges that are bidding on this impression opportunity. This field is an implementation of OpenRTB's community extension for Per-Impression Transaction IDs. |
SKAdNetwork extension object
The skadn object may include an extension object. To learn more, see OpenRTB SKAdNetwork extension.
| Field | Type | Description |
|---|---|---|
| String; optional | The version of skadnetwork supported. This field is always Note: With the release of SKAdNetwork 2.1, this field is deprecated in favor of the |
| String array; optional | An array of strings containing the supported skadnetwork versions. This field is always |
| String; optional | The ID of The Media Owner app in Apple's app store. It should match the |
| String array; optional | A subset of Note: |
| Object; optional | A Skadnetlist object containing the IAB's list definition. For example, |
Skadnetlist object
This object provides the IAB's skadnetwork object list fields.
| Field | Type | Description |
|---|---|---|
| Integer; optional | A list containing the max entry ID of SKAdNetwork ID. For example, |
| Integer array; optional | A comma-separated list of IAB registration IDs that are to be excluded from the IAB shared list. For example, |
| String array; optional | A comma-separated list of string SKAdNetwork IDs, expressed as lowercase strings, not included in the IAB shared list. It is recommended that this list should not exceed 10 IDs. For example, |
Metric object
The metric object is associated with an impression as an array of metrics. These metrics can offer insight into the impression, such as recent viewability, completion rate, and click-through rate. Each metric is identified by its type, the value of the metric, and optionally the source or vendor that measured the value.
| Field | Type | Description |
|---|---|---|
| String; required | The type of metric being presented. Index supports the following metric types:
|
| Float; required | A number representing the value of the metric. Probabilities must be in the range of |
| String; optional | The source of the value using exchange curated string names. Index passes through this value from the media owner if provided. For any value produced by Index, the vendor is |
Banner object
This object is a subordinate of the Impression Object that describes a banner ad impression. If the impression offered for auction is for banner or rich media, make sure to include the banner object directly into the Impression Object. You can optionally embed it in the Video Object to describe the companion banners available for the linear or non-linear video ad. For information on the supported ad dimensions for a banner impression, see List of supported ad sizes.
| Field | Type | Description |
|---|---|---|
| Objects array; optional | An array of Format objects specifying the banner sizes permitted for an impression opportunity. |
| Integer; required | The height of this impression, in pixels. See List of supported ad sizes |
| Integer; required | The width of this impression, in pixels. See List of supported ad sizes |
| Integer array; optional | Specifies the supported API frameworks, where:
By default, custom APIs are assumed as unsupported. |
| Integer array; optional | Specifies blocked creative attributes; it is preferred that only one attribute is passed. In addition to the standard creative attributes, Index supports the |
| Integer array; optional | Specifies expandable ad direction, where
|
| Integer; optional | The maximum height of the impression in pixels. If included, it specifies that a range of sizes is allowed with this maximum height and |
| Integer; optional | The minimum height of the impression in pixels. If included, it specifies that a range of sizes is allowed with this minimum height and |
| String; optional | A unique identifier for this impression. |
| String array; optional
| Allowed list of content MIME types supported. Popular MIME types include but are not limited to: |
| Integer; optional | Specifies the position of the ad as a relative measure of visibility or prominence, where:
|
| Integer; optional | Specifies whether the banner is in the top frame, as opposed to an iframe, where:
|
| Integer; optional | The maximum width of the impression in pixels. If included, it specifies that a range of sizes is allowed with this maximum width and |
| Integer; optional | The minimum width of the impression in pixels. If included, it specifies that a range of sizes is allowed with this minimum width and |
Banner extension object
| Field | Type | Description |
|---|---|---|
| Float; optional | The minimum bid for this banner impression in CPM. |
Video object
If the impression opportunity supports video creatives, make sure to include the video object directly in the Impression object of the bid request. An imp array could include one video impression or multiple video impressions. It is considered a podded or non-podded request based on the following:
If a bid request includes one video impression with the
podid,poddur, andmaxseqfields, it is considered a dynamic podded request. If you omit these fields, it is considered as a non-podded single-impression request.If a bid request includes multiple video impressions with the same
podidfield, it is considered a structured podded request. Index requires multiple video impressions to include the samepodidrepresenting all impression opportunities from a single ad pod.
| Field | Type | Description |
|---|---|---|
| Integer; required | The height of the player, in pixels. |
| Integer; required | The maximum video ad duration in seconds. |
| Integer; required | The minimum video ad duration in seconds. |
| String array; required | List of supported content MIME types. Popular MIME types supported by HTML5 players include: Note: If you include |
| Integer array; required | An array of supported video protocols. At least one supported protocol must be specified, where:
|
| Integer; required | The width of the player, in pixels. |
| Integer array; optional | A list of supported API frameworks, where
By default, custom APIs are assumed to be unsupported. Note:
|
| Integer; optional | Specifies whether letter-boxing of 4:3 content into a 16:9 window is allowed, where:
|
| Integer array; optional
| Specifies blocked creative attributes; it is preferred that only one attribute is passed. In addition to the standard creative attributes, Index supports the |
| Object array; optional | If companion ads are available, they can be listed as an array of Banner objects. |
| Integer array; optional | A list of supported VAST companion ad types, where:
|
| Integer array; optional | A list of supported delivery methods. If blank, it is assumed that all are supported, where:
|
| Integer; optional | Specifies whether the ad impression is linear or non-linear. If the field is blank, the ad impression can be of any type, where:
|
| Integer; optional | Specifies whether the player allows the video to be skipped, where:
|
| Integer; optional | Videos of total duration greater than this number of seconds can be skippable; only applicable if the ad is skippable. |
| Integer; optional | Number of seconds a video must play before skipping is enabled; only applicable if the ad is skippable. |
| Integer; optional | The maximum extended ad duration if extension is allowed, where:
|
| Integer; optional | The maximum bit rate in Kbps. |
| Integer; optional | The maximum number of ads that can be served into a dynamic video pod. Note: This field is required for dynamic podded requests. |
| Integer; optional | The minimum bit rate in Kbps. |
| Integer; optional | The video's placement type, where:
Note:
|
| Integer; optional | The video's placement type in accordance with the updated IAB Digital Video Guidelines, where:
For more information about this field, see Sending the plcmt field in OpenRTB bid requests. Note: Index recommends that you pass the |
| Integer array; optional | A list of allowed playback methods, where:
If blank, Index assumes that all methods are allowed. Note: Index recommends that you pass the |
| Integer; optional | The total amount of time in seconds that advertisers may fill for a dynamic video pod or the dynamic portion of a hybrid video pod. Note: This field is required for dynamic podded requests. |
| String; optional | A unique identifier indicating that this impression opportunity is for a video ad pod. If multiple impression opportunities within a bid request share the same Note: This field is required for podded requests. |
| Integer; optional | Specifies the position of the ad as a relative measure of visibility or prominence, where:
|
| Integer; optional | If multiple ad impressions are offered in the same bid request, the sequence number will allow for the coordinated delivery of multiple creatives. Note: Although this field is deprecated in OpenRTB 2.6, Index still continues to support it. |
| Integer; optional | Specifies the start delay in seconds for pre-roll, mid-roll, or post-roll ad placement, where:
|
Video extension object
The video object may include an Extension object. It provides additional information about the video impression opportunity.
| Field | Type | Description |
|---|---|---|
| Integer; optional | Specifies whether the ad is being rendered as a part of a rewarded video ad experience, where:
|
| Float; optional | The minimum bid for this video impression in CPM. |
Native object
The presence of a native object as a subordinate of the impression object indicates that this impression is offered as a native type impression. At the media owner's discretion, that same impression may also be offered as banner or video by also including them as imp subordinate objects of those types.
| Field | Type | Description |
|---|---|---|
| String; required | The request payload complying with the OpenRTB Dynamic Native Ads API Specification Version 1.2. For more information about the |
| String; optional | The version of the native markup in use. |
| Integer array; optional | The list of supported API frameworks for the impression. If an API is not listed, assume it is not supported. |
| Integer array; optional | The blocked creative attributes. To learn more, see the List of creative attributes. |
Native extension object
| Field | Type | Description |
|---|---|---|
| Float; optional | The minimum bid for this native impression in CPM. |
Format object
The format object specifies an allowed size, in height and width combination, for a banner impression opportunity. These are typically used in an array where multiple sizes are permitted.
| Field | type | Description |
|---|---|---|
| Integer; optional | The height in device-independent pixels. |
| Integer; optional | The width in device-independent pixels. |
PMP and Deal objects
PMP object
Include any private marketplace active deals for the impression in the PMP object.
| Field | Type | Description |
|---|---|---|
| Integer; optional | The scope of bidding eligibility for this impression, where:
If omitted, bidding eligibility is determined based on the seller's deal configuration in the Index system. |
| Object array; optional | A collection of Deal objects containing any direct deals eligible for this impression. |
Deal object
| Field | Type | Description |
|---|---|---|
| String; required | A unique identifier for the direct deal. |
| Integer; optional | An optional override of the overall auction type of the bid request, where:
Note: The second price auction type is deprecated and no longer supported. Additional auction types can be defined by the exchange. |
| Float; optional | The designated floor price for this direct deal. Note: This value must be sent in dollars. |
| String; optional | The currency for the bid floor. Currencies must be specified in the ISO-4217 standard and must be supported by Index. For more information, see List of supported currencies for Media Owners. |
| String array; optional | An array of buyer seats eligible to bid on this direct deal. For example, |
| String array; optional | An array of advertiser domains eligible to bid on this direct deal. For example, |
Deals extension object
| Field | Type | Description |
|---|---|---|
| Integer; optional | The deal is a guaranteed deal where a media owner and buyer have negotiated an exact volume of impressions at a fixed price, where:
|
Site object
| Field | Type | Description |
|---|---|---|
| String array; optional | A single-element array representing the standard IAB content category for the overall site. For example, |
| Integer; optional | The taxonomy in use for the |
| Object; optional | The Content object that provides details about the content within the site. |
| String; optional | A static value representing the domain of the site. Anything above 512 characters is truncated. Note: This is a required field if the |
| String; optional | A unique identifier for the website, defined by the seller. |
| String; optional | A pointer to the domain of a partner that is explicitly authorized to monetize ads within this site's content. The partner's corresponding app-ads.txt or ads.txt file will be hosted at this domain and can be used for supply chain validation. For more information about how to implement this field, see the IAB's ads.txt Specification. |
| String; optional | A comma-separated list of keywords that describe the site. Maximum of 255 characters, additional characters will be truncated. Note: Do not include personal data, personal information, or sensitive information. |
| Integer; optional | Specifies whether the site has been programmed to optimize layout when viewed on mobile devices, where:
|
| String; optional | The URL of the page where this impression will be shown. Anything above 512 characters is truncated. Note: This is a required field if the |
| String array; optional | Content categories that describe the current page or view of the site. These categories are defined by the IAB. For a full list of values, see List: Category Taxonomies in AdCOM 1.0. |
| Object; optional | Provides details about the producer of the content. For more information about the |
| String; optional | The referring URL that caused navigation to the page hosting this impression. Anything above 512 characters is truncated. |
| String; optional | A search string that resulted in the user navigating to the current page. Maximum of 255 characters, additional characters will be truncated. Note: This field will be available to Media Owners in setting up deals, but the field will not be sent in bid requests to DSPs. |
| String array; optional | Content categories that describe the current section of the site. These categories are defined by the IAB. For a full list of values, see List: Category Taxonomies in AdCOM 1.0. |
| String array; optional | A custom Index extension containing additional information about this impression. |
Site extension object
| Field | Type | Description |
|---|---|---|
| Object; optional | The custom key-value pairs that you want to pass to Index that provide contextual information about a site. For more information see, Targeting custom key values in deals using inventory groups (Beta). |
| String; optional | A pointer to the domain of a partner that is explicitly authorized to monetize ads within this site's content. The partner's corresponding app-ads.txt or ads.txt file will be hosted at this domain and can be used for supply chain validation. For more information about how to implement this field, see the IAB's ads.txt Specification. Note: Although you can send |
App object
| Field | Type | Description |
|---|---|---|
| String; optional | Application bundle or package name (for example, |
| Object; optional | The Content object that provides details about the content within the app. |
| String; optional | The standard IAB content category for the site (for example, |
| Integer; optional | The taxonomy in use for the |
| String; optional | A static value representing the domain of the app. |
| String; optional | The Index-assigned numeric identifier for this app. |
| String; optional | A pointer to the domain of a partner that is explicitly authorized to monetize ads within this application's content. The partner's corresponding app-ads.txt or ads.txt file will be hosted at this domain and can be used for supply chain validation. For more information about how to implement this field, see the IAB's ads.txt Specification. |
| String; optional | A comma-separated list of keywords about the app. Maximum of 255 characters, additional characters will be truncated. Note: Do not include personal data, personal information, or sensitive information. |
| String; optional | The app name which may be aliased at the Media Owner's request. |
| String array; optional | Content categories that describe the current page or view of the app. These categories are defined by the IAB. For a full list of values, see List: Category Taxonomies in AdCOM 1.0. |
| Integer; optional | Specifies whether the app is a paid or free version, where:
|
| Integer; optional | Specifies whether the app has a privacy policy, where:
|
| Object; optional | The Producer object. Provides details about the producer of the content. For more information about the |
| String array; optional | Content categories that describe the current section of the app. These categories are defined by the IAB. For a full list of values, see List: Category Taxonomies in AdCOM 1.0. |
| String; optional | The App store URL for an installed app; for QAG 1.5 compliance. |
| String; optional | The application version. |
| Object; optional | The App Extension object, which is used to provide more information about the app impression opportunity. |
App extension object
The app object may include an Extension object. It provides additional information about the app impression opportunity.
| Field | Type | Description |
|---|---|---|
| String; optional | A pointer to the domain of a partner that is explicitly authorized to monetize ads within this application's content. The partner's corresponding app-ads.txt or ads.txt file will be hosted at this domain and can be used for supply chain validation. For more information about how to implement this field, see the IAB's ads.txt Specification. Note: Although you can send |
| Object; optional | The custom key-value pairs that you want to pass to Index that provide contextual information about an app. For more information see, Targeting custom key values in deals using inventory groups (Beta). |
Content and Producer objects
Content object
| Field | Type | Description |
|---|---|---|
| String; optional | The album to which the content belongs, typically for audio. |
| String; optional | The artist who is credited with the content. |
| String array; optional | A single-element array representing the standard IAB content category for the overall site. For example, |
| Integer; optional | The taxonomy in use for the |
| Object; optional | The Channel object. |
| String; optional | The content's rating (for example, |
| Integer; optional | Refers to the type of content, where:
|
| Object array; optional | The Data object that provides additional content data. |
| Integer; optional | Indicator of whether or not the content is embeddable, where:
|
| String; optional | Episode number that applies to video content. |
| Object; optional | The Content Extension object that provides a placeholder for Index-specific extensions to the content object. |
| String; optional | The genre that best describes the content. For example, rock, pop, etc. |
| String; optional | ID that uniquely identifies the content. |
| String; optional | International Standard Recording Code, conforming to ISO-3901. |
| String; optional | A comma-separated list of keywords describing the content. |
| String; optional | The first two characters of the language, in uppercase, as per ISO-639-1-alpha-2. For example, |
| Integer; optional | Specifies the length of the content in seconds used for video and audio. |
| Integer; optional | Specifies if the content is live (for example, a stream or live blog), where:
|
| Object; optional | The Network object. |
| Integer; optional | Refers to the production quality, where:
|
| Object; optional | The Producer object that provides details about the content producer. |
| Integer; optional | The media rating as per Quality Assurance Guidelines (QAG), where:
|
| String; optional | The season of the content (for example, |
| String; optional | Content series. |
| Integer; optional | Specifies the relationship to the source, where:
|
| String; optional | The title of the content. |
| String; optional | URL of the content for buy-side contextualization or review. |
| String; optional | How users have rated the content. For example, number of stars, number of likes. |
| Integer; optional | Refers to the video quality. |
Content extension object
The content object may include an Index-specific extension object that describes the impression content.
| Field | Type | Description |
|---|---|---|
| String; optional | The specific channel that the content is playing on. Note: This field and the |
| String; optional | The specific channel that the content is playing on. Note: This field and the |
| String; optional | The parent content network that contains several channels. Note: This field and the |
| String; optional | The parent content network that contains several channels. Note: This field and the |
| String; optional | The alternate name under which the media owner distributes the content. |
Producer object
| Field | Type | Description |
|---|---|---|
| String array; optional | A single-element array representing the standard IAB content category for the overall site. For example, |
| Integer; optional | The taxonomy in use for the |
| String; optional | The highest level domain of the content producer. For example, |
| Object; optional | A placeholder for Index-specific extensions to the producer object. |
| String; optional | An ID that represents the content producer or originator. This attribute is useful if the content is syndicated and posted on a site using embed tags. |
| String; optional | The name of the content producer or originator. For example, |
Channel object
This object describes the channel an ad will be displayed on. A channel is defined as the entity that curates a content library or stream within a brand name for viewers, such as MTV.
| Field | Type | Description |
|---|---|---|
| String; optional | A unique identifier assigned by the media owner. This is a unique identifier across all supply sources. |
| String; optional | The channel that the content is on. For example, |
| String; optional | The primary domain of the channel. For example, It's recommended to include the top level domain so it's easier for DSPs to target. |
Network object
This object describes the network an ad will be displayed on. A network is defined as the parent entity of the Channel object's entity, and is used for the purposes of organizing channels. An example of a network is a company that owns or licenses a collection of content channels, such as Discovery.
| Field | Type | Description |
|---|---|---|
| String; optional | A unique identifier assigned by the Media Owner. This is a unique identifier across all supply sources. |
| String; optional | The network the content is on. For example, |
| String; optional | The primary domain of the network. For example, It's recommended to include the top level domain so it's easier for DSPs to target. |
Device object
| Field | Type | Description |
|---|---|---|
| String; optional | A dotted-octet representation of the IPv4 address of the user. Note: This field is required if the bid request does not contain the |
| String; optional | A dotted-octet representation of the IPv6 address of the user. |
| String; optional | The carrier or ISP. For example, |
| Integer; optional | The device type in use for this impression, if available, where:
|
| String; optional | The hardware device ID , hashed via MD5. For example, Note: Although this field is deprecated in OpenRTB 2.6, Index still continues to support it. |
| String; optional | The hardware device ID, hashed via SHA1. For example, Note: Although this field is deprecated in OpenRTB 2.6, Index still continues to support it. |
| String; optional | The platform device ID, hashed via MD5. For example, Note: Although this field is deprecated in OpenRTB 2.6, Index still continues to support it. |
| String; optional | The platform device ID, hashed via SHA1. For example, Note: Although this field is deprecated in OpenRTB 2.6, Index still continues to support it. |
| Object; optional | The Geo object. |
| Integer; optional | The physical height of the device screen, in pixels. |
| String; optional | Represents the hardware version of the device. For example, |
| Integer; optional | The network connection type that the device uses, where:
|
| String; optional | An ID sanctioned for advertiser use in the clear (not hashed). It is an identifier for ads with privacy support and is used along with the |
| String; optional | The first two characters of the header, in uppercase. For example, |
| Integer; optional | Specifies the scope of tracking related to this impression. This signal represents a commercially adopted version (endorsed by iOS and Android) of standard do-not-track functionality, where:
|
| String; optional | The MAC address of the device; hashed via MD5. Note: Although this field is deprecated in OpenRTB 2.6, Index still continues to support it. |
| String; optional | The MAC address of the device; hashed via SHA1. Note: Although this field is deprecated in OpenRTB 2.6, Index still continues to support it. |
| String; optional | The device make. For example, |
| String; optional | The device model. For example, |
| String; optional | The device operating system. For example, |
| String; optional | The device operating system version. For example, |
| Integer; optional | The pixels per linear inch. |
| Float; optional | The ratio of physical pixels to device-independent pixel. |
| String; optional | The content of the HTTP_USER_AGENT header for this user. Anything above 512 characters is truncated. If both the |
| Object; optional | The structured user agent information specified in the UserAgent
object. If both the |
| Integer; optional | The physical width of the device screen, in pixels. |
| Integer; optional | The Device Extension object that provides a placeholder for Index specific extensions to the device object. |
Device extension object
The device object may include an extension object to indicate the app's app tracking authorization status and IDFV. It may also include the Identifier for Advertising (IFA) source value according to the IAB Tech Lab's Guidelines for Identifier for Advertising (IFA) on CTV/OTT platforms.
| Field | Type | Description |
|---|---|---|
| Integer; optional | An iOS only field that is passed to represent the app's app tracking authorization status, where:
|
| String; optional | Info: Starting in June 2025, Index has paused support for the Protected Audience API. As a result, the This field is used by Chrome to measure the performance of the Privacy Sandbox APIs, which include the Protected Audience API and Topics API. To prepare for third-party cookie deprecation, Chrome will be providing Chrome-facilitated testing modes that allow sites to preview how site behavior and functionality works without third-party cookies. A browser could be opted in for testing or could have 1% third-party cookies deprecated for the traffic received from the browser. The The labels for Mode A traffic are: The labels for Mode B traffic are: Note:
|
| String; optional | The IDFV of the device with the media owner. |
| String; optional | A value indicating the source of the IFA value, whether it is device-generated, provided by the media owner, or is a temporary session IFA. The supported values are:
For more information about |
Geo object
| Field | Type | Description |
|---|---|---|
| String; optional | The city, either free form text of the city name or from the UN/LOCODE Code List. |
| String; optional | The country code, using ISO-3166-1-alpha-3. |
| Integer; optional | The service or provider that is used to determine the geolocation. For a full list of values, see List: IP Location Services in AdCOM 1.0 |
| Float; optional | The latitude from -90.0 to +90.0, where negative is south. |
| Float; optional | The longitude from -180.0 to +180.0, where negative is west. |
| String; optional
| The regional marketing areas such as Nielsen's DMA codes or other similar taxonomy to be agreed among vendors prior to use. |
| String; optional | The region code using ISO-3166-2; 2-letter state code if USA ("US"). |
| String; optional | The region of a country using FIPS 10-4 notation. While OpenRTB supports this attribute, it has been withdrawn by NIST in 2008. |
| Integer; optional | The source of location data; recommended when passing
|
| String; optional | The zip code or postal code. |
| Integer; optional | The local time as the number +/- of minutes from UTC. |
User object
| Field | Type | Description |
|---|---|---|
| String; optional | The Index UID for the user (case-sensitive). This value may be sent in either format:
Sellers may send a blank string or 0 in this field to indicate a "no match" user. Note: This field is required for matched users. |
| String; optional | Specifies user consent when GDPR regulations are in effect. When present, it contains the data structure developed by the GDPR Consent Working Group. For more information, refer to the OpenRTB GDPR Advisory, published by the IAB. |
| Object array; optional | The Data object object that allows Media Owners to pass additional attributes about the user or content. |
| Object array; optional | The EID object object that includes third-party identifiers for this user. |
| Object; optional | |
| String; optional | The gender of the user, where:
If the gender of the user is unknown, this field is omitted. Note:
|
| Object; optional | The Geo object. |
| String; optional | A comma-separated list of interests, intent, or keywords about the user. Maximum of 255 characters, additional characters will be truncated. Note: This field will be available to Media Owners in setting up deals, but the field will not be sent in bid requests to DSPs. |
| Integer; optional | The user's year of birth, as a four digit integer. Note:
|
User extension object
| Field | Type | Description |
|---|---|---|
| String; optional | Specifies user consent when GDPR regulations are in effect. When present, it contains the data structure developed by the GDPR Consent Working Group. For more information, refer to the OpenRTB GDPR Advisory, published by the IAB. |
| Object; optional | The custom key-value pairs that you want to pass to Index that provide contextual information about a user. For more information see, Targeting custom key values in deals using inventory groups (Beta). |
UserAgent object
| Field | Type | Description |
|---|---|---|
| Object array; optional | An array of BrandVersion objects for identifying the browser or similar software component. The |
| Object; optional | The BrandVersion object for identifying the user agent's operating system. The |
| Integer; optional | The user agent preference where:
This value is derived from the |
| String; optional | The device's major binary architecture (CPU). For example, |
| String; optional | The device bitness. For example, |
| String; optional | The device model. For example, |
| Integer; optional | The source of data used to create this object where:
The default value for this field is |
BrandVersion object
| Field | Type | Description |
|---|---|---|
| String; required | The brand identifier. For example, |
| String array; optional | The sequence of version components, in descending hierarchical order (major, minor, micro...). For example, |
EID object
| Field | Type | Description |
|---|---|---|
| String; optional | The source of the IDs. For example, |
| Object array; optional | An array of uIDs objects from the given |
| String; optional | The user ID received in the request. |
| Object; optional | The eIDs Extension object containing vendor-specific extensions. |
EID extension object
| Field | Type | Description |
|---|---|---|
| String; optional | An Index optional field that specifies the name of the Universal ID provider. For example, |
UID object
| Field | Type | Description |
|---|---|---|
| String; optional | The user ID. For example, |
| Object; optional | The uIDs Extension object containing vendor-specific extensions. |
UID extension object
| Field | Type | Description |
|---|---|---|
| String; optional | The name of the Universal ID provider. For example, |
Data object
| Field | Type | Description |
|---|---|---|
| Array of objects; optional | An array of extended content IDs, representing one or more identifiers for the video or audio content from the ID source specified in the name field of the data object. For more information on best practices for sending these IDs to Index, see Sending extended content IDs to Index Exchange. |
| Object; optional | The Data Extension object that contains community extensions. |
| String; optional | The unique domain of the business entity who is stating the additional information about the user or content. |
| Object array; optional | Contains additional information about the related object that is specified, such as the user, site, or app object. For more information, see the Segment object. |
Data extension object
| Field | Type | Description |
|---|---|---|
| Integer; optional | The ID associated with a taxonomy that is registered centrally with the IAB Tech Lab. |
Segment object
| Field | Type | Description |
|---|---|---|
| String; optional | The ID that is associated with this data segment and is specific to the data provider. |