The bid request consists of a bid request object, a minimum of one impression object, and a few additional objects providing impression context.
The information present in this topic is specific to InMobi’s implementation. For more information on the oRTB guidelines, see the Real Time Bidding Project (oRTB version 2.5).
InMobi provides comprehensive support for data compression, effectively reducing the size of transferred data. Compression functionality can be enabled for both bid requests sent by the exchange or publisher, as well as bid responses returned by the bidder. For more information, see OpenRTB API Specification Version.
To indicate the transmission of a gzip-compressed bid request, set the following header:
content-encoding: gzip
To request a compressed response, include the following header in your request:
accept-encoding: gzip
The following tables specify the request parameters supported by InMobi from the IAB OpenRTB API Specification Version 2.5.
Attribute |
Scope |
Type |
Description |
id |
required |
string |
Unique ID of the bid request, provided by the exchange. |
imp |
required |
objects array |
The array of Imp objects (Section 3.2.4) represents the impressions offered. At least 1 Imp object is required. We support [1 video object] and [1 banner object, 1 video object] |
app |
required |
object |
Details via an App object (Section 3.2.14) about the publisher’s app. This is required as the current version supports in-app monetization only. |
device |
required |
object |
Details via a Device object (Section 3.2.18) about the user’s device to which the impression will be delivered. |
user |
recommended |
object |
Details via a User object (Section 3.2.20) about the human user of the device; the advertising audience. |
tmax |
optional |
integer |
Maximum time in milliseconds the exchange allows for bids to be received including Internet latency to avoid timeout. |
bcat | optional | string array | Blocked advertiser categories using the IAB content categories. For more information, see table 5.1 of OpenRTB2.5. |
badv | optional | string array | Block list of advertisers by their domains (e.g., “ford.com”). |
source |
optional |
object |
Source object (Section 3.2.2) that provides data about the inventory source |
regs
|
optional |
object |
Regs object (Section 3.2.3) that specifies any industry, legal, or governmental regulations in force for this request. |
ext |
optional |
object |
Placeholder for exchange-specific extensions to OpenRTB, (if any) |
Parameter |
Scope |
Type |
Description |
pchain |
Recommended |
string |
Payment ID chain string containing embedded syntax described in the TAG Payment ID Protocol v1.0. |
ext.omidpn |
Optional |
string |
Identifier of the OM SDK integration. This is the same as the "name" parameter of the OMID Partner object. |
ext.omidpv |
Optional |
string |
Identifier of the OM SDK integration. This is the same as the "name" parameter of the OMID Partner object. |
ext.schain |
Optional |
object |
Represents the links in the supply chain as well as an indicator of whether the supply chain is complete. |
Parameter |
Scope |
Type |
Description |
complete |
Required |
integer |
Flag indicating whether the chain contains all nodes involved in the transaction leading back to the owner of the site, app, or another medium of the inventory, where 0 = no, 1 = yes. |
nodes |
Required |
objects array |
An array of SupplyChainNode objects in the order of the chain. In a complete supply chain, the first node represents the initial advertising system and seller ID involved in the transaction. In an incomplete supply chain, it represents the first known node. The last node represents the entity sending this bid request. |
ver |
Required |
string |
The version of supply chain specification; “1.0” |
Parameter |
Scope |
Type |
Description |
asi |
Required |
String |
The canonical domain name of the SSP, Exchange, Header Wrapper, etc system that bidders connect to. This should be the same value as used to identify sellers in an ads.txt file if one exists. |
sid |
Required |
string |
The identifier is associated with the seller or reseller account within the advertising system. This should be limited to 64 characters only. |
domain |
Optional |
string |
The business domain name of the entity is represented by this node. |
hp |
Required |
integer |
Indicates whether this node will be involved in the flow of payment for the inventory. For the current version, it should always be “1” |
Parameter |
Scope |
Type |
Description |
coppa |
Optional |
integer |
Flag indicating if this request is subject to the COPPA regulations established by the USA FTC, where 0 = no, 1 = yes. |
ext |
Optional |
object |
Placeholder for exchange-specific extensions to OpenRTB. |
ext.gdpr |
optional |
integer |
Indicates whether the request is subject to GDPR regulations, where 0 = No, 1 = Yes |
Parameter |
Scope |
Type |
Description |
id |
required |
string |
A unique identifier for this impression within the context of the bid request (typically, starts with 1 and increments) |
banner |
required for banner impressions |
object |
A Banner object (Section 3.2.6); required if this impression is a banner ad opportunity |
video |
required for video impressions |
object |
A Video object (Section 3.2.7); required if this impression is a video ad opportunity |
displaymanager |
optional |
string |
Name of the ad-server / bidder / exchange / channel. |
displaymanagerver |
optional |
string |
The version of the ad-server / mediation (if applicable) |
instl |
optional |
integer |
1 = the ad is interstitial or full screen, 0 = not interstitial |
tagid |
required |
string |
InMobi Placement ID should be passed in this field |
bidfloor |
optional |
float |
The minimum bid for this impression is expressed in CPM. |
secure |
optional |
integer |
Flag to indicate if the impression requires secure HTTPS URL creative assets and markup, where 0 = non-secure, 1 = secure. If omitted, the secure state is unknown, but non-secure HTTP |
exp |
optional |
integer |
Advisory as to the number of seconds that may elapse between the auction and the actual impression. |
ext |
optional |
object |
Placeholder for exchange-specific extensions to OpenRTB. |
ext.placementid |
optional |
integer |
This is an InMobi-specific extension. This extension can be used as an alternative to ‘imp.tagid’. InMobi expects valid Placement IDs in ‘imp.tagid’ OR ‘imp.ext.placementid’ Either of ‘imp.tagid’ OR ‘imp.ext.placementid’ is required. |
InMobi supports versions up to SKAdNetwork 4.0.
Attribute |
Scope |
Type |
Description |
version |
optional |
string |
The version of skadnetwork supported up to "4.0" |
versions |
optional |
Array of strings |
An array of strings containing the supported skadnetwork versions up to ["4.0"]. |
sourceapp |
required |
string |
The ID of publisher app in Apple’s App Store. Should match ‘app.bundle’ |
skadnetids |
required |
Array of strings |
A subset of SKAdNetworkItem entries in the publisher app’s Info.plist, expressed as lowercase strings, that are relevant to the bid request. |
skadnetlist | optional | object | Will be supported in the upcoming versions. |
productpage |
optional |
integer |
Custom Product Page support. See Apple's Custom Product Page doc for details. E.g: "productpage": 1 |
For more information, see SKAdNetwork.
Parameter |
Scope |
Type |
Description |
w |
recommended |
integer |
Exact width in device independent pixels (DIPS); |
h |
recommended |
integer |
Exact height in device independent pixels (DIPS); |
format |
recommended |
object array |
Array of format objects (Section 3.2.10) representing the banner sizes permitted. |
id |
optional |
string |
Unique identifier for this banner object (optional) |
battr |
optional |
integer array |
Blocked creative attributes |
pos |
optional |
integer |
Ad position on screen |
mimes |
optional |
string array |
Content MIME types supported. Refer OpenRTB2.5 |
topframe |
optional |
integer |
Indicates if the banner is in the top frame as opposed to an iframe, where 0 = no, 1 = yes. |
api |
optional |
integer array |
List of supported API frameworks for this impression. API value [7] is used to indicate OMID-1 is supported. Refer OpenRTB2.5 |
Parameter |
Scope |
Type |
Description |
mimes |
Required |
string array |
Content MIME types supported. Refer OpenRTB2.5 |
minduration |
Recommended |
integer |
Minimum video ad duration in seconds. |
maxduration |
Recommended |
integer |
Maximum video ad duration in seconds. |
protocols |
Recommended |
integer array |
An array of supported video protocols. Refer to List 5.8 in the oRTB 2.5 document |
w |
Required |
integer |
Width of the video player in device independent pixels (DIPS). |
h |
Required |
integer |
Height of the video player in device independent pixels (DIPS). |
startdelay |
Recommended |
integer |
Indicates the start delay in seconds |
linearity |
Optional |
integer |
Indicates if the impression must be linear, nonlinear, etc. If none specified, assume all are allowed |
skip |
Optional |
integer |
Indicates if the player will allow the video to be skipped, where 0 = no, 1 = yes. |
skipmin |
optional |
integer |
Videos of total duration greater than this number of seconds can be skippable. |
battr |
optional |
integer array |
Blocked creative attributes |
companionad |
optional |
objects array |
The array of Banner objects |
api |
optional |
integer array |
List of supported API frameworks for this impression. For more information, see OpenRTB2.5. |
companiontype |
optional |
integer array |
Supported VAST companion ad types. Refer OpenRTB2.5 |
ext |
optional |
object |
|
ext.rewarded |
optional |
integer |
Indicates if the video will be played as Rewarded Video, where 1 = rewarded, 0 = not rewarded |
Parameter |
Scope |
Type |
Description |
w |
Recommended |
integer |
Width in device independent pixels (DIPS). |
h |
Recommended |
integer |
Height in device-independent pixels (DIPS). |
wratio |
Optional |
integer |
Relative width when expressing size as a ratio. |
hratio |
Optional |
integer |
Relative height when expressing size as a ratio. |
wmin |
Optional |
integer |
The minimum width in device independent pixels (DIPS) |
Parameter |
Scope |
Type |
Description |
id |
Recommended |
string |
Exchange-specific site ID |
name |
Optional |
string |
Site name (maybe aliased at the publisher’s request) |
domain |
Optional |
string |
The domain of the site (e.g., “mysite.foo.com”). |
cat |
Optional |
string |
An array of IAB content categories of the site |
page |
Optional |
string |
URL of the page where the impression will be shown. |
mobile |
Recommended |
integer |
Indicates if the site has been programmed to optimize layout when viewed on mobile devices, where 0 = no, 1 = yes. |
Parameter |
Scope |
Type |
Description |
bundle |
optional |
string |
A platform-specific application identifier intended to be unique to the app and independent of the exchange. On Android, this should be a bundle or package name (e.g.,com.foo.mygame). |
domain |
optional |
string |
The domain of the app (e.g., “mygame.foo.com”). |
storeurl |
optional |
string |
App store URL for an installed app; for IQG 2.1 compliance. |
cat |
optional |
string array |
An array of IAB content categories of the app. For more information, see List 5.1 of OpenRTB2.5 |
content |
optional |
object |
Details about the Content (Section 3.2.16) within the app. |
Parameter |
Scope |
Type |
Description |
id |
optional |
string |
ID uniquely identifying the content. |
episode |
optional |
integer |
Episode Number |
title |
optional |
string |
Content Title |
series |
optional |
string |
Content Series |
season |
optional |
string |
Content Season |
artist |
optional |
string |
Artist credited with the content. |
genre |
optional |
string |
A genre that best describes the content. |
album |
optional |
string |
Album to which the content belongs |
isrc |
optional |
string |
International Standard Recording Code conforming to ISO3901 |
producer |
optional |
string |
Details about the content Producer (Section 3.2.17). |
url |
optional |
string |
URL of the content, for buy-side contextualization or review. |
cat |
optional |
string array |
An array of IAB content categories that describe the content producer. Refer to OpenRTB2.5. |
prodq |
optional |
integer |
Production quality |
videoquality |
optional |
integer |
Video Quality |
context |
optional |
string |
Type of content (game, video, text, etc.) |
contentrating |
optional |
string |
Content rating |
userrating |
optional |
string |
User rating of the content |
qagmediarating |
optional |
integer |
Media rating per IQG guidelines. |
keywords |
optional |
string |
Comma-separated list of keywords describing the content. |
livestream |
optional |
integer |
0 = not live, 1 = content is live |
sourcerelationship |
optional |
integer |
0 = indirect, 1 = direct. |
len |
optional |
integer |
Length of content in seconds |
language |
optional |
string |
Content language using ISO-639-1-alpha-2. |
embeddable |
optional |
integer |
Indicator of whether the content is embeddable (e.g.,an embeddable video player), where 0 = no, 1 = yes. |
Parameter |
Scope |
Type |
Description |
id |
optional |
string |
Content producer or originator ID. |
name |
optional |
string |
Content producer or originator name (e.g., “Warner Bros”). |
cat |
optional |
string array |
An array of IAB content categories that describe the content |
domain |
optional |
string |
The highest level domain of the content producer |
Parameter |
Scope |
Type |
Description |
ua |
required |
string |
Browser user agent string |
geo |
recommended |
object |
Location of the device assumed to be the user’s current location defined by a Geo object |
lmt |
required |
integer |
Limit Ad Tracking” signal commercially endorsed (e.g., iOS, Android), where 0 = tracking is unrestricted, 1 = tracking must be limited per commercial guidelines. |
dnt |
recommended |
integer |
Standard “Do Not Track” flag as it is set in the header by the browser, where 0 = tracking is unrestricted, 1 = do not track (applicable for mobile web/site traffic). |
ip |
required |
string |
IPv4 address is closest to the device. |
ipv6 |
required |
string |
IP address closest to the device as IPv6. |
devicetype |
optional |
integer |
The general type of device. |
make |
optional |
string |
Device make |
model |
optional |
string |
Device model |
os |
optional |
string |
Operating System |
osv |
optional |
string |
Operating System version |
hwv |
optional |
string |
Hardware version of the device |
pxratio |
optional |
float |
The ratio of physical pixels to device-independent pixels |
connectiontype |
optional |
integer |
Network connection type. |
ifa |
required |
string |
ID sanctioned for advertiser use in the clear (unhashed). |
ext |
optional |
object |
Placeholder for extensions specific to the device object |
ext.ifv |
optional |
string |
For iOS devices, we recommend passing unhashed device IDFV (Identifier for Vendors) as device.ext.idv. This may be utilized by advertisers for the frequency capping, and so on. |
ext.atts |
optional |
integer |
(iOS Only) An integer passed to represent the app's app tracking authorization status, where |
Parameter |
Scope |
Type |
Description |
lat |
optional |
float |
Latitude from -90.0 to +90.0, where negative is south. |
lon |
optional |
float |
Longitude from -180.0 to +180.0, where negative is west |
type |
optional |
integer |
Source of location data; recommended when passing |
country |
optional |
string |
Country code using ISO-3166-1-alpha-3. |
city |
optional |
string |
City using United Nations Code for Trade & Transport |
zip |
optional |
string |
Zip or postal code. |
Parameter |
Scope |
Type |
Description |
id |
recommended |
string |
Exchange-specific ID for the user. |
buyeruid |
recommended |
string |
Buyer-specific ID for the user as mapped by an exchange for the buyer. At least one of id or buyeruid is strongly recommended. [Site Specific] Can be used to pass the ID, as received via our user synch pixel. |
Yob |
Optional |
integer |
Year of birth as a 4-digit integer |
gender |
Optional |
string |
Gender, where “M” = male, “F” = female, “O” = known to be other (i.e., omitted is unknown). |
keywords |
Optional |
string |
Comma-separated list of keywords, interests, or intent. |
Geo |
Optional |
object |
Location of the user’s home base defined by a Geo object |
ext |
Optional |
object |
Placeholder for extensions specific to User Object |
ext.eids |
Optional |
object |
Extended (third-party) identifiers for this user. Refer to Object: Extended Identifiers (3.2.21). |
ext.consent |
Optional |
string |
Use this extension to pass on the GDPR consent string, wherever GDPR regulations are applicable. The string should be passed into user.ext.consent. InMobi supports Boolean consent [0,1], TCF v1.1, TCF v2.0, TCF 2.1, & TCF v2.2. |
Parameter |
Scope |
Type |
Description |
source |
recommended |
string |
Cookie or platform-native identifier. |
uids |
recommended |
object array |
Array of extended ID UID objects from the given source. Refer to Object: Extended Identifier UIDs (3.2.22) |
Parameter |
Scope |
Type |
Description |
id |
recommended |
string |
Cookie or platform-native identifier. |
atype |
recommended |
integer |
Type of user agent the match is from. It is highly recommended to set this, as many DSPs separate app-native IDs from browser-based IDs and require a type value for ID resolution. |
By installing this SDK update, you agree that your Children Privacy Compliance setting remains accurate or that you will update that setting, whenever there is a change in your app's audience. You may update the app's Children Privacy Compliance settings at https://publisher.inmobi.com/my-inventory/app-and-placements.