Check App Eligibility
Check whether an app is eligible to run on certain Apple Ads placements and in specific countries or regions.
URL
POST https://api.ads.apple.com/v1/eligibilities/apps/queryHeader Parameters
| Name | Type | Description |
|---|---|---|
X-Ap-Context Required | string |
Response Codes
| Status | Reason | Type | Description |
|---|---|---|---|
| 200 | OK Content-Type: application/json | EligibilityQueryResponse | |
| 400 | Bad Request Content-Type: application/json | Error | |
| 401 | Unauthorized Content-Type: application/json | Error | |
| 403 | Forbidden Content-Type: application/json | Error | |
| 404 | Not Found Content-Type: application/json | Error | |
| 429 | Too Many Requests Content-Type: application/json | Error | |
| 500 | Internal Server Error Content-Type: application/json | Error |
Discussion
This endpoint checks whether an app is eligible to run Apple Ads campaigns in specified countries or regions. The response contains per-app eligibility status, along with the specific supply placements and markets where advertising is allowed or blocked.
To confirm that your app can be promoted in the target markets, use this endpoint before creating campaigns. Attempting to run campaigns in ineligible markets will result in zero delivery. Calling this endpoint early in the campaign setup workflow avoids wasted configuration.
Ineligibility reasons can include: the app is not available in that market, regional distribution restrictions set in App Store Connect, or Apple Ads policy violations.
See QueryFilterOperator for the full set of supported comparison operators.
Filterable Fields
Field | Type | Operators | Sortable | Description |
|---|---|---|---|---|
| integer (int64) |
| No | The Adam ID of the app |
| string |
| Yes | The supply placement being checked |
| string |
| Yes | Eligibility state: |
| string |
| Yes | The country or region evaluated |
| string |
| Yes | The device class evaluated |
See EligibilityQueryRequest for the full field list. The request body is a QueryRequest-shaped object composed of QueryFilter conditions and QuerySort directives (QuerySortOrder), controlled by QueryPagination.
Request Body
The state field resolves to one of the following values:
Status | Description |
|---|---|
| The app is approved to run ads in the specified country or region. |
| The app cannot run ads in the specified country or region. |
Response Structure
Each item in result is a flat EligibilityResponse row for a specific combination of app, supply placement, supply source, country, and device class.
Field | Type | Description |
|---|---|---|
| integer (int64) | The Adam ID of the app |
| string | The supply placement being checked |
| string | The supply source being checked |
| number | The minimum age rating required to serve ads for this app in this market |
| string | Eligibility state: |
| string | The country or region evaluated |
| string | The device class evaluated |
| string (ISO 8601) | When this eligibility record was created |
| string (ISO 8601) | When this eligibility record was last modified |
An app that is eligible in some placements and ineligible in others appears as multiple rows, one per combination.
Keep the following constraints in mind when checking eligibility:
Constraint | Detail |
|---|---|
Pre-campaign check | Always call this endpoint before creating campaigns in new markets. |
Distribution restrictions | Ineligibility may reflect App Store Connect distribution settings, not just policy violations. |