Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.
The purpose of this API is to provide risk ratings and reputational data for mobile applications. The response is a JSON formatted object containing a list of app information partitioned by region and device. Any fields included in the response, but not documented herein are subject to change without notice.
Base URLs:
Email: Pixalate, Inc. Web: Pixalate, Inc.
Code samples
# You can also use wget
curl -X GET https://api.pixalate.com/api/v2/mrt/apps \
-H 'Accept: application/json' \
-H 'x-api-key: API_KEY'
GET /mrt/apps
The purpose of this API is to provide metadata information for mobile applications in general. The response is a JSON formatted object containing the current user's quota state and the date the mobile applications database was last updated.
Name | In | Type | Required | Description |
---|---|---|---|---|
pretty | query | boolean | false | If true, return pretty JSON. Default is false. |
Example responses
200 Response
{
"database": {
"lastUpdated": "2022-04-30"
},
"quota": {
"available": 480,
"used": 520,
"expiry": "2022-05-01T12:45:23.234Z",
"limit": 1000,
"interval": 1000,
"timeUnit": "month"
}
}
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Metadata |
400 | Bad Request | Bad Request - Invalid parameters in request. | None |
401 | Unauthorized | Unauthorized - Invalid API Key. | None |
403 | Forbidden | Forbidden - Quota has been exhausted, Subscription expired or needs upgrade. | None |
5XX | Unknown | Server Error - The API experienced an internal error. Contact support. | None |
Code samples
# You can also use wget
curl -X POST https://api.pixalate.com/api/v2/mrt/apps \
-H 'Accept: application/json' \
-H 'x-api-key: API_KEY'
POST /mrt/apps
The purpose of this API is to provide risk ratings and reputational data across thousands of mobile applications in a batch mode.
Posted data should be in CSV format where each line consists of a single field which is the Bundle ID or Track ID. The request MIME type should be text/plain
.
Once request data is submitted, a URL to a newline-delimited JSON formatted report is provided as a response. While the resulting resource is public, the URL contains a randomly generated identifier that ensures the data is relatively secure unless the URL itself is made public by the user.
The report will not be available for download at the returned URL location until processing has been completed. While creating the report, a request to retrieve the report using the response URL will return an HTTP status code Not Found (404). Once asynchronous processing has completed, the report is returned as normal. If asynchronous processing of a report fails because of an invalid query the request to retrieve the report using the response URL will return an HTTP status code Bad Request (400). Or, if the submitted file contained more than 5000 Bundle ID or Track IDs, then an HTTP status code Request Entity Too Large (413) is returned. Or, if the account's quota limit has been exceeded, then an HTTP status code Forbidden (403) is returned. For all other errors, a request to retrieve the report using the response URL will return an HTTP status code Internal Service Error (500). Client systems should poll the response URL until the report is available, or a non 404 HTTP status code is returned.
This operation requires an Enterprise subscription. Please reach out to us at support@pixalate.com for details on how to enable this for your account.
Name | In | Type | Required | Description |
---|---|---|---|---|
pretty | query | boolean | false | If true, return pretty JSON. Default is false. |
Example responses
200 Response
"https://dashboardcdn.pixalate.com/www/exported/Client/2022-04-12/qprdbkr9dfeoostip8ltqgmecd/apps_2022-04-12"
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | string |
400 | Bad Request | Bad Request - Invalid parameters in request. | None |
401 | Unauthorized | Unauthorized - Invalid API Key. | None |
403 | Forbidden | Forbidden - Quota has been exhausted, Subscription expired or needs upgrade. | None |
5XX | Unknown | Server Error - The API experienced an internal error. Contact support. | None |
Code samples
# You can also use wget
curl -X GET https://api.pixalate.com/api/v2/mrt/apps/{appId} \
-H 'Accept: application/json' \
-H 'x-api-key: API_KEY'
GET /mrt/apps/{appId}
The purpose of this API is to provide risk ratings and reputational data for mobile applications. The response is a JSON formatted object containing a list of app information partitioned by region and device.
Name | In | Type | Required | Description |
---|---|---|---|---|
appId | path | string | true | The app's unique identifier. This is a package name on Google Play or a track id on Apple app Store. |
widget | query | array[string] | false | Filter by comma-separated list of widgets to return. All widgets are returned by default. |
region | query | Region | false | Filter by region. All regions are returned by default. GLOBAL indicates aggregated traffic from all regions. |
device | query | Device | false | Filter by device. All devices are returned by default. GLOBAL indicates aggregated traffic from all devices. |
pretty | query | boolean | false | If true, return pretty JSON. Default is false. |
Parameter | Value |
---|---|
widget | appOverview |
widget | appDetails |
widget | pixalateAdvisories |
widget | appAdvisories |
widget | riskOverview |
widget | developerOverview |
widget | trafficOverview |
widget | brandSafety |
widget | appPermissions |
widget | trafficOverlap |
widget | authorizedSellers |
widget | invalidTraffic |
widget | viewability |
widget | inventory |
widget | ctr |
widget | availableCountries |
widget | rankings |
widget | rankingsByCountry |
widget | coppa |
region | GLOBAL |
region | NA |
region | EMEA |
region | LATAM |
region | APAC |
device | GLOBAL |
device | smartphone |
device | tablet |
Example responses
200 Response
{
"status": "OK",
"numFound": 1,
"docs": [
{
"appId": "1407852246",
"region": "APAC",
"device": "smartphone",
"appStore": "android",
"appOverview": {
"appTitle": "Example App",
"screenshotUrls": [
"https://example.com/image/screenshot-1.png",
"https://example.com/image/screenshot-2.png"
],
"description": "An example app.",
"iabPrimaryCategory": [
"Video Gaming"
],
"iabSubCategory": [
"Mobile Games"
],
"appStoreCategories": [
"Games"
],
"delistedDate": "2021-10-30",
"delistedApp": false,
"hasDangerousPermissions": false
},
"appDetails": {
"bundleId": "com.example.ios",
"trackId": "1407852246",
"appStoreUrl": "https://apps.apple.com/us/app/example/id1407852246?uo=4",
"appLastUpdatedDate": "2021-10-30",
"trustedSeller": "Example",
"incentivizedActivity": true,
"downloadRange": "500000000 - 1000000000",
"averageUserRating": 4,
"contentRating": "Everyone",
"blocklisted": false,
"blocklistedReasons": [
"App is No Longer in Active Use",
"The app is a VPN"
],
"adCapabilities": {
"topDevice": "Generic Android",
"displayTopAdsize": "336x280",
"videoTopAdsize": "768x1024",
"displayContribution": 95.23,
"videoContribution": 4.77,
"hyperLocationAvailability": 98.78,
"mraidVersion": "3.0",
"adsDetected": true
},
"interactiveELements": [
"Shares Location",
"Users Interact"
]
},
"pixalateAdvisories": {
"hasAppAdsTxt": false,
"delistedApp": true,
"delistedDate": "2021-10-30",
"hasDangerousPermissions": false,
"blocklisted": false,
"privateDomain": false,
"hasTermsAndConditions": true,
"hasPrivacyPolicy": true
},
"appAdvisories": [
"An example advisory",
"Another advisory"
],
"riskOverview": {
"ivt": 10.12,
"ivtRisk": "medium",
"viewability": 66.05,
"viewabilityRisk": "medium",
"descriptionBrandSafetyRisk": "low",
"contentBrandSafetyRisk": "low",
"overallIvtPermissionRisk": "low",
"risk": [
{
"region": "APAC",
"device": "smartphone",
"pixalateRisk": "medium",
"pixalateRiskReasons": [
"Significantly Elevated IVT Percentage",
"Ad Traffic Shows Some Suspicious Characteristics"
]
}
]
},
"developerOverview": {
"developerName": "Acme Apps",
"developerLocation": "J. Doe, Main Street, Anywhere USA",
"developerEmail": "jdoe@example.org",
"developerCountry": "US",
"developerWebsite": "https://www.example.org",
"developerTotalApps": 4,
"privateDomain": false,
"hasTermsAndConditions": true,
"hasPrivacyPolicy": true,
"facebookRisk": "low",
"linkedInRisk": "low",
"twitterRisk": "low"
},
"trafficOverview": {
"spoofingRisk": "low",
"locationMaskingRisk": "low",
"advertisingIvtRisk": "low",
"clickIvtRisk": "low",
"viewabilityRisk": "low",
"estimatedDailyActiveUsers": 1000000,
"estimatedMonthlyActiveUsers": 20000000,
"inventory": 22000000,
"adSpend": 69000
},
"brandSafety": {
"descriptionBrandSafety": {
"descriptionBrandSafetyRisk": "medium",
"advisoriesRisk": "medium",
"adultContentRisk": "high",
"drugContentRisk": "medium",
"alcoholContentRisk": "medium",
"hateSpeechRisk": "low",
"offensiveContentRisk": "medium",
"gamblingContentRisk": "medium",
"violenceContentRisk": "low"
},
"contentBrandSafety": {
"contentBrandSafetyRisk": "medium",
"adultRisk": "low",
"violenceRisk": "medium",
"imageData": [
{
"url": "https://example.org/images/kxipXQ3huWkwsqokX66euP.png",
"text": "Weather Radar",
"violenceRisk": "low",
"spoofRisk": "low",
"medicalRisk": "low",
"adultRisk": "low"
}
]
}
},
"appPermissions": {
"ivtPermissionRisk": "medium",
"permissions": [
{
"name": "ACCESS_BACKGROUND_LOCATION",
"description": "Allows an app to access location in the background.",
"isDangerous": "false;",
"ivtPermissonRisk": "medium"
}
]
},
"trafficOverlap": {
"userOverlap": 8.7,
"inventoryOverlap": 3.1
},
"authorizedSellers": [
{
"exchange": "Acme Exchange",
"paymentType": "Direct",
"inventory": 30039,
"inventoryRatio": 12.87,
"ivt": 0.9,
"videoInventoryRatio": 1.4,
"viewability": 79.28
}
],
"invalidTraffic": {
"ivt": 7.76,
"givt": 0.29,
"sivt": 7.47,
"givtTypes": [
{
"fraudType": "Data Center",
"givt": 0.29
}
],
"sivtTypes": [
{
"fraudType": "AppSpoofing",
"sivt": 2.78
}
]
},
"viewability": {
"viewability": 66.05,
"viewabilityRisk": "medium",
"byAdSizes": [
{
"adSize": "728x90",
"inventory": 22360289,
"inventoryRatio": 66.05,
"viewability": 66.05
}
]
},
"inventory": {
"byDevice": [
{
"device": "Apple Iphone",
"inventory": null,
"inventoryRatio": 81.04,
"ivt": 8.02,
"viewability": 73.3
}
],
"byRegion": [
{
"region": "APAC",
"inventory": null,
"inventoryRatio": 6.39,
"ivt": 2.93,
"viewability": 92.52
}
],
"byCounty": [
{
"countryName": "UK",
"inventory": null,
"inventoryRatio": 1.72,
"ivt": 8.99,
"viewability": 94.74
}
],
"byAdsize": [
{
"adSize": "320x50",
"inventory": null,
"inventoryRatio": 3.47,
"ivt": 12.25,
"viewability": 98.08
}
],
"byDma": [
{
"dmaName": "NEW YORK",
"inventory": null,
"inventoryRatio": 5.35,
"ivt": 4.76,
"viewability": 88.01
}
]
},
"ctr": {
"ctr": 6.03,
"byAdSize": [
{
"adSize": "320x50",
"ctr": 1.45
}
]
},
"availableCountries": [
"Germany"
],
"rankings": {
"regionRank": 6473,
"categoryRank": 3677,
"category": "Video Games",
"final": {
"grade": "C",
"score": "38"
},
"ivt": {
"grade": "B",
"score": "62"
},
"adsTxt": {
"grade": "B",
"score": "62"
},
"brandSafety": {
"grade": "A",
"score": "99"
},
"viewability": {
"grade": "A",
"score": "99"
},
"permissions": {
"grade": "N/A",
"score": "N/A"
},
"popularity": {
"grade": "C",
"score": "44"
},
"globalPopularityRank": "3952"
},
"rankingsByCountry": {
"reach": [
{
"countryCode": "ZA",
"countryName": "South Africa",
"mauRank": "637",
"mauRankChange": "-372"
}
],
"marketShare": [
{
"countryCode": "GE",
"countryName": "Georgia",
"impressionRank": "359",
"impsRankChange": "N/A"
}
]
},
"coppa": {
"coppaAudience": "General Audience",
"coppaAudienceReason": [
"This app is likely directed to children (including mixed audience) based on manual review"
],
"storeCategory": [
"All Apps"
],
"storeSubCategory": [
"Health & Fitness"
],
"contentRating": "Everyone",
"isApprovedByTeacher": false,
"ageGroupApprovedByTeacher": null,
"coppaViolationRisk": "low",
"coppaViolationRiskReason": [
"The COPPA risk is low because the app is likely not directed to children under 13."
],
"privacyPolicyDetected": true,
"sensitivePermissions": true,
"transmitsResidentialIP": true,
"passesLocation": true,
"permissions": [
{
"name": "READ_CONTACTS",
"description": "Allows an application to read the user's contacts data."
}
]
}
}
]
}
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | AppList |
400 | Bad Request | Bad Request - Invalid parameters in request. | None |
401 | Unauthorized | Unauthorized - Invalid API Key. | None |
403 | Forbidden | Forbidden - Quota has been exhausted, Subscription expired or needs upgrade. | None |
5XX | Unknown | Server Error - The API experienced an internal error. Contact support. | None |
{
"database": {
"lastUpdated": "2022-04-30"
},
"quota": {
"available": 480,
"used": 520,
"expiry": "2022-05-01T12:45:23.234Z",
"limit": 1000,
"interval": 1000,
"timeUnit": "month"
}
}
Apps metadata information.
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
database | object | false | none | The Mobile Apps database state information. |
» lastUpdated | string(date) | false | none | The date when the Mobile Apps database was last updated. The date format is YYYY-MM-DD. |
quota | object | false | none | Quota state information. |
» available | integer | false | none | The amount of quota available for use. |
» used | integer | false | none | The amount of quota used. |
» expiry | string(date) | false | none | The datetime when the quota will be refreshed back to the limit. The datetime format is YYYY-MM-DDTHH:MM:SS.SSSZ. |
» limit | integer | false | none | The amount of quota to be made available for use when the quota is refreshed. |
» interval | integer | false | none | The number of time units used in calculating the quota refresh datetime. |
» timeUnit | string | false | none | The time unit used in calculating the quota refresh datetime. |
Property | Value |
---|---|
timeUnit | minute |
timeUnit | hour |
timeUnit | day |
timeUnit | week |
timeUnit | month |
{
"status": "OK",
"numFound": 1,
"docs": [
{
"appId": "1407852246",
"region": "APAC",
"device": "smartphone",
"appStore": "android",
"appOverview": {
"appTitle": "Example App",
"screenshotUrls": [
"https://example.com/image/screenshot-1.png",
"https://example.com/image/screenshot-2.png"
],
"description": "An example app.",
"iabPrimaryCategory": [
"Video Gaming"
],
"iabSubCategory": [
"Mobile Games"
],
"appStoreCategories": [
"Games"
],
"delistedDate": "2021-10-30",
"delistedApp": false,
"hasDangerousPermissions": false
},
"appDetails": {
"bundleId": "com.example.ios",
"trackId": "1407852246",
"appStoreUrl": "https://apps.apple.com/us/app/example/id1407852246?uo=4",
"appLastUpdatedDate": "2021-10-30",
"trustedSeller": "Example",
"incentivizedActivity": true,
"downloadRange": "500000000 - 1000000000",
"averageUserRating": 4,
"contentRating": "Everyone",
"blocklisted": false,
"blocklistedReasons": [
"App is No Longer in Active Use",
"The app is a VPN"
],
"adCapabilities": {
"topDevice": "Generic Android",
"displayTopAdsize": "336x280",
"videoTopAdsize": "768x1024",
"displayContribution": 95.23,
"videoContribution": 4.77,
"hyperLocationAvailability": 98.78,
"mraidVersion": "3.0",
"adsDetected": true
},
"interactiveELements": [
"Shares Location",
"Users Interact"
]
},
"pixalateAdvisories": {
"hasAppAdsTxt": false,
"delistedApp": true,
"delistedDate": "2021-10-30",
"hasDangerousPermissions": false,
"blocklisted": false,
"privateDomain": false,
"hasTermsAndConditions": true,
"hasPrivacyPolicy": true
},
"appAdvisories": [
"An example advisory",
"Another advisory"
],
"riskOverview": {
"ivt": 10.12,
"ivtRisk": "medium",
"viewability": 66.05,
"viewabilityRisk": "medium",
"descriptionBrandSafetyRisk": "low",
"contentBrandSafetyRisk": "low",
"overallIvtPermissionRisk": "low",
"risk": [
{
"region": "APAC",
"device": "smartphone",
"pixalateRisk": "medium",
"pixalateRiskReasons": [
"Significantly Elevated IVT Percentage",
"Ad Traffic Shows Some Suspicious Characteristics"
]
}
]
},
"developerOverview": {
"developerName": "Acme Apps",
"developerLocation": "J. Doe, Main Street, Anywhere USA",
"developerEmail": "jdoe@example.org",
"developerCountry": "US",
"developerWebsite": "https://www.example.org",
"developerTotalApps": 4,
"privateDomain": false,
"hasTermsAndConditions": true,
"hasPrivacyPolicy": true,
"facebookRisk": "low",
"linkedInRisk": "low",
"twitterRisk": "low"
},
"trafficOverview": {
"spoofingRisk": "low",
"locationMaskingRisk": "low",
"advertisingIvtRisk": "low",
"clickIvtRisk": "low",
"viewabilityRisk": "low",
"estimatedDailyActiveUsers": 1000000,
"estimatedMonthlyActiveUsers": 20000000,
"inventory": 22000000,
"adSpend": 69000
},
"brandSafety": {
"descriptionBrandSafety": {
"descriptionBrandSafetyRisk": "medium",
"advisoriesRisk": "medium",
"adultContentRisk": "high",
"drugContentRisk": "medium",
"alcoholContentRisk": "medium",
"hateSpeechRisk": "low",
"offensiveContentRisk": "medium",
"gamblingContentRisk": "medium",
"violenceContentRisk": "low"
},
"contentBrandSafety": {
"contentBrandSafetyRisk": "medium",
"adultRisk": "low",
"violenceRisk": "medium",
"imageData": [
{
"url": "https://example.org/images/kxipXQ3huWkwsqokX66euP.png",
"text": "Weather Radar",
"violenceRisk": "low",
"spoofRisk": "low",
"medicalRisk": "low",
"adultRisk": "low"
}
]
}
},
"appPermissions": {
"ivtPermissionRisk": "medium",
"permissions": [
{
"name": "ACCESS_BACKGROUND_LOCATION",
"description": "Allows an app to access location in the background.",
"isDangerous": "false;",
"ivtPermissonRisk": "medium"
}
]
},
"trafficOverlap": {
"userOverlap": 8.7,
"inventoryOverlap": 3.1
},
"authorizedSellers": [
{
"exchange": "Acme Exchange",
"paymentType": "Direct",
"inventory": 30039,
"inventoryRatio": 12.87,
"ivt": 0.9,
"videoInventoryRatio": 1.4,
"viewability": 79.28
}
],
"invalidTraffic": {
"ivt": 7.76,
"givt": 0.29,
"sivt": 7.47,
"givtTypes": [
{
"fraudType": "Data Center",
"givt": 0.29
}
],
"sivtTypes": [
{
"fraudType": "AppSpoofing",
"sivt": 2.78
}
]
},
"viewability": {
"viewability": 66.05,
"viewabilityRisk": "medium",
"byAdSizes": [
{
"adSize": "728x90",
"inventory": 22360289,
"inventoryRatio": 66.05,
"viewability": 66.05
}
]
},
"inventory": {
"byDevice": [
{
"device": "Apple Iphone",
"inventory": null,
"inventoryRatio": 81.04,
"ivt": 8.02,
"viewability": 73.3
}
],
"byRegion": [
{
"region": "APAC",
"inventory": null,
"inventoryRatio": 6.39,
"ivt": 2.93,
"viewability": 92.52
}
],
"byCounty": [
{
"countryName": "UK",
"inventory": null,
"inventoryRatio": 1.72,
"ivt": 8.99,
"viewability": 94.74
}
],
"byAdsize": [
{
"adSize": "320x50",
"inventory": null,
"inventoryRatio": 3.47,
"ivt": 12.25,
"viewability": 98.08
}
],
"byDma": [
{
"dmaName": "NEW YORK",
"inventory": null,
"inventoryRatio": 5.35,
"ivt": 4.76,
"viewability": 88.01
}
]
},
"ctr": {
"ctr": 6.03,
"byAdSize": [
{
"adSize": "320x50",
"ctr": 1.45
}
]
},
"availableCountries": [
"Germany"
],
"rankings": {
"regionRank": 6473,
"categoryRank": 3677,
"category": "Video Games",
"final": {
"grade": "C",
"score": "38"
},
"ivt": {
"grade": "B",
"score": "62"
},
"adsTxt": {
"grade": "B",
"score": "62"
},
"brandSafety": {
"grade": "A",
"score": "99"
},
"viewability": {
"grade": "A",
"score": "99"
},
"permissions": {
"grade": "N/A",
"score": "N/A"
},
"popularity": {
"grade": "C",
"score": "44"
},
"globalPopularityRank": "3952"
},
"rankingsByCountry": {
"reach": [
{
"countryCode": "ZA",
"countryName": "South Africa",
"mauRank": "637",
"mauRankChange": "-372"
}
],
"marketShare": [
{
"countryCode": "GE",
"countryName": "Georgia",
"impressionRank": "359",
"impsRankChange": "N/A"
}
]
},
"coppa": {
"coppaAudience": "General Audience",
"coppaAudienceReason": [
"This app is likely directed to children (including mixed audience) based on manual review"
],
"storeCategory": [
"All Apps"
],
"storeSubCategory": [
"Health & Fitness"
],
"contentRating": "Everyone",
"isApprovedByTeacher": false,
"ageGroupApprovedByTeacher": null,
"coppaViolationRisk": "low",
"coppaViolationRiskReason": [
"The COPPA risk is low because the app is likely not directed to children under 13."
],
"privacyPolicyDetected": true,
"sensitivePermissions": true,
"transmitsResidentialIP": true,
"passesLocation": true,
"permissions": [
{
"name": "READ_CONTACTS",
"description": "Allows an application to read the user's contacts data."
}
]
}
}
]
}
A list of apps.
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
status | Status | false | none | The returned status. |
numFound | integer | false | none | The total number of matching apps. |
docs | [App] | false | none | A list of apps. |
{
"appId": "1407852246",
"region": "APAC",
"device": "smartphone",
"appStore": "android",
"appOverview": {
"appTitle": "Example App",
"screenshotUrls": [
"https://example.com/image/screenshot-1.png",
"https://example.com/image/screenshot-2.png"
],
"description": "An example app.",
"iabPrimaryCategory": [
"Video Gaming"
],
"iabSubCategory": [
"Mobile Games"
],
"appStoreCategories": [
"Games"
],
"delistedDate": "2021-10-30",
"delistedApp": false,
"hasDangerousPermissions": false
},
"appDetails": {
"bundleId": "com.example.ios",
"trackId": "1407852246",
"appStoreUrl": "https://apps.apple.com/us/app/example/id1407852246?uo=4",
"appLastUpdatedDate": "2021-10-30",
"trustedSeller": "Example",
"incentivizedActivity": true,
"downloadRange": "500000000 - 1000000000",
"averageUserRating": 4,
"contentRating": "Everyone",
"blocklisted": false,
"blocklistedReasons": [
"App is No Longer in Active Use",
"The app is a VPN"
],
"adCapabilities": {
"topDevice": "Generic Android",
"displayTopAdsize": "336x280",
"videoTopAdsize": "768x1024",
"displayContribution": 95.23,
"videoContribution": 4.77,
"hyperLocationAvailability": 98.78,
"mraidVersion": "3.0",
"adsDetected": true
},
"interactiveELements": [
"Shares Location",
"Users Interact"
]
},
"pixalateAdvisories": {
"hasAppAdsTxt": false,
"delistedApp": true,
"delistedDate": "2021-10-30",
"hasDangerousPermissions": false,
"blocklisted": false,
"privateDomain": false,
"hasTermsAndConditions": true,
"hasPrivacyPolicy": true
},
"appAdvisories": [
"An example advisory",
"Another advisory"
],
"riskOverview": {
"ivt": 10.12,
"ivtRisk": "medium",
"viewability": 66.05,
"viewabilityRisk": "medium",
"descriptionBrandSafetyRisk": "low",
"contentBrandSafetyRisk": "low",
"overallIvtPermissionRisk": "low",
"risk": [
{
"region": "APAC",
"device": "smartphone",
"pixalateRisk": "medium",
"pixalateRiskReasons": [
"Significantly Elevated IVT Percentage",
"Ad Traffic Shows Some Suspicious Characteristics"
]
}
]
},
"developerOverview": {
"developerName": "Acme Apps",
"developerLocation": "J. Doe, Main Street, Anywhere USA",
"developerEmail": "jdoe@example.org",
"developerCountry": "US",
"developerWebsite": "https://www.example.org",
"developerTotalApps": 4,
"privateDomain": false,
"hasTermsAndConditions": true,
"hasPrivacyPolicy": true,
"facebookRisk": "low",
"linkedInRisk": "low",
"twitterRisk": "low"
},
"trafficOverview": {
"spoofingRisk": "low",
"locationMaskingRisk": "low",
"advertisingIvtRisk": "low",
"clickIvtRisk": "low",
"viewabilityRisk": "low",
"estimatedDailyActiveUsers": 1000000,
"estimatedMonthlyActiveUsers": 20000000,
"inventory": 22000000,
"adSpend": 69000
},
"brandSafety": {
"descriptionBrandSafety": {
"descriptionBrandSafetyRisk": "medium",
"advisoriesRisk": "medium",
"adultContentRisk": "high",
"drugContentRisk": "medium",
"alcoholContentRisk": "medium",
"hateSpeechRisk": "low",
"offensiveContentRisk": "medium",
"gamblingContentRisk": "medium",
"violenceContentRisk": "low"
},
"contentBrandSafety": {
"contentBrandSafetyRisk": "medium",
"adultRisk": "low",
"violenceRisk": "medium",
"imageData": [
{
"url": "https://example.org/images/kxipXQ3huWkwsqokX66euP.png",
"text": "Weather Radar",
"violenceRisk": "low",
"spoofRisk": "low",
"medicalRisk": "low",
"adultRisk": "low"
}
]
}
},
"appPermissions": {
"ivtPermissionRisk": "medium",
"permissions": [
{
"name": "ACCESS_BACKGROUND_LOCATION",
"description": "Allows an app to access location in the background.",
"isDangerous": "false;",
"ivtPermissonRisk": "medium"
}
]
},
"trafficOverlap": {
"userOverlap": 8.7,
"inventoryOverlap": 3.1
},
"authorizedSellers": [
{
"exchange": "Acme Exchange",
"paymentType": "Direct",
"inventory": 30039,
"inventoryRatio": 12.87,
"ivt": 0.9,
"videoInventoryRatio": 1.4,
"viewability": 79.28
}
],
"invalidTraffic": {
"ivt": 7.76,
"givt": 0.29,
"sivt": 7.47,
"givtTypes": [
{
"fraudType": "Data Center",
"givt": 0.29
}
],
"sivtTypes": [
{
"fraudType": "AppSpoofing",
"sivt": 2.78
}
]
},
"viewability": {
"viewability": 66.05,
"viewabilityRisk": "medium",
"byAdSizes": [
{
"adSize": "728x90",
"inventory": 22360289,
"inventoryRatio": 66.05,
"viewability": 66.05
}
]
},
"inventory": {
"byDevice": [
{
"device": "Apple Iphone",
"inventory": null,
"inventoryRatio": 81.04,
"ivt": 8.02,
"viewability": 73.3
}
],
"byRegion": [
{
"region": "APAC",
"inventory": null,
"inventoryRatio": 6.39,
"ivt": 2.93,
"viewability": 92.52
}
],
"byCounty": [
{
"countryName": "UK",
"inventory": null,
"inventoryRatio": 1.72,
"ivt": 8.99,
"viewability": 94.74
}
],
"byAdsize": [
{
"adSize": "320x50",
"inventory": null,
"inventoryRatio": 3.47,
"ivt": 12.25,
"viewability": 98.08
}
],
"byDma": [
{
"dmaName": "NEW YORK",
"inventory": null,
"inventoryRatio": 5.35,
"ivt": 4.76,
"viewability": 88.01
}
]
},
"ctr": {
"ctr": 6.03,
"byAdSize": [
{
"adSize": "320x50",
"ctr": 1.45
}
]
},
"availableCountries": [
"Germany"
],
"rankings": {
"regionRank": 6473,
"categoryRank": 3677,
"category": "Video Games",
"final": {
"grade": "C",
"score": "38"
},
"ivt": {
"grade": "B",
"score": "62"
},
"adsTxt": {
"grade": "B",
"score": "62"
},
"brandSafety": {
"grade": "A",
"score": "99"
},
"viewability": {
"grade": "A",
"score": "99"
},
"permissions": {
"grade": "N/A",
"score": "N/A"
},
"popularity": {
"grade": "C",
"score": "44"
},
"globalPopularityRank": "3952"
},
"rankingsByCountry": {
"reach": [
{
"countryCode": "ZA",
"countryName": "South Africa",
"mauRank": "637",
"mauRankChange": "-372"
}
],
"marketShare": [
{
"countryCode": "GE",
"countryName": "Georgia",
"impressionRank": "359",
"impsRankChange": "N/A"
}
]
},
"coppa": {
"coppaAudience": "General Audience",
"coppaAudienceReason": [
"This app is likely directed to children (including mixed audience) based on manual review"
],
"storeCategory": [
"All Apps"
],
"storeSubCategory": [
"Health & Fitness"
],
"contentRating": "Everyone",
"isApprovedByTeacher": false,
"ageGroupApprovedByTeacher": null,
"coppaViolationRisk": "low",
"coppaViolationRiskReason": [
"The COPPA risk is low because the app is likely not directed to children under 13."
],
"privacyPolicyDetected": true,
"sensitivePermissions": true,
"transmitsResidentialIP": true,
"passesLocation": true,
"permissions": [
{
"name": "READ_CONTACTS",
"description": "Allows an application to read the user's contacts data."
}
]
}
}
An app.
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
appId | string | false | none | The app's unique identifier. A package name on Google Play or a track id on Apple app Store. |
region | Region | false | none | A geographic region. GLOBAL indicates an aggregate of all regions. |
device | Device | false | none | The device. GLOBAL indicates an aggregate of all devices. |
appStore | AppStore | false | none | An app store identifier. |
appOverview | AppOverview | false | none | General information about the app. |
appDetails | AppDetails | false | none | Detailed information about the app. |
pixalateAdvisories | PixalateAdvisories | false | none | Pixalate app advisories. |
appAdvisories | AppAdvisories | false | none | App advisories. |
riskOverview | RiskOverview | false | none | An overview of risk for the app. |
developerOverview | DeveloperOverview | false | none | An overview of app's developer information. |
trafficOverview | TrafficOverview | false | none | An overview of the traffic risk. |
brandSafety | BrandSafety | false | none | Brand safety information. |
appPermissions | AppPermissions | false | none | App permissions. |
trafficOverlap | TrafficOverlap | false | none | Overlap traffic illustrates the most common user journeys from app to app. It leverages shared users to not only connect apps together but also to create relationships between a series of apps. List of apps provided based on overall traffic (byOveralTraffic) and invalid traffic (byIvt). |
authorizedSellers | AuthorizedSellers | false | none | The contribution of various sell side platforms to programmatic ad impressions sold on the app. |
invalidTraffic | InvalidTraffic | false | none | The percentage of invalid traffic associated with each Pixalate's taxonomy of GIVT and SIVT invalid traffic types. |
viewability | Viewability | false | none | The average viewability, according the IAB standard of 50% in view for at least 1 second, for display advertisements in the app. |
inventory | Inventory | false | none | The estimated volume of programmatic ad impressions broken down by device, region, country, DMA. |
ctr | Ctr | false | none | Information about Click Through Rate for this app. |
availableCountries | AvailableCountries | false | none | A list of available countries. |
rankings | Rankings | false | none | Ranking information about the app. |
rankingsByCountry | RankingsByCountry | false | none | The reach and market share of the app broken down by country. |
coppa | Coppa | false | none | Children's Online Privacy Protection Act information. |
{
"appTitle": "Example App",
"screenshotUrls": [
"https://example.com/image/screenshot-1.png",
"https://example.com/image/screenshot-2.png"
],
"description": "An example app.",
"iabPrimaryCategory": [
"Video Gaming"
],
"iabSubCategory": [
"Mobile Games"
],
"appStoreCategories": [
"Games"
],
"delistedDate": "2021-10-30",
"delistedApp": false,
"hasDangerousPermissions": false
}
General information about the app.
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
appTitle | string | false | none | The app title. |
screenshotUrls | [string] | false | none | A list of app screenshot URLs. |
description | string | false | none | App description. |
iabPrimaryCategory | [string] | false | none | The IAB primary categories. |
iabSubCategory | [string] | false | none | The IAB secondary categories. |
appStoreCategories | [string] | false | none | App store categories. |
delistedDate | string(date) | false | none | If app has been delisted from the app store, then this property is the date when delisted. The date format is YYYY-MM-DD. |
delistedApp | boolean | false | none | A true indicates that app has been delisted from the app store. |
hasDangerousPermissions | boolean | false | none | A true indicates that the app requests a permission which is dangerous according to the protection level in the Google permission manifest. |
{
"bundleId": "com.example.ios",
"trackId": "1407852246",
"appStoreUrl": "https://apps.apple.com/us/app/example/id1407852246?uo=4",
"appLastUpdatedDate": "2021-10-30",
"trustedSeller": "Example",
"incentivizedActivity": true,
"downloadRange": "500000000 - 1000000000",
"averageUserRating": 4,
"contentRating": "Everyone",
"blocklisted": false,
"blocklistedReasons": [
"App is No Longer in Active Use",
"The app is a VPN"
],
"adCapabilities": {
"topDevice": "Generic Android",
"displayTopAdsize": "336x280",
"videoTopAdsize": "768x1024",
"displayContribution": 95.23,
"videoContribution": 4.77,
"hyperLocationAvailability": 98.78,
"mraidVersion": "3.0",
"adsDetected": true
},
"interactiveELements": [
"Shares Location",
"Users Interact"
]
}
Detailed information about the app.
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
bundleId | string | false | none | The App bundle identifier. For Google Play it is package name & For app Store it is Unique identifier for the app assigned by apple developer. |
trackId | string | false | none | The unique identifier for the app assigned by Apple. App Store Only, otherwise null |
appStoreUrl | string | false | none | The app page on Google Play or App Store. |
appLastUpdatedDate | string(date) | false | none | The date the app information was last updated. Formatted as YYYY-MM-DD. |
trustedSeller | string | false | none | The authorized trusted seller. |
incentivizedActivity | boolean | false | none | A true indicates incentivized activity available in the app. |
downloadRange | string | false | none | The estimated number of apps installed. For Google Google Play only. |
averageUserRating | integer | false | none | The average user rating given by the app store. |
contentRating | string | false | none | The recommended content rating defined by the app store. |
blocklisted | boolean | false | none | A true indicates the app has been placed on Pixalate risk blocklist. |
blocklistedReasons | BlocklistedReasons | false | none | A list of reasons that the app is blocklisted. |
adCapabilities | object | false | none | The ad capabilities of the app. |
» topDevice | string | false | none | The most commonly reported device in use by the app. |
» displayTopAdsize | string | false | none | The display ad size most commonly trafficked in programmatic advertising. |
» videoTopAdsize | string | false | none | The video ad size most commonly trafficked in programmatic advertising. |
» displayContribution | number | false | none | The percentage of video ads trafficked on the app. |
» videoContribution | number | false | none | The percentage of display ads trafficked on the app. |
» hyperLocationAvailability | number | false | none | The percentage of advertising transactions containing the user's latitude and longitude. |
» mraidVersion | string | false | none | The most recent version of MRAID for which the app is compliant. |
» adsDetected | boolean | false | none | A true indicates that Ads detected in the app. Non ad-supported apps may be at risk of spoofing. |
interactiveELements | InteractiveElements | false | none | List of Interactive elements focus on what information the app has access to. |
{
"hasAppAdsTxt": false,
"delistedApp": true,
"delistedDate": "2021-10-30",
"hasDangerousPermissions": false,
"blocklisted": false,
"privateDomain": false,
"hasTermsAndConditions": true,
"hasPrivacyPolicy": true
}
Pixalate app advisories.
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
hasAppAdsTxt | boolean | false | none | A true indicates that AppAds.txt is enabled for the app's domain. |
delistedApp | boolean | false | none | A true indicates that app has been delisted from the app store. |
delistedDate | string(date) | false | none | If app has been delisted from the app store, then this property is the date when delisted. The date format is YYYY-MM-DD. |
hasDangerousPermissions | boolean | false | none | A true indicates that the app requests a permission which is dangerous according to the protection level in the Google permission manifest. |
blocklisted | boolean | false | none | A true indicates app has been placed on Pixalate risk blocklist. |
privateDomain | boolean | false | none | A true indicates app's domain is privately registered. |
hasTermsAndConditions | boolean | false | none | A true indicates app has terms and conditions. |
hasPrivacyPolicy | boolean | false | none | A true indicates app has privacy policy. |
[
"An example advisory",
"Another advisory"
]
App advisories.
None
{
"ivt": 10.12,
"ivtRisk": "medium",
"viewability": 66.05,
"viewabilityRisk": "medium",
"descriptionBrandSafetyRisk": "low",
"contentBrandSafetyRisk": "low",
"overallIvtPermissionRisk": "low",
"risk": [
{
"region": "APAC",
"device": "smartphone",
"pixalateRisk": "medium",
"pixalateRiskReasons": [
"Significantly Elevated IVT Percentage",
"Ad Traffic Shows Some Suspicious Characteristics"
]
}
]
}
An overview of risk for the app.
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
ivt | number | false | none | Percentage of invalid traffic associated with advertising transactions for the app. |
ivtRisk | string | false | none | The invalid traffic risk. |
viewability | number | false | none | The average viewability for all display ad impressions in the app. |
viewabilityRisk | string | false | none | The risk of IAB viewability standards not being met for ad impressions on the app. |
descriptionBrandSafetyRisk | string | false | none | The overall description risk to advertise brand safety from the app. |
contentBrandSafetyRisk | string | false | none | The overall content risk to advertise brand safety from the app. |
overallIvtPermissionRisk | string | false | none | The overall IVT risk to advertise brand safety from the app. |
risk | [object] | false | none | Pixalate's unique overall advertising risk assessment based on blended risk factors including brand safety, invalid traffic and inventory for all regions and devices. It includes risk reasons. And list of possible risk reasons. |
» region | Region | false | none | A geographic region. GLOBAL indicates an aggregate of all regions. |
» device | Device | false | none | The device. GLOBAL indicates an aggregate of all devices. |
» pixalateRisk | string | false | none | Pixalate's unique overall risk assessment for the app. |
» pixalateRiskReasons | RiskReasons | false | none | A list of reasons that the app is at risk. |
Property | Value |
---|---|
ivtRisk | low |
ivtRisk | medium |
ivtRisk | high |
viewabilityRisk | low |
viewabilityRisk | medium |
viewabilityRisk | high |
descriptionBrandSafetyRisk | low |
descriptionBrandSafetyRisk | medium |
descriptionBrandSafetyRisk | high |
contentBrandSafetyRisk | low |
contentBrandSafetyRisk | medium |
contentBrandSafetyRisk | high |
overallIvtPermissionRisk | low |
overallIvtPermissionRisk | medium |
overallIvtPermissionRisk | high |
pixalateRisk | low |
pixalateRisk | medium |
pixalateRisk | high |
{
"developerName": "Acme Apps",
"developerLocation": "J. Doe, Main Street, Anywhere USA",
"developerEmail": "jdoe@example.org",
"developerCountry": "US",
"developerWebsite": "https://www.example.org",
"developerTotalApps": 4,
"privateDomain": false,
"hasTermsAndConditions": true,
"hasPrivacyPolicy": true,
"facebookRisk": "low",
"linkedInRisk": "low",
"twitterRisk": "low"
}
An overview of app's developer information.
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
developerName | string | false | none | The business name of the app's developer. |
developerLocation | string | false | none | The business address of the app's developer |
developerEmail | string | false | none | The contact email address of the app's developer. |
developerCountry | string | false | none | The country name of the app's developer. |
developerWebsite | string | false | none | The website of the app's developer. |
developerTotalApps | integer | false | none | The total number of apps available from the developer. |
privateDomain | boolean | false | none | A true indicates app's domain is privately registered. |
hasTermsAndConditions | boolean | false | none | A true indicates app has terms and conditions. |
hasPrivacyPolicy | boolean | false | none | A true indicates app has privacy policy. |
facebookRisk | string | false | none | The Facebook risk. Low social media engagement on Facebook can be a risk factor. |
linkedInRisk | string | false | none | The LinkedIn risk. Low social media engagement on LinkedIn can be a risk factor. |
twitterRisk | string | false | none | The Twitter risk. Low social media engagement on Twitter can be a risk factor. |
Property | Value |
---|---|
facebookRisk | low |
facebookRisk | medium |
facebookRisk | high |
linkedInRisk | low |
linkedInRisk | medium |
linkedInRisk | high |
twitterRisk | low |
twitterRisk | medium |
twitterRisk | high |
{
"spoofingRisk": "low",
"locationMaskingRisk": "low",
"advertisingIvtRisk": "low",
"clickIvtRisk": "low",
"viewabilityRisk": "low",
"estimatedDailyActiveUsers": 1000000,
"estimatedMonthlyActiveUsers": 20000000,
"inventory": 22000000,
"adSpend": 69000
}
An overview of the traffic risk.
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
spoofingRisk | string | false | none | The risk the app may be misrepresented in advertising transactions and ads delivered to a different app or site. |
locationMaskingRisk | string | false | none | The risk that location data is inaccurate for advertising transactions involving the app. |
advertisingIvtRisk | string | false | none | The risk of advertising impressions delivered to the app being due to invalid traffic. |
clickIvtRisk | string | false | none | The risk of clicks originating from ads on the app being fraudluent. |
viewabilityRisk | string | false | none | The risk of IAB viewability standards not being met for ad impressions on the app. |
estimatedDailyActiveUsers | integer | false | none | The estimated daily active users of the app. |
estimatedMonthlyActiveUsers | integer | false | none | The estimated monthly active users of the app. |
inventory | integer | false | none | The estimated number of monthly impressions this app makes available programmatically. |
adSpend | number | false | none | Total estimated monthly ad spend on this app. |
Property | Value |
---|---|
spoofingRisk | low |
spoofingRisk | medium |
spoofingRisk | high |
locationMaskingRisk | low |
locationMaskingRisk | medium |
locationMaskingRisk | high |
advertisingIvtRisk | low |
advertisingIvtRisk | medium |
advertisingIvtRisk | high |
clickIvtRisk | low |
clickIvtRisk | medium |
clickIvtRisk | high |
viewabilityRisk | low |
viewabilityRisk | medium |
viewabilityRisk | high |
{
"descriptionBrandSafety": {
"descriptionBrandSafetyRisk": "medium",
"advisoriesRisk": "medium",
"adultContentRisk": "high",
"drugContentRisk": "medium",
"alcoholContentRisk": "medium",
"hateSpeechRisk": "low",
"offensiveContentRisk": "medium",
"gamblingContentRisk": "medium",
"violenceContentRisk": "low"
},
"contentBrandSafety": {
"contentBrandSafetyRisk": "medium",
"adultRisk": "low",
"violenceRisk": "medium",
"imageData": [
{
"url": "https://example.org/images/kxipXQ3huWkwsqokX66euP.png",
"text": "Weather Radar",
"violenceRisk": "low",
"spoofRisk": "low",
"medicalRisk": "low",
"adultRisk": "low"
}
]
}
}
Brand safety information.
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
descriptionBrandSafety | object | false | none | App descriptive text is processed through natural language algorithms and comprehensive categorical dictionaries to predict the advertiser brand safety risk. |
» descriptionBrandSafetyRisk | string | false | none | The overall description risk to advertise brand safety from the app. |
» advisoriesRisk | string | false | none | The risk to brand safety derived from the app's content advisories. |
» adultContentRisk | string | false | none | The risk to brand safety from adult themed content based on textual analysis of the app and its descriptive content. |
» drugContentRisk | string | false | none | The risk to brand safety from drug themed content based on textual analysis of the app and its descriptive content. |
» alcoholContentRisk | string | false | none | The risk to brand safety from Alcohol themed content based on textual analysis of the app and its descriptive content. |
» hateSpeechRisk | string | false | none | The risk to brand safety from hate speech content based on textual analysis of the app and its descriptive content. |
» offensiveContentRisk | string | false | none | The risk to brand safety from content with offensive language based on textual analysis of the app and its descriptive content . |
» gamblingContentRisk | string | false | none | The risk to brand safety from gambling focused content based on textual analysis of the app and its descriptive content. |
» violenceContentRisk | string | false | none | The risk to brand safety from Gambling focused content based on textual analysis of the app and its descriptive content. |
contentBrandSafety | object | false | none | In-app visual content is processed through an advanced machine learning algorithm and evaluated for risk to advertiser brand safety. |
» contentBrandSafetyRisk | string | false | none | The overall content risk to advertise brand safety from the app. |
» adultRisk | string | false | none | The risk to brand safety from potential adult images and content detected within the app. |
» violenceRisk | string | false | none | The risk to brand safety from potential violent imagery and content detected within the app. |
» imageData | [object] | false | none | The image by image breakdown of brand safety risk factors based on advanced image processing and machine learning. |
»» url | string | false | none | A URL to the image. |
»» text | string | false | none | The extracted text. |
»» violenceRisk | string | false | none | The risk to brand safety from potential violence images and any extracted text. |
»» spoofRisk | string | false | none | The risk to brand safety from potential spoofing based on images and any extracted text. |
»» medicalRisk | string | false | none | The risk to brand safety from potential medical images and any extracted text. |
»» adultRisk | string | false | none | The risk to brand safety from potential adult images images and any extracted text. |
Property | Value |
---|---|
descriptionBrandSafetyRisk | low |
descriptionBrandSafetyRisk | medium |
descriptionBrandSafetyRisk | high |
advisoriesRisk | low |
advisoriesRisk | medium |
advisoriesRisk | high |
adultContentRisk | low |
adultContentRisk | medium |
adultContentRisk | high |
drugContentRisk | low |
drugContentRisk | medium |
drugContentRisk | high |
alcoholContentRisk | low |
alcoholContentRisk | medium |
alcoholContentRisk | high |
hateSpeechRisk | low |
hateSpeechRisk | medium |
hateSpeechRisk | high |
offensiveContentRisk | low |
offensiveContentRisk | medium |
offensiveContentRisk | high |
gamblingContentRisk | low |
gamblingContentRisk | medium |
gamblingContentRisk | high |
violenceContentRisk | low |
violenceContentRisk | medium |
violenceContentRisk | high |
contentBrandSafetyRisk | low |
contentBrandSafetyRisk | medium |
contentBrandSafetyRisk | high |
adultRisk | low |
adultRisk | medium |
adultRisk | high |
violenceRisk | low |
violenceRisk | medium |
violenceRisk | high |
violenceRisk | low |
violenceRisk | medium |
violenceRisk | high |
spoofRisk | low |
spoofRisk | medium |
spoofRisk | high |
medicalRisk | low |
medicalRisk | medium |
medicalRisk | high |
adultRisk | low |
adultRisk | medium |
adultRisk | high |
{
"ivtPermissionRisk": "medium",
"permissions": [
{
"name": "ACCESS_BACKGROUND_LOCATION",
"description": "Allows an app to access location in the background.",
"isDangerous": "false;",
"ivtPermissonRisk": "medium"
}
]
}
App permissions.
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
ivtPermissionRisk | string | false | none | The IVT Risk based on the combined risk of the permissions. |
permissions | [object] | false | none | List of permissions. |
» name | string | false | none | The permission name. |
» description | string | false | none | The permission description. |
» isDangerous | boolean | false | none | A true indicates a dangerous permission. Normal permissions - Normal permissions cover areas where your app needs to access data or resources outside the app's sandbox, but where there's very little risk to the user's privacy or the operation of other apps. For example, permission to set the time zone is a normal permission. If an app declares in its manifest that it needs a normal permission, the system automatically grants the app that permission at install time. Dangerous permissions - Dangerous permissions cover areas where the app wants data or resources that involve the user's private information, or could potentially affect the user's stored data or the operation of other apps. For example, the ability to read the user's contacts is a dangerous permission. If an app declares that it needs a dangerous permission, the user has to explicitly grant the permission to the app. Until the user approves the permission, the app cannot provide functionality that depends on that permission. |
» ivtPermissonRisk | string | false | none | The IVT Risk for the permission. |
Property | Value |
---|---|
ivtPermissionRisk | low |
ivtPermissionRisk | medium |
ivtPermissionRisk | high |
ivtPermissonRisk | low |
ivtPermissonRisk | medium |
ivtPermissonRisk | high |
{
"userOverlap": 8.7,
"inventoryOverlap": 3.1
}
Overlap traffic illustrates the most common user journeys from app to app. It leverages shared users to not only connect apps together but also to create relationships between a series of apps. List of apps provided based on overall traffic (byOveralTraffic) and invalid traffic (byIvt).
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
userOverlap | number | false | none | The percentage of users of the given app that also visit the app. |
inventoryOverlap | number | false | none | The percentage of impressions of the given app that were generated by the users that visited the app. |
[
{
"exchange": "Acme Exchange",
"paymentType": "Direct",
"inventory": 30039,
"inventoryRatio": 12.87,
"ivt": 0.9,
"videoInventoryRatio": 1.4,
"viewability": 79.28
}
]
The contribution of various sell side platforms to programmatic ad impressions sold on the app.
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
exchange | string | false | none | The name of the exchange. |
paymentType | string | false | none | The payment type. |
inventory | integer | false | none | The estimated number of monthly impressions this app makes available programmatically by this seller. |
inventoryRatio | number | false | none | The average inventory ratio for ad impressions on the app by this seller. |
ivt | number | false | none | The average IVT for ad impressions on the app by this seller. |
videoInventoryRatio | number | false | none | The average video inventory ratio for ad impressions on the app by this seller. |
viewability | number | false | none | The average viewability for ad impressions on the app by this seller. |
{
"ivt": 7.76,
"givt": 0.29,
"sivt": 7.47,
"givtTypes": [
{
"fraudType": "Data Center",
"givt": 0.29
}
],
"sivtTypes": [
{
"fraudType": "AppSpoofing",
"sivt": 2.78
}
]
}
The percentage of invalid traffic associated with each Pixalate's taxonomy of GIVT and SIVT invalid traffic types.
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
ivt | number | false | none | The total percentage of non-human traffic measured on the app. |
givt | number | false | none | GIVT refers to General Invalid Traffic - Deterministically judged to be non-human traffic; high to very high risk. |
sivt | number | false | none | SIVT refers to Sophisticated Invalid Traffic - Probabilistically judged to be non-human traffic using advanced statistical detection methods; moderate to high risk traffic. |
givtTypes | [object] | false | none | The percentage of invalid traffic associated with each Pixalate's taxonomy of GIVT invalid traffic types. |
» fraudType | string | false | none | The type of SIVT fraud. |
» givt | number | false | none | GIVT refers to General Invalid Traffic - Deterministically judged to be non-human traffic; high to very high risk. |
sivtTypes | [object] | false | none | The percentage of invalid traffic associated with each Pixalate's taxonomy of SIVT invalid traffic types. |
» fraudType | string | false | none | The type of SIVT fraud. |
» sivt | number | false | none | SIVT refers to Sophisticated Invalid Traffic - Probabilistically judged to be non-human traffic using advanced statistical detection methods; moderate to high risk traffic. |
{
"viewability": 66.05,
"viewabilityRisk": "medium",
"byAdSizes": [
{
"adSize": "728x90",
"inventory": 22360289,
"inventoryRatio": 66.05,
"viewability": 66.05
}
]
}
The average viewability, according the IAB standard of 50% in view for at least 1 second, for display advertisements in the app.
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
viewability | number | false | none | The average viewability for all display ad impressions in the app. |
viewabilityRisk | string | false | none | The risk of IAB viewability standards not being met for ad impressions on the app. |
byAdSizes | [object] | false | none | The risk of IAB viewability standards not being met for ad impressions on the app by each ad size. |
» adSize | string | false | none | The size of the ad. |
» inventory | integer | false | none | The estimated volume of programmatic ad impressions by ad size. |
» inventoryRatio | number | false | none | The estimated percentage of inventory by ad size. |
» viewability | number | false | none | The average viewability for impressions by ad size. |
Property | Value |
---|---|
viewabilityRisk | low |
viewabilityRisk | medium |
viewabilityRisk | high |
{
"byDevice": [
{
"device": "Apple Iphone",
"inventory": null,
"inventoryRatio": 81.04,
"ivt": 8.02,
"viewability": 73.3
}
],
"byRegion": [
{
"region": "APAC",
"inventory": null,
"inventoryRatio": 6.39,
"ivt": 2.93,
"viewability": 92.52
}
],
"byCounty": [
{
"countryName": "UK",
"inventory": null,
"inventoryRatio": 1.72,
"ivt": 8.99,
"viewability": 94.74
}
],
"byAdsize": [
{
"adSize": "320x50",
"inventory": null,
"inventoryRatio": 3.47,
"ivt": 12.25,
"viewability": 98.08
}
],
"byDma": [
{
"dmaName": "NEW YORK",
"inventory": null,
"inventoryRatio": 5.35,
"ivt": 4.76,
"viewability": 88.01
}
]
}
The estimated volume of programmatic ad impressions broken down by device, region, country, DMA.
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
byDevice | [object] | false | none | The estimated volume of programmatic ad impressions broken down by device. |
» device | string | false | none | The device. |
» inventory | integer | false | none | The estimated volume of programmatic ad impressions by device. |
» inventoryRatio | number | false | none | The estimated percentage of inventory by device. |
» ivt | number | false | none | The total percentage of non-human traffic measured on the app by device. |
» viewability | number | false | none | The average viewability for impressions by device. |
byRegion | [object] | false | none | The estimated volume of programmatic ad impressions broken down by region. |
» region | string | false | none | The region. |
» inventory | integer | false | none | The estimated volume of programmatic ad impressions by region. |
» inventoryRatio | number | false | none | The estimated percentage of inventory by region. |
» ivt | number | false | none | The total percentage of non-human traffic measured on the app by region. |
» viewability | number | false | none | The average viewability for impressions by region. |
byCounty | [object] | false | none | The estimated volume of programmatic ad impressions broken down by country. |
» countryName | string | false | none | The county name. |
» inventory | integer | false | none | The estimated volume of programmatic ad impressions by country. |
» inventoryRatio | number | false | none | The estimated percentage of inventory by country. |
» ivt | number | false | none | The total percentage of non-human traffic measured on the app by country. |
» viewability | number | false | none | The average viewability for impressions by country. |
byAdsize | [object] | false | none | The estimated volume of programmatic ad impressions broken down by ad size. |
» adSize | string | false | none | The ad size. |
» inventory | integer | false | none | The estimated volume of programmatic ad impressions by ad size. |
» inventoryRatio | number | false | none | The estimated percentage of inventory by ad size. |
» ivt | number | false | none | The total percentage of non-human traffic measured on the app by ad size. |
» viewability | number | false | none | The average viewability for impressions by ad size. |
byDma | [object] | false | none | The estimated volume of programmatic ad impressions broken down by DMA. |
» dmaName | string | false | none | The DMA name. |
» inventory | integer | false | none | The estimated volume of programmatic ad impressions by DMA. |
» inventoryRatio | number | false | none | The estimated percentage of inventory by DMA. |
» ivt | number | false | none | The total percentage of non-human traffic measured on the app by DMA. |
» viewability | number | false | none | The average viewability for impressions by DMA. |
{
"ctr": 6.03,
"byAdSize": [
{
"adSize": "320x50",
"ctr": 1.45
}
]
}
Information about Click Through Rate for this app.
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
ctr | number | false | none | The overall average CTR for this app. |
byAdSize | [object] | false | none | The CTR for this app broken down by ad size. |
» adSize | string | false | none | The ad size. |
» ctr | number | false | none | The Click Through Rate. |
[
"Germany"
]
A list of available countries.
None
{
"regionRank": 6473,
"categoryRank": 3677,
"category": "Video Games",
"final": {
"grade": "C",
"score": "38"
},
"ivt": {
"grade": "B",
"score": "62"
},
"adsTxt": {
"grade": "B",
"score": "62"
},
"brandSafety": {
"grade": "A",
"score": "99"
},
"viewability": {
"grade": "A",
"score": "99"
},
"permissions": {
"grade": "N/A",
"score": "N/A"
},
"popularity": {
"grade": "C",
"score": "44"
},
"globalPopularityRank": "3952"
}
Ranking information about the app.
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
regionRank | integer | false | none | The rank of the app within the requested region. |
categoryRank | integer | false | none | The rank of the app within its category. |
category | string | false | none | The category of the app. |
final | object | false | none | The final grade and score for the app. |
» grade | string | false | none | The final grade for the app. |
» score | string | false | none | The final score for the app. |
ivt | object | false | none | The IVT grade and score for the app. |
» grade | string | false | none | The IVT grade for the app. |
» score | string | false | none | The IVT score for the app. |
adsTxt | object | false | none | The ads.txt grade and score for the app. |
» grade | string | false | none | The ads.txt grade for the app. |
» score | string | false | none | The ads.txt score for the app. |
brandSafety | object | false | none | The brand safety grade and score for the app. |
» grade | string | false | none | The brand safety grade for the app. |
» score | string | false | none | The brand safety score for the app. |
viewability | object | false | none | The viewability grade and score for the app. |
» grade | string | false | none | The viewability grade for the app. |
» score | string | false | none | The viewability score for the app. |
permissions | object | false | none | The permissions grade and score for the app. |
» grade | string | false | none | The permissions grade for the app. |
» score | string | false | none | The IVT score for the app. |
popularity | object | false | none | The popularity grade and score for the app. |
» grade | string | false | none | The popularity grade for the app. |
» score | string | false | none | The popularity score for the app. |
globalPopularityRank | string | false | none | The overall global popularity ranking of the app. |
{
"reach": [
{
"countryCode": "ZA",
"countryName": "South Africa",
"mauRank": "637",
"mauRankChange": "-372"
}
],
"marketShare": [
{
"countryCode": "GE",
"countryName": "Georgia",
"impressionRank": "359",
"impsRankChange": "N/A"
}
]
}
The reach and market share of the app broken down by country.
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
reach | [object] | false | none | The reach of the app broken down by country. |
» countryCode | string | false | none | The ISO ALPHA-2 standard country code. |
» countryName | string | false | none | The country name. |
» mauRank | string | false | none | The current MAU ranking for the app for this country. |
» mauRankChange | string | false | none | The change in MAU rank since last assessment. |
marketShare | [object] | false | none | The market share of the app broken down by country. |
» countryCode | string | false | none | The ISO ALPHA-2 standard country code. |
» countryName | string | false | none | The country name. |
» impressionRank | string | false | none | The current impression ranking for the app for this country. |
» impsRankChange | string | false | none | The change in impression ranking since last assessment. |
{
"coppaAudience": "General Audience",
"coppaAudienceReason": [
"This app is likely directed to children (including mixed audience) based on manual review"
],
"storeCategory": [
"All Apps"
],
"storeSubCategory": [
"Health & Fitness"
],
"contentRating": "Everyone",
"isApprovedByTeacher": false,
"ageGroupApprovedByTeacher": null,
"coppaViolationRisk": "low",
"coppaViolationRiskReason": [
"The COPPA risk is low because the app is likely not directed to children under 13."
],
"privacyPolicyDetected": true,
"sensitivePermissions": true,
"transmitsResidentialIP": true,
"passesLocation": true,
"permissions": [
{
"name": "READ_CONTACTS",
"description": "Allows an application to read the user's contacts data."
}
]
}
Children's Online Privacy Protection Act information.
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
coppaAudience | string | false | none | Assesses the likely intended audience of an app based on a variety of factors including app store categories, content ratings, and keywords, etc. |
coppaAudienceReason | [string] | false | none | Describes the specific variables considered when making the audience assessment. |
storeCategory | [string] | false | none | The associated category of an app according to the Google Play Store & Apple’s App Store. |
storeSubCategory | [string] | false | none | The associated subcategory from Google Play Store & Apple’s App Store. |
contentRating | string | false | none | The recommended age rating defined by the Apple's app store or the content rating provided by Google play store. |
isApprovedByTeacher | boolean | false | none | Google Play’s program in which apps are evaluated by teachers and other specialists and for age and content appropriateness. |
ageGroupApprovedByTeacher | string | false | none | The recommended age group as approved by teachers. |
coppaViolationRisk | string | false | none | Pixalate analyzes multiple signals and produces a risk score (low, medium, or high) that captures the potential COPPA risk. |
coppaViolationRiskReason | [string] | false | none | Describes the specific variables considered when making the overall COPPA risk rating assessment. |
privacyPolicyDetected | boolean | false | none | Pixalate determines whether an app has a privacy policy based on information provided in the app stores. Additionally, Pixalate uses crawlers to scan developer websites for privacy policies. |
sensitivePermissions | boolean | false | none | Detects mobile device permissions granted to the app such as camera, microphone, contacts, etc. which allow for sensitive personal information collection. |
transmitsResidentialIP | boolean | false | none | Pixalate examines the traffic associated with an app and determines if the end-user IP is transmitted through the advertising pipeline that can expose granular information about the user’s location. |
passesLocation | boolean | false | none | Pixalate examines the traffic associated with an app and determines if the end-users’ GPS coordinates are being transmitted through the advertising pipeline that exposes granular information about the user’s location. |
permissions | [object] | false | none | Lists the device permissions granted to the app, reports those considered sensitive permissions related to COPPA. |
» name | string | false | none | The name of the permission. |
» description | string | false | none | The permissions description. |
Property | Value |
---|---|
coppaViolationRisk | low |
coppaViolationRisk | medium |
coppaViolationRisk | high |
"android"
An app store identifier.
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | An app store identifier. |
Property | Value |
---|---|
anonymous | ios |
anonymous | android |
"smartphone"
The device. GLOBAL indicates an aggregate of all devices.
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | The device. GLOBAL indicates an aggregate of all devices. |
Property | Value |
---|---|
anonymous | GLOBAL |
anonymous | smartphone |
anonymous | tablet |
"APAC"
A geographic region. GLOBAL indicates an aggregate of all regions.
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | A geographic region. GLOBAL indicates an aggregate of all regions. |
Property | Value |
---|---|
anonymous | GLOBAL |
anonymous | NA |
anonymous | EMEA |
anonymous | LATAM |
anonymous | APAC |
"OK"
The returned status.
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | The returned status. |
Property | Value |
---|---|
anonymous | OK |
anonymous | ERR |
"appOverview"
The identifier for a predefined subset of all the app information available. If not supplied, usually indicates all widgets.
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | The identifier for a predefined subset of all the app information available. If not supplied, usually indicates all widgets. |
Property | Value |
---|---|
anonymous | appOverview |
anonymous | appDetails |
anonymous | pixalateAdvisories |
anonymous | appAdvisories |
anonymous | riskOverview |
anonymous | developerOverview |
anonymous | trafficOverview |
anonymous | brandSafety |
anonymous | appPermissions |
anonymous | trafficOverlap |
anonymous | authorizedSellers |
anonymous | invalidTraffic |
anonymous | viewability |
anonymous | inventory |
anonymous | ctr |
anonymous | availableCountries |
anonymous | rankings |
anonymous | rankingsByCountry |
anonymous | coppa |
[
"App is No Longer in Active Use",
"The app is a VPN"
]
A list of reasons that the app is blocklisted.
None
[
"Significantly Elevated IVT Percentage",
"Ad Traffic Shows Some Suspicious Characteristics"
]
A list of reasons that the app is at risk.
None
[
"Shares Location",
"Users Interact"
]
List of Interactive elements focus on what information the app has access to.
None