> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.pixalate.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.pixalate.com/_mcp/server.

# Get risk ratings and reputation for one CTV app

GET https://api.pixalate.com/api/v2/mrt/ctv/{appId}

The purpose of this API is to provide risk ratings and reputational data for CTV applications. The response is a JSON formatted object containing a list of app information partitioned by region and device.

Reference: https://docs.pixalate.com/api-reference/enrichment-ctv/get-ctv-app-data

## Authentication

- `x-api-key` header (required) — Authentication and authorization is achieved by supplying your Pixalate provided API key in the header of the request. An API key may be obtained by signing up for an account on the [Pixalate developer website](https://developer.pixalate.com).

## Request

### Path parameters

- `appId` (string, required) — The app's unique identifier.

### Query parameters

- `widget` (list of enum, optional) — Filter by comma-separated list of widgets to return. All widgets are returned by default.
  - Allowed values: `appOverview`, `riskOverview`, `pixalateAdvisories`, `appSpoofing`, `appDetails`, `developerOverview`, `channels`, `brandSafety`, `trafficOverlap`, `authorizedSellers`, `invalidTraffic`, `inventory`, `availableCountries`, `rankings`, `rankingsByCountry`, `coppa`, `mfa`
- `region` (enum, optional) — Filter by region. All regions are returned by default. *GLOBAL* indicates aggregated traffic from all regions.
  - Allowed values: `GLOBAL`, `NA`, `EMEA`, `LATAM`, `APAC`
- `device` (enum, optional) — Filter by device. All devices are returned by default.
  - Allowed values: `roku`, `firetv`
- `includeSpoofing` (boolean, optional) — A *true* indicates that spoofing information should be included.
- `pretty` (boolean, optional) — If true, return pretty JSON. Default is false.

## Response

### 200

OK

- `status` (enum, optional) — The returned status.
  - Allowed values: `OK`, `ERR`
- `numFound` (integer, optional) — The total number of matching apps.
- `docs` (list of App, optional) — A list of apps.

## Errors

### 400 Bad Request Error

Bad Request - Invalid parameters in request.

- `any`

### 401 Unauthorized Error

Unauthorized - Invalid API Key.

- `any`

### 403 Forbidden Error

Forbidden - Quota has been exhausted, Subscription expired or needs upgrade.

- `any`

### 500 Server Error

Server Error - The API experienced an internal error. Contact support.

- `any`

## Types

### App

An app.

- `appId` (string, optional) — The app's unique identifier. *A package name on Google Play or a track id on Apple app Store.*
- `region` (enum, optional) — A geographic region. *GLOBAL* indicates an aggregate of all regions.
  - Allowed values: `GLOBAL`, `NA`, `EMEA`, `LATAM`, `APAC`
- `device` (enum, optional) — The device.
  - Allowed values: `roku`, `firetv`
- `includeSpoofing` (boolean, optional) — A *true* indicates that spoofing information is included.
- `appOverview` (AppOverview, optional) — General information about the app.
- `riskOverview` (RiskOverview, optional) — An overview of risk for the app.
- `pixalateAdvisories` (PixalateAdvisories, optional) — Pixalate app advisories.
- `appSpoofing` (AppSpoofing, optional) — Spoofing information about the app.
- `appDetails` (AppDetails, optional) — Detailed information about the app.
- `developerOverview` (DeveloperOverview, optional) — An overview of app's developer information.
- `channels` (list of ChannelsItems, optional) — Channels available for apps considered as aggregators or providers of 'skinny bundles'
- `brandSafety` (BrandSafety, optional) — Brand safety information.
- `trafficOverlap` (TrafficOverlap, optional) — Overlap traffic illustrates the most common user journeys from app to app.
- `authorizedSellers` (list of AuthorizedSellersItems, optional) — The contribution of various sell side platforms to programmatic ad impressions sold on the app.
- `invalidTraffic` (InvalidTraffic, optional) — The percentage of invalid traffic associated with each Pixalate's taxonomy of GIVT and SIVT invalid traffic types.
- `inventory` (Inventory, optional) — The estimated volume of programmatic ad impressions broken down by device, region, country, DMA.
- `availableCountries` (list of string, optional) — A list of available countries.
- `rankings` (Rankings, optional) — Ranking information about the app.
- `rankingsByCountry` (RankingsByCountry, optional) — The reach and market share of the app broken down by country.
- `coppa` (Coppa, optional) — Children's Online Privacy Protection Act information.
- `mfa` (Mfa, optional) — Made-for-advertising signals for the app.

### AppOverview

General information about the app.

- `channelId` (string, optional) — The channel identifier.
- `appTitle` (string, optional) — The app title.
- `description` (string, optional) — App description.
- `categories` (list of string, optional) — The categories of the app.
- `screenshotUrls` (list of string, optional) — A list of app screenshot URLs.

### RiskOverview

An overview of risk for the app.

- `risk` (list of RiskOverviewRiskItems, optional) — 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.
- `ivt` (double, optional) — Percentage of invalid traffic associated with advertising transactions for the app.
- `ivtRisk` (enum, optional) — The invalid traffic risk.
  - Allowed values: `low`, `medium`, `high`
- `ssaiRate` (double, optional) — The percentage of traffic observed to utilize server-side-ad-insertion (SSAI) integrations for ad/ad content delivery to the end user.
- `transaparentSsaiRate` (double, optional) — The SSAI tracked impressions that come from proxies passing X-Device-User-Agent headers for more transparency.
- `descriptionBrandSafetyRisk` (enum, optional) — The overall description risk to advertise brand safety from the app.
  - Allowed values: `low`, `medium`, `high`
- `contentBrandSafetyRisk` (enum, optional) — The overall content risk to advertise brand safety from the app.
  - Allowed values: `low`, `medium`, `high`

### PixalateAdvisories

Pixalate app advisories.

- `hasAppAdsTxt` (boolean, optional) — A *true* indicates that AppAds.txt is enabled for the app's domain.
- `delistedApp` (boolean, optional) — A *true* indicates that app has been delisted from the app store.
- `delistedDate` (date, optional) — If app has been delisted from the app store, then this property is the date when delisted. The date format is *YYYY-MM-DD*.
- `privateDomain` (boolean, optional) — A *true* indicates app's domain is privately registered.
- `hasTermsAndConditions` (boolean, optional) — A *true* indicates app has terms and conditions.
- `hasPrivacyPolicy` (boolean, optional) — A *true* indicates app has privacy policy.
- `appAgeRisk` (enum, optional) — Risk rating based on the amount of time the app has been listed within the app store. Apps which have been listed for an extended period of time may present less risk than those recently published. (low/medium/high)
  - Allowed values: `low`, `medium`, `high`

### AppSpoofing

Spoofing information about the app.

- `victimOfSpoofing` (boolean, optional) — A *true* indicates that the app is a victim of spoofing.
- `spoofingRisk` (enum, optional) — Risk of spoofing in this app. (low/medium/high)
  - Allowed values: `low`, `medium`, `high`
- `byFraudType` (list of AppSpoofingByFraudTypeItems, optional) — Spoofing by fraudType denoting the fraud type with set of apps with detectedBundleId, declaredBundleId, sovRisk

### AppDetails

Detailed information about the app.

- `appStoreUrl` (string, optional) — The app page on App Store.
- `availableCountries` (list of string, optional) — The countries in which the app is available.
- `availableLanguages` (list of string, optional) — The languages in which the app is available.
- `keywords` (list of string, optional) — Search terms and keywords typically associated to the app.
- `rating` (double, optional) — The app's average user-rating within the app store (based on a 5-star scale).
- `starRatingCount` (integer, optional) — The number of ratings provided within the app store.
- `parentalHint` (string, optional) — Indicates parental sensitivity considerations for the respective app content.
- `revenueSources` (list of string, optional) — The primary sources of revenue for the app.
- `cvaaCompliant` (boolean, optional) — A *true* indicates that the app is in compliance with the FCC's Communications and Video Accessibility Act (CVAA) Standards.
- `appAgeRisk` (enum, optional) — Risk rating based on the amount of time the app has been listed within the app store.(low/medium/high).
  - Allowed values: `low`, `medium`, `high`
- `appAge` (double, optional) — The amount of time the app has been listed within the app store.
- `publishedDate` (string, optional) — The date of original publication within the app store.
- `appPrivacyPolicy` (boolean, optional) — A *true* indicates that an app-specific privacy policy is maintained. Apps which do not maintain a privacy policy may be of higher risk to advertisers and sellers.
- `appPrivacyPolicyUrl` (string, optional) — Link to the app-specific privacy policy.
- `delistedApp` (boolean, optional) — A *true* indicates that the app was delisted from app store.
- `delistedDate` (string, optional) — If the app is delisted, then the date app was delisted from app store. The date format is *YYYY-MM-DD*.
- `bundleIds` (list of AppDetailsBundleIdsItems, optional) — The SOV ratio broken down by bundle identifier.

### DeveloperOverview

An overview of app's developer information.

- `developerName` (string, optional) — The business name of the app's developer.
- `developerWebsite` (string, optional) — The website of the app's developer.
- `privateDomain` (boolean, optional) — A *true* indicates app's domain is privately registered.
- `hasTermsAndConditions` (boolean, optional) — A *true* indicates app has terms and conditions.
- `hasPrivacyPolicy` (boolean, optional) — A *true* indicates app has privacy policy.
- `totalApps` (integer, optional) — Total number of apps published by this developer.

### ChannelsItems

Channel information.

- `name` (string, optional) — The channel name.

### BrandSafety

Brand safety information.

- `descriptionBrandSafety` (BrandSafetyDescriptionBrandSafety, optional) — App descriptive text is processed through natural language algorithms and comprehensive categorical dictionaries to predict the advertiser brand safety risk.
- `contentBrandSafety` (BrandSafetyContentBrandSafety, optional) — In-app visual content is processed through an advanced machine learning algorithm and evaluated for risk to advertiser brand safety.

### TrafficOverlap

Overlap traffic illustrates the most common user journeys from app to app.

- `trafficOverview` (TrafficOverlapTrafficOverview, optional) — Traffic volume and ad inventory estimates for the app along with associated advertising risk factors.
- `trafficOverlap` (TrafficOverlapTrafficOverlap, optional) — 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).

### AuthorizedSellersItems

- `exchange` (string, optional) — The name of the exchange.
- `paymentType` (string, optional) — The payment type.
- `inventory` (integer, optional) — The estimated number of monthly impressions this app makes available programmatically by this seller.
- `inventoryRatio` (double, optional) — The average inventory ratio for ad impressions on the app by this seller.
- `ivt` (double, optional) — The average IVT for ad impressions on the app by this seller.
- `videoInventoryRatio` (double, optional) — The average video inventory ratio for ad impressions on the app by this seller.
- `displayInventoryRatio` (double, optional) — The average display inventory ratio for ad impressions on the app by this seller.
- `spoofingRate` (double, optional) — The average spoofing rate for ad impressions on the app by this seller.
- `ssaiRate` (double, optional) — The percentage of traffic observed to utilize server-side-ad-insertion (SSAI) integrations for ad/ad content delivery to the end user.
- `transparentSsaiRate` (double, optional) — The SSAI tracked impressions that come from proxies passing X-Device-User-Agent headers for more transparency.

### InvalidTraffic

The percentage of invalid traffic associated with each Pixalate's taxonomy of GIVT and SIVT invalid traffic types.

- `ivt` (double, optional) — The total percentage of non-human traffic measured on the app.
- `givt` (double, optional) — GIVT refers to General Invalid Traffic - Deterministically judged to be non-human traffic; high to very high risk.
- `sivt` (double, optional) — SIVT refers to Sophisticated Invalid Traffic - Probabilistically judged to be non-human traffic using advanced statistical detection methods; moderate to high risk traffic.
- `givtTypes` (list of InvalidTrafficGivtTypesItems, optional) — The percentage of invalid traffic associated with each Pixalate's taxonomy of GIVT invalid traffic types.
- `sivtTypes` (list of InvalidTrafficSivtTypesItems, optional) — The percentage of invalid traffic associated with each Pixalate's taxonomy of SIVT invalid traffic types.

### Inventory

The estimated volume of programmatic ad impressions broken down by device, region, country, DMA.

- `byRegion` (list of InventoryByRegionItems, optional) — The estimated volume of programmatic ad impressions broken down by region.
- `byAdsize` (list of InventoryByAdsizeItems, optional) — The estimated volume of programmatic ad impressions broken down by ad size.
- `byDma` (list of InventoryByDmaItems, optional) — The estimated volume of programmatic ad impressions broken down by DMA.

### Rankings

Ranking information about the app.

- `regionRank` (integer, optional) — The rank of the app within the requested region.
- `category` (list of RankingsCategoryItems, optional) — The rankings by various categories for the app.
- `final` (RankingsFinal, optional) — The final grade and score for the app.
- `ivt` (RankingsIvt, optional) — The IVT grade and score for the app.
- `popularity` (RankingsPopularity, optional) — The popularity grade and score for the app.
- `userEngagement` (RankingsUserEngagement, optional) — The user engagement grade and score for the app.
- `adDensity` (RankingsAdDensity, optional) — The ad density grade and score for the app.
- `globalPopularityRank` (string, optional) — The overall global popularity ranking of the app.

### RankingsByCountry

The reach and market share of the app broken down by country.

- `reach` (list of RankingsByCountryReachItems, optional) — The reach of the app broken down by country.
- `marketShare` (list of RankingsByCountryMarketShareItems, optional) — The market chare of the app broken down by country.

### Coppa

Children's Online Privacy Protection Act information.

- `coppaAudience` (string, optional) — Assesses the likely intended audience of an app based on a variety of factors including app store categories, content ratings, and keywords, etc.
- `coppaAudienceReason` (list of string, optional) — Describes the specific variables considered when making the audience assessment.
- `isReviewedManually` (boolean, optional) — Flag which indicates apps that have been evaluated by teachers on Pixalate’s Trust and Safety Advisory Board for child-directedness based on the factors set forth in the COPPA Rule.
- `parentalHint` (string, optional) — The recommended age rating defined by Amazon’s app store or the Parental Hint provided by Roku store.
- `Categories` (list of string, optional) — The associated categories of an app according to Roku and Amazon Stores.
- `coppaViolationRisk` (enum, optional) — Pixalate analyzes multiple signals and produces a risk score (low, medium, or high) that captures the potential COPPA risk.
  - Allowed values: `low`, `medium`, `high`
- `coppaViolationRiskReason` (list of string, optional) — Describes the specific variables considered when making the overall COPPA risk rating assessment.
- `privacyPolicyDetected` (boolean, optional) — 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.
- `transmitsResidentialIP` (boolean, optional) — 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, optional) — 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.

### Mfa

Made-for-advertising signals for the app.

- `mfaRisk` (enum, optional) — Pixalate's made-for-advertising risk rating for the app.
  - Allowed values: `low`, `medium`, `high`
- `adRefreshRate` (double, optional, nullable) — The rate at which advertising slots are refreshed. Null when a refresh rate could not be determined.

### RiskOverviewRiskItems

- `region` (enum, optional) — A geographic region. *GLOBAL* indicates an aggregate of all regions.
  - Allowed values: `GLOBAL`, `NA`, `EMEA`, `LATAM`, `APAC`
- `pixalateRisk` (enum, optional) — Pixalate's unique overall risk assessment for the app.
  - Allowed values: `low`, `medium`, `high`
- `pixalateRiskReasons` (list of enum, optional) — A list of reasons that the app is at risk.
  - Allowed values: `Significantly Elevated IVT Percentage`, `Publisher Maintains Non-corporate Email Address`, `Moderately Elevated IVT Percentage`, `Publisher Does Not Publish a Privacy Policy`, `The Publisher Hides their Corporate Details in the Domain Registry`, `The Publisher's Email Address Doesn't Match Their Domain`, `Adult Content Has Been Detected in the app`, `The Publisher Does Not Publish Terms and Conditions`, `The Publisher Domain is Invalid`, `Gambling Content Has Been Detected in the app`, `Programmatic Ads Not Detected Leads to High Spoofing Risk`, `Violent Content Has Been Detected in the app`, `Alcohol Based Content Has Been Detected in the app`, `Ad Traffic Shows Some Suspicious Characteristics`, `Profanity and Offensive Language Has Been Detected in the app`, `App Description Uses Some Brand Unsafe Language`, `App Has a High Frequency of Invalid Clicks`

### AppSpoofingByFraudTypeItems

Spoofing by fraud type.

- `fraudType` (string, optional) — The fraud type
- `apps` (list of AppSpoofingByFraudTypeItemsAppsItems, optional) — The apps designated for this fraud type.

### AppDetailsBundleIdsItems

SOV ratio for a bundle identifier.

- `bundleId` (string, optional) — The bundle identifier.
- `sovRatio` (double, optional) — The SOV ratio.

### BrandSafetyDescriptionBrandSafety

App descriptive text is processed through natural language algorithms and comprehensive categorical dictionaries to predict the advertiser brand safety risk.

- `advisoriesRisk` (enum, optional) — The risk to brand safety derived from the app's content advisories.
  - Allowed values: `low`, `medium`, `high`
- `adultContentRisk` (enum, optional) — The risk to brand safety from adult themed content based on textual analysis of the app and its descriptive content.
  - Allowed values: `low`, `medium`, `high`
- `drugContentRisk` (enum, optional) — The risk to brand safety from drug themed content based on textual analysis of the app and its descriptive content.
  - Allowed values: `low`, `medium`, `high`
- `alcoholContentRisk` (enum, optional) — The risk to brand safety from Alcohol themed content based on textual analysis of the app and its descriptive content.
  - Allowed values: `low`, `medium`, `high`
- `hateSpeechRisk` (enum, optional) — The risk to brand safety from hate speech content based on textual analysis of the app and its descriptive content.
  - Allowed values: `low`, `medium`, `high`
- `offensiveContentRisk` (enum, optional) — The risk to brand safety from content with offensive language based on textual analysis of the app and its descriptive content .
  - Allowed values: `low`, `medium`, `high`

### BrandSafetyContentBrandSafety

In-app visual content is processed through an advanced machine learning algorithm and evaluated for risk to advertiser brand safety.

- `adultRisk` (enum, optional) — The risk to brand safety from potential adult images and content detected within the app.
  - Allowed values: `low`, `medium`, `high`
- `violenceRisk` (enum, optional) — The risk to brand safety from potential violent imagery and content detected within the app.
  - Allowed values: `low`, `medium`, `high`
- `imageData` (list of BrandSafetyContentBrandSafetyImageDataItems, optional) — The image by image breakdown of brand safety risk factors based on advanced image processing and machine learning.

### TrafficOverlapTrafficOverview

Traffic volume and ad inventory estimates for the app along with associated advertising risk factors.

- `spoofingRisk` (enum, optional) — The risk the app may be misrepresented in advertising transactions and ads delivered to a different app or site.
  - Allowed values: `low`, `medium`, `high`
- `advertisingIvtRisk` (enum, optional) — The risk of advertising impressions delivered to the app being due to invalid traffic (IVT). IVT risk is derived from standardized definitions of invalid traffic maintained by the Media Rating Council, Inc. (MRC) and the Interactive Advertising Bureau (IAB).
  - Allowed values: `low`, `medium`, `high`
- `trustedSeller` (string, optional) — Pixalate crunches the data to rate sellers representing this app on the basis of a number of factors including audience reach and invalid traffic risk.
- `ivtFreeUsersRate` (double, optional) — The percentage of the app's individual user-base not responsible for presence of invalid traffic.
- `estimatedDailyActiveUsers` (integer, optional) — The estimated Daily Active Users (DAU) for the app.
- `estimatedMonthlyActiveUsers` (integer, optional) — The estimated Monthly Active Users (MAU) for the app.
- `adSpend` (double, optional) — Total estimated monthly ad spend on this app.
- `adDensity` (double, optional) — The estimated number of ads displayed to the average user by this app.
- `adDensityRisk` (enum, optional) — The ad density risk for the application.
  - Allowed values: `low`, `medium`, `high`
- `adDensityConfidenceScore` (double, optional) — Confidence of ad density calculations and risk.

### TrafficOverlapTrafficOverlap

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).

- `byOverallTraffic` (list of TrafficOverlapTrafficOverlapByOverallTrafficItems, optional) — Overall traffic overlap broken down by app.
- `byIvt` (list of TrafficOverlapTrafficOverlapByIvtItems, optional) — IVT traffic overlap broken down by app.

### InvalidTrafficGivtTypesItems

- `fraudType` (string, optional) — The type of SIVT fraud.
- `givt` (double, optional) — GIVT refers to General Invalid Traffic - Deterministically judged to be non-human traffic; high to very high risk.

### InvalidTrafficSivtTypesItems

- `fraudType` (string, optional) — The type of SIVT fraud.
- `sivt` (double, optional) — SIVT refers to Sophisticated Invalid Traffic - Probabilistically judged to be non-human traffic using advanced statistical detection methods; moderate to high risk traffic.

### InventoryByRegionItems

Inventory by region.

- `region` (string, optional) — The region.
- `inventory` (integer, optional) — The estimated volume of programmatic ad impressions by region.
- `inventoryRatio` (double, optional) — The estimated percentage of inventory by region.
- `ivt` (double, optional) — The total percentage of non-human traffic measured on the app by region.
- `ssaiRate` (double, optional) — The percentage of traffic observed to utilize server-side-ad-insertion (SSAI) integrations for ad/ad content delivery to the end user by region.
- `TransparentssaiRate` (double, optional) — The SSAI tracked impressions that come from proxies passing X-Device-User-Agent headers for more transparency by region.

### InventoryByAdsizeItems

inventory by add size.

- `adSize` (string, optional) — The ad size.
- `inventory` (integer, optional) — The estimated volume of programmatic ad impressions by ad size.
- `inventoryRatio` (double, optional) — The estimated percentage of inventory by ad size.
- `ivt` (double, optional) — The total percentage of non-human traffic measured on the app by ad size.
- `ssaiRate` (double, optional) — The percentage of traffic observed to utilize server-side-ad-insertion (SSAI) integrations for ad/ad content delivery to the end user by ad size.
- `TransparentssaiRate` (double, optional) — The SSAI tracked impressions that come from proxies passing X-Device-User-Agent headers for more transparency by as size.

### InventoryByDmaItems

inventory by DMA.

- `dmaName` (string, optional) — The DMA name.
- `inventory` (integer, optional) — The estimated volume of programmatic ad impressions by DMA.
- `inventoryRatio` (double, optional) — The estimated percentage of inventory by DMA.
- `ivt` (double, optional) — The total percentage of non-human traffic measured on the app by DMA.
- `ssaiRate` (double, optional) — The percentage of traffic observed to utilize server-side-ad-insertion (SSAI) integrations for ad/ad content delivery to the end user by DMA.
- `TransparentssaiRate` (double, optional) — The SSAI tracked impressions that come from proxies passing X-Device-User-Agent headers for more transparency by DMA.

### RankingsCategoryItems

The rank for a specific category.

- `category` (string, optional) — A category.
- `rank` (string, optional) — The rank within the specific category for the app.

### RankingsFinal

The final grade and score for the app.

- `grade` (string, optional) — The final grade for the app.
- `score` (string, optional) — The final score for the app.

### RankingsIvt

The IVT grade and score for the app.

- `grade` (string, optional) — The IVT grade for the app.
- `score` (string, optional) — The IVT score for the app.

### RankingsPopularity

The popularity grade and score for the app.

- `grade` (string, optional) — The popularity grade for the app.
- `score` (string, optional) — The popularity score for the app.

### RankingsUserEngagement

The user engagement grade and score for the app.

- `grade` (string, optional) — The user engagement grade for the app.
- `score` (string, optional) — The user engagement score for the app.

### RankingsAdDensity

The ad density grade and score for the app.

- `grade` (string, optional) — The ad density grade for the app.
- `score` (string, optional) — The ad density score for the app.

### RankingsByCountryReachItems

Reach by country.

- `countryCode` (string, optional) — The ISO ALPHA-2 standard country code.
- `countryName` (string, optional) — The country name.
- `mauRank` (string, optional) — The current Monthly Active Users (MAU) ranking for the app for this country.
- `mauRankChange` (string, optional) — The change in Monthly Active Users (MAU) rank since last assessment.

### RankingsByCountryMarketShareItems

Market share by country.

- `countryCode` (string, optional) — The ISO ALPHA-2 standard country code.
- `countryName` (string, optional) — The country name.
- `impressionRank` (string, optional) — The current impression ranking for the app for this country.
- `impsRankChange` (string, optional) — The change in impression ranking since last assessment.

### AppSpoofingByFraudTypeItemsAppsItems

The app.

- `detectedBundleId` (string, optional) — The bundle identifier detected for the app.
- `declaredBundleId` (string, optional) — The bundle identifier declared for the app.
- `sovRisk` (enum, optional) — The SOV risk for the app. (low/medium/high)
  - Allowed values: `low`, `medium`, `high`

### BrandSafetyContentBrandSafetyImageDataItems

The image, extracted text, and brand safety risk factors associated with the image.

- `url` (string, optional) — A URL to the image.
- `text` (string, optional) — The extracted text.
- `violenceRisk` (enum, optional) — The risk to brand safety from potential violence images and any extracted text.
  - Allowed values: `low`, `medium`, `high`
- `spoofRisk` (enum, optional) — The risk to brand safety from potential spoofing based on images and any extracted text.
  - Allowed values: `low`, `medium`, `high`
- `medicalRisk` (enum, optional) — The risk to brand safety from potential medical images and any extracted text.
  - Allowed values: `low`, `medium`, `high`
- `adultRisk` (enum, optional) — The risk to brand safety from potential adult images images and any extracted text.
  - Allowed values: `low`, `medium`, `high`

### TrafficOverlapTrafficOverlapByOverallTrafficItems

IVT traffic overlap by app.

- `appName` (string, optional) — The app name.
- `developerName` (string, optional) — The developer name.
- `impressionOverlap` (double, optional) — The impression overlap with the app.
- `deviceOverlap` (double, optional) — The device overlap with the app.
- `risk` (enum, optional) — The overlap risk
  - Allowed values: `low`, `medium`, `high`

### TrafficOverlapTrafficOverlapByIvtItems

IVT traffic overlap by app.

- `appName` (string, optional) — The app name.
- `developerName` (string, optional) — The developer name.
- `impressionOverlap` (double, optional) — The impression overlap with the app.
- `deviceOverlap` (double, optional) — The device overlap with the app.
- `risk` (enum, optional) — The overlap risk
  - Allowed values: `low`, `medium`, `high`

## Examples

**Response**

```json
{
  "status": "OK",
  "numFound": 1,
  "docs": [
    {
      "appId": "B07SM3YB4H",
      "region": "GLOBAL",
      "device": "roku",
      "includeSpoofing": false,
      "appOverview": {
        "channelId": "string",
        "appTitle": "Example App",
        "description": "An example app.",
        "categories": [
          "Movies & TV"
        ],
        "screenshotUrls": [
          "https://example.com/image/screenshot-1.png",
          "https://example.com/image/screenshot-2.png"
        ]
      },
      "riskOverview": {
        "risk": [
          {
            "region": "GLOBAL",
            "pixalateRisk": "medium",
            "pixalateRiskReasons": [
              "Significantly Elevated IVT Percentage",
              "Ad Traffic Shows Some Suspicious Characteristics"
            ]
          }
        ],
        "ivt": 10.12,
        "ivtRisk": "medium",
        "ssaiRate": 0.55,
        "transaparentSsaiRate": 0.01,
        "descriptionBrandSafetyRisk": "low",
        "contentBrandSafetyRisk": "low"
      },
      "pixalateAdvisories": {
        "hasAppAdsTxt": false,
        "delistedApp": true,
        "delistedDate": "2021-10-30",
        "privateDomain": false,
        "hasTermsAndConditions": true,
        "hasPrivacyPolicy": true,
        "appAgeRisk": "medium"
      },
      "appSpoofing": {
        "victimOfSpoofing": true,
        "spoofingRisk": "medium",
        "byFraudType": [
          {
            "fraudType": "userAgentObfuscation",
            "apps": [
              {
                "detectedBundleId": "string",
                "declaredBundleId": "B00KDSGIPK",
                "sovRisk": "medium"
              }
            ]
          }
        ]
      },
      "appDetails": {
        "appStoreUrl": "https://appstore.example.org/dp/B00KDXXX2PK",
        "availableCountries": [
          "US",
          "ES"
        ],
        "availableLanguages": [
          "en",
          "es"
        ],
        "keywords": [
          "space",
          "news"
        ],
        "rating": 84,
        "starRatingCount": 517628,
        "parentalHint": "Guidance Suggested",
        "revenueSources": [
          "string"
        ],
        "cvaaCompliant": true,
        "appAgeRisk": "low",
        "appAge": 91,
        "publishedDate": "string",
        "appPrivacyPolicy": true,
        "appPrivacyPolicyUrl": "http://example.org/privacy-policy/",
        "delistedApp": false,
        "delistedDate": "string",
        "bundleIds": [
          {
            "bundleId": "B00KDXXX2PK",
            "sovRatio": 77.43
          }
        ]
      },
      "developerOverview": {
        "developerName": "Acme Apps",
        "developerWebsite": "https://www.example.org",
        "privateDomain": false,
        "hasTermsAndConditions": true,
        "hasPrivacyPolicy": true,
        "totalApps": 3
      },
      "channels": [
        {},
        {}
      ],
      "brandSafety": {
        "descriptionBrandSafety": {
          "advisoriesRisk": "medium",
          "adultContentRisk": "high",
          "drugContentRisk": "medium",
          "alcoholContentRisk": "medium",
          "hateSpeechRisk": "low",
          "offensiveContentRisk": "medium"
        },
        "contentBrandSafety": {
          "adultRisk": "low",
          "violenceRisk": "medium",
          "imageData": [
            {
              "url": "https://example.org/images/kxipXQ3huWkwsqokX66euP.png",
              "text": "Weather Radar",
              "violenceRisk": "low",
              "spoofRisk": "low",
              "medicalRisk": "low",
              "adultRisk": "low"
            }
          ]
        }
      },
      "trafficOverlap": {
        "trafficOverview": {
          "spoofingRisk": "low",
          "advertisingIvtRisk": "low",
          "trustedSeller": "Google AdExchange",
          "ivtFreeUsersRate": 96.03,
          "estimatedDailyActiveUsers": 4929,
          "estimatedMonthlyActiveUsers": 46502,
          "adSpend": 69000,
          "adDensity": 18377044,
          "adDensityRisk": "low",
          "adDensityConfidenceScore": 0.95
        },
        "trafficOverlap": {
          "byOverallTraffic": [
            {
              "appName": "ExampleOrg's - Free TV Drama & Movies",
              "developerName": "Example Org",
              "impressionOverlap": 0.2,
              "deviceOverlap": 0.21,
              "risk": "medium"
            }
          ],
          "byIvt": [
            {
              "appName": "ExampleOrg's - Free TV Drama & Movies",
              "developerName": "Example Org",
              "impressionOverlap": 0.14,
              "deviceOverlap": 0.05,
              "risk": "low"
            }
          ]
        }
      },
      "authorizedSellers": [
        {
          "exchange": "Acme Exchange",
          "paymentType": "Direct",
          "inventory": 30039,
          "inventoryRatio": 12.87,
          "ivt": 0.9,
          "videoInventoryRatio": 1.4,
          "displayInventoryRatio": 1.4,
          "spoofingRate": 2.6,
          "ssaiRate": 0.06,
          "transparentSsaiRate": 0.06
        }
      ],
      "invalidTraffic": {
        "ivt": 7.76,
        "givt": 0.29,
        "sivt": 7.47,
        "givtTypes": [
          {
            "fraudType": "Data Center",
            "givt": 0.29
          }
        ],
        "sivtTypes": [
          {
            "fraudType": "AppSpoofing",
            "sivt": 2.78
          }
        ]
      },
      "inventory": {
        "byRegion": [
          {
            "region": "GLOBAL",
            "inventory": 1,
            "inventoryRatio": 6.39,
            "ivt": 2.93,
            "ssaiRate": 0.02,
            "TransparentssaiRate": 0.01
          }
        ],
        "byAdsize": [
          {
            "adSize": "320x50",
            "inventory": 1,
            "inventoryRatio": 3.47,
            "ivt": 12.25,
            "ssaiRate": 0.03,
            "TransparentssaiRate": 0.02
          }
        ],
        "byDma": [
          {
            "dmaName": "NEW YORK",
            "inventory": 1,
            "inventoryRatio": 5.35,
            "ivt": 4.76,
            "ssaiRate": 0,
            "TransparentssaiRate": 0
          }
        ]
      },
      "availableCountries": [
        "Germany"
      ],
      "rankings": {
        "regionRank": 6473,
        "category": [
          {
            "category": "Movies & TV",
            "rank": "11"
          }
        ],
        "final": {
          "grade": "C",
          "score": "38"
        },
        "ivt": {
          "grade": "B",
          "score": "62"
        },
        "popularity": {
          "grade": "C",
          "score": "44"
        },
        "userEngagement": {
          "grade": "A",
          "score": "99"
        },
        "adDensity": {
          "grade": "A",
          "score": "99"
        },
        "globalPopularityRank": "234"
      },
      "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"
        ],
        "isReviewedManually": true,
        "parentalHint": "Guidance Suggested",
        "Categories": [
          "Movies & TV"
        ],
        "coppaViolationRisk": "low",
        "coppaViolationRiskReason": [
          "The COPPA risk is low because the app is likely not directed to children under 13."
        ],
        "privacyPolicyDetected": true,
        "transmitsResidentialIP": true,
        "passesLocation": true
      },
      "mfa": {
        "mfaRisk": "low",
        "adRefreshRate": 1
      }
    }
  ]
}
```

**SDK Code**

```python
import requests

url = "https://api.pixalate.com/api/v2/mrt/ctv/71845"

querystring = {"device":"roku","includeSpoofing":"true","region":"GLOBAL"}

headers = {"x-api-key": "<apiKey>"}

response = requests.get(url, headers=headers, params=querystring)

print(response.json())
```

```javascript
const url = 'https://api.pixalate.com/api/v2/mrt/ctv/71845?device=roku&includeSpoofing=true&region=GLOBAL';
const options = {method: 'GET', headers: {'x-api-key': '<apiKey>'}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://api.pixalate.com/api/v2/mrt/ctv/71845?device=roku&includeSpoofing=true&region=GLOBAL"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("x-api-key", "<apiKey>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby
require 'uri'
require 'net/http'

url = URI("https://api.pixalate.com/api/v2/mrt/ctv/71845?device=roku&includeSpoofing=true&region=GLOBAL")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<apiKey>'

response = http.request(request)
puts response.read_body
```

```java
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://api.pixalate.com/api/v2/mrt/ctv/71845?device=roku&includeSpoofing=true&region=GLOBAL")
  .header("x-api-key", "<apiKey>")
  .asString();
```

```php
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://api.pixalate.com/api/v2/mrt/ctv/71845?device=roku&includeSpoofing=true&region=GLOBAL', [
  'headers' => [
    'x-api-key' => '<apiKey>',
  ],
]);

echo $response->getBody();
```

```csharp
using RestSharp;

var client = new RestClient("https://api.pixalate.com/api/v2/mrt/ctv/71845?device=roku&includeSpoofing=true&region=GLOBAL");
var request = new RestRequest(Method.GET);
request.AddHeader("x-api-key", "<apiKey>");
IRestResponse response = client.Execute(request);
```

```swift
import Foundation

let headers = ["x-api-key": "<apiKey>"]

let request = NSMutableURLRequest(url: NSURL(string: "https://api.pixalate.com/api/v2/mrt/ctv/71845?device=roku&includeSpoofing=true&region=GLOBAL")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```