OpenRTB host request
The invitation to participate in an auction is sent using the POST method in JSON format (Content-Type: application/json).
Request body
The request body contains the Bid Request object. Its parameters describe the app, endpoint device, and consumer. These characteristics help the DSP select an ad and a bid.
{
"source": {
"fd": "(int)",
"sourcetype": "(int)",
"tid": "(string)",
"ext": {
"schain": {
"complete": "(int)",
"nodes": [
{
"asi": "(string)",
"sid": "(string)",
"hp": "(int)",
"rid": "(string)"
}
],
"ver": "(string)"
}
}
},
"id": "(string)",
"user": {
"id": "(string)",
"ext": {
"consent": "(string)"
}
},
"imp": [
{
"bidfloor": "(float)",
"bidfloorcur": "(string)",
"displaymanager": "(string)",
"id": "(string)",
"instl": "(int)",
"ext": {
"reward": "(int)",
"unmoderated": "(int)",
"skadn": {
"version": "(string)",
"versions": ["(array of strings)"],
"sourceapp": "(int)",
"skadnetids": [
"(array of strings)"
],
"fidelities": [
"(array of strings)"
],
}
},
"secure": "(int)",
"tagid": "(string)",
"displaymanagerver": "(string)",
"clickbrowser": "(int)",
"video": {
"h": "(int)",
"mimes": [
"(array of strings)"
],
"protocols": [
"(array of int)"
],
"w": "(int)",
"api": [
"(array of int)"
],
"minduration": "(int)",
"maxduration": "(int)",
"skip": "(int)",
"playbackmethod": [
"(array of int)"
],
"minbitrate": "(int)",
"maxbitrate": "(int)",
"startdelay": "(int)",
"placement": "(int)",
"linearity": "(int)",
"pos": "(int)",
"ext": {
"nroa": {
"markup_version": (int)
}
}
}
}
],
"tmax": "(int)",
"app": {
"bundle": "(string)",
"id": "(string)",
"publisher": {
"id": "(string)"
},
"storeurl": "(string)",
"content": {
"language": "(string)"
}
},
"site": {
"content": {
"language": "(string)"
},
"domain": "(string)",
"id": "(string)",
"page": "(string)",
"publisher": {
"id": "(string)"
}
},
"cur": [
"(array of strings)"
],
"device": {
"lmt": "(int)",
"geo": {
"country": "(string)"
},
"carrier": "(string)",
"connectiontype": "(int)",
"os": "(string)",
"ip": "(string)",
"ipv6": "(string)",
"dnt": "(int)",
"ifa": "(string)",
"ua": "(string)",
"devicetype": "(int)",
"make": "(string)",
"mccmnc": "(string)",
"model": "(string)",
"osv": "(string)",
"h": "(int)",
"w": "(int)",
"language": "(string)",
"dpidsha1": "(string)",
"dpidmd5": "(string)",
"ext": {
"oaid": "(string)",
"gaid": "(string)",
"idfa": "(string)"
}
},
"regs": {
"coppa": "(int)",
"ext": {
"gdpr": "(int)",
"nroa": {
"version": "(string)",
"mandatory": "(bool)"
}
}
},
"at": "(int)",
"test": "(int)",
"ext": {
"notifications": {
"lurl": "(int)",
"nurl": "(int)"
}
}
}
Request parameters
Parameter |
Description |
Required |
Bid Request object |
||
source |
Information about the request source in the |
yes |
id |
ID of the auction, assigned by the RTB host. The DSP returns this ID in the response. |
yes |
user |
Information about the ad buyer in the |
yes |
cur |
List of currencies for bids. The following parameters are passed:
|
yes |
imp |
Array of |
yes |
tmax |
The maximum response time in milliseconds during which bids need to be placed, taking into account the delay arising from the internet connection. |
yes |
app |
Information about the app in the |
yes |
ext |
The |
no |
device |
Information about the endpoint in the |
yes |
regs |
Industry, legal, or government regulations that apply to all impressions in the request, in the |
no |
at |
Auction type. Allowed values:
|
no |
test |
Test mode indicator. Allowed values:
|
no |
Source object |
||
fd |
Final decision about serving the ad.
|
yes |
sourcetype |
Request source.
|
yes |
tid |
Impression ID. |
yes |
ext |
The Source.Ext object with additional parameters. |
no |
Source.Ext object |
||
schain |
The Source.Ext.Schain object with all participants in the inventory sales chain specified. |
no |
Source.Ext.Schain object |
||
complete |
The flag indicates whether the chain contains all nodes up to the original inventory source. Allowed values:
|
yes |
nodes |
Array of |
yes |
ver |
|
yes |
Source.Ext.Schain.Nodes object |
||
asi |
The canonical domain of the organization, must match the domain from ads.txt if such a domain exists. |
yes |
sid |
The same |
yes |
hp |
Specifies whether this node should be included in the chain of inventory payment participants. If the value is 1, then the organization specified in the asi field pays the seller specified in the sid field. The seller is the organization that is responsible for paying the previous node in the chain. For version 1.0, the value should always be 1. |
yes |
rid |
OpenRTB RequestId sent by the seller. |
no |
name |
The official name of the organization, the field should not be present in the object if the organization is specified in sellers.json. |
no |
domain |
The official domain of the organization, the field should not be present in the object if the organization is specified in sellers.json. |
no |
Imp object |
||
bidfloor |
The minimum cost per impression for the current auction, specified in CPM format. |
yes |
bidfloorcur |
Currency letter code in ISO-4217 format. May differ from the offer currency returned by the bidder if permitted by the exchange. |
yes |
displaymanager |
Monetizer or SDK name. |
no |
id |
ID of the ad unit on the HTML page. |
yes |
instl |
Ad type. Acceptable values:
|
yes |
ext |
The |
no |
secure |
Type of connection. Acceptable values:
|
no |
tagid |
ID of the ad placement. |
yes |
displaymanagerver |
Monetizer or SDK version. |
yes |
clickbrowser |
Type of browser that opens when you tap the creative in the app. Allowed values:
|
yes |
video |
The |
no |
Imp.Video object |
||
mimes |
Supported MIME content types. |
yes |
protocols |
Supported video transfer protocols. |
no |
h |
Height of the video player in pixels. |
no |
w |
Width of the video player in pixels. |
no |
api |
List of supported APIs for this impression. |
no |
minduration |
Minimum duration of a video in seconds. |
no |
maxduration |
Maximum duration of a video in seconds. |
no |
skip |
Shows if a video player has a skipping video function:
|
no |
playbackmethod |
Possible video playback options. If nothing is specified, you can use any option. |
no |
minbitrate |
Minimum bitrate in kb/s. |
no |
maxbitrate |
Maximum bitrate in kb/s. |
no |
startdelay |
Shows the playback delay in seconds for ad placement:
|
no |
placement |
Video banner placement type:
|
|
linearity |
Linearity of the video banner. Allowed values:
|
|
pos |
Location of the banner on the screen. Allowed values:
|
|
ext |
Object with additional parameters. |
|
Imp.Ext object |
||
unmoderated |
Auction moderation status. Allowed values:
|
yes |
reward |
Rewarded ads. Acceptable values:
|
no |
Imp.Ext.skadn object |
||
version |
The oldest version supported by the request. |
no |
versions |
List of supported versions (depending on the SDK version and iOS version). |
no |
sourceapp |
App identifier (matches with the |
no |
skadnetids |
List of identifiers obtained from the SDK. |
no |
fidelities |
List of supported fidelity types. Depends on the version of SKAdNetwork and SDK. |
no |
App object |
||
publisher |
Information about the placement in the |
yes |
storeurl |
URL of the app store for the installed app. |
no |
id |
The app ID. |
yes |
content |
The |
no |
App.Publisher object |
||
id |
The placement ID. |
yes |
App.Content object |
||
language |
The app language. |
no |
Device object |
||
lmt |
Ad tracking restriction set by the manufacturer of the endpoint device.
|
yes |
geo |
The |
yes |
carrier |
Telecom operator or internet service provider. |
no |
connectiontype |
Network connection type.
|
no |
os |
Operating system. |
yes |
ip |
The IP address of the endpoint device. |
yes |
ipv6 |
The IPv6 address of the endpoint device. |
yes |
dnt |
Ad tracking restriction set by the endpoint device user. |
yes |
ua |
The value of the HTTP User-Agent header — The name of the application on the endpoint device. |
yes |
ifa |
The advertising ID of the endpoint device. |
yes |
devicetype |
The type of device.
|
no |
make |
The device manufacturer. |
no |
mccmnc |
The unique mobile operator ID that is a combination of MCC and MNC codes separated by a hyphen. |
no |
model |
The device model. |
no |
osv |
The device's operating system version. |
no |
h |
The height of the device. |
no |
w |
The width of the device. |
no |
language |
The language selected in the browser. The format used is ISO-639-1-alpha-2. |
no |
dpidsha1 |
The device platform identifier (for example, the Android identifier) hashed by the SHA1 algorithm. |
no |
dpidmd5 |
The device platform identifier (for example, the Android identifier) hashed by the MD5 algorithm. |
no |
ext |
The |
no |
Device.Geo object |
||
country |
The ISO-3166-1 Alpha-3 country geocode. |
yes |
Device.Ext object |
||
oaid |
Device ID. |
no |
gaid |
The ID for Android devices. |
no |
idfa |
The ID for iOS devices. |
no |
User object |
||
id |
Exchange ID of the user. |
no |
ext |
The |
no |
User.Ext object |
||
consent |
Consent to transmit information about the buyer. Allowed values:
|
no |
Regs object |
||
coppa |
Flag indicating whether the request must comply with the Children's Online Privacy Protection Act (COPPA).
|
yes |
ext |
The Regs.Ext object with additional parameters. |
no |
Regs.Ext object |
||
gdpr |
Flag indicating whether the request must comply with the General Data Protection Regulation (GDPR).
|
yes |
nroa |
The parent object for the extension. |
no |
Ext.nroa object |
||
version |
Version number. For the current version, see the annex. |
no |
mandatory |
When the value is |
no |
Ext object |
||
notifications |
The |
no |
Ext.Notifications object |
||
lurl |
The probability of calling a loss notification link. Possible statuses:
|
no |
nurl |
The probability of calling a win notification link. Possible statuses:
|
no |
Sample request
{
"app": {
"bundle": "com.app.name.gp",
"id": "123456",
"publisher": {
"id": "654431"
},
"content": {
"language": "ru"
}
},
"at": 1,
"cur": [
"RUB",
"USD",
"EUR",
"TRY",
"UAH",
"KZT",
"CHF"
],
"device": {
"carrier": "MTS RUS",
"connectiontype": 2,
"devicetype": 1,
"dnt": 0,
"dpidmd5": "",
"dpidsha1": "",
"ext": {
"gaid": "851391a2-cb10-4edf-8e89-cdasdf9430",
"idfa": "",
"oaid": ""
},
"geo": {
"country": "RUS"
},
"h": 838,
"ifa": "851391a2-cb10-4edf-8e89-cdasdf9430",
"ip": "109.252.147.115",
"ipv6": "::ffff:109.252.147.115",
"language": "ru",
"lmt": 0,
"make": "motorola",
"mccmnc": "250-1",
"model": "moto g(20)",
"os": "Android",
"osv": "11",
"ua": "Dalvik/2.1.0 (Linux; U; Android 11; moto g(20) Build/RTAS31.68-29-2)",
"w": 411
},
"ext": {
"notifications": {
"lurl": 1,
"nurl": 1
}
},
"id": "2613544480608676485",
"imp": [
{
"bidfloor": 0.0001567892,
"bidfloorcur": "USD",
"clickbrowser": 1,
"displaymanager": "Yandex Mobile Ads SDK",
"displaymanagerver": "4.4.1",
"ext": {
"reward": 0,
"unmoderated": 0,
"skadn": {
"version": "2.0",
"versions": ["2.0", "2.1", "3.0"],
"sourceapp": "880047117",
"skadnetids": [
"dticjx1a9i.skadnetwork",
"8srfag4vvc.skadnetwork"
],
"fidelities": [
0,
1
]
}
},
"id": "14",
"instl": 0,
"secure": 1,
"tagid": "1354193-14",
"video": {
"h": 400,
"mimes": [
"video/mp4"
],
"protocols": [
3,
6,
7,
8
],
"w": 240,
"api": [
5
],
"minduration": 5,
"maxduration": 30,
"skip": 0,
"playbackmethod": [
2
],
"minbitrate": 400,
"maxbitrate": 1000,
"startdelay": -1,
"placement": 2,
"linearity": 1,
"pos": 0,
"ext": {
"nroa": {
"markup_version": 1
}
}
}
}
],
"regs": {
"coppa": 0,
"ext": {
"gdpr": 0,
"nroa": {
"version": "2",
"mandatory": true
}
}
},
"source": {
"fd": 0,
"sourcetype": 3,
"tid": "",
"ext": {
"schain": {
"complete": 1,
"nodes": [
{
"asi": "yandex.com",
"sid": "12345",
"hp": 1,
"rid": "bidrequest123"
}
],
"ver": "1.0"
}
}
},
"tmax": 500,
"user": {
"id": "108799773262946888",
"ext": {
"consent": "0"
}
}
}