Contents

Impression Share Query

Retrieve impression share data showing how often your ads appear relative to total eligible impressions for a given search term and country.

URL

POST https://api.ads.apple.com/v1/insights/apps/impression-share/query

Header Parameters

NameTypeDescription
X-Ap-Context Requiredstring

Response Codes

StatusReasonTypeDescription
200OK
Content-Type: application/json
ImpressionShareQueryResponse

Successful response. Returns ImpressionShareQueryResponse (result: ImpressionShareResultContainer).

400Bad Request
Content-Type: application/json
Error

Bad Request. Returns Error.

401Unauthorized
Content-Type: application/json
Error

Unauthorized.

403Forbidden
Content-Type: application/json
Error

Forbidden.

404Not Found
Content-Type: application/json
Error

Not Found. Returns Error.

429Too Many Requests
Content-Type: application/json
Error

Rate Limit Exceeded. Returns Error.

500Internal Server Error
Content-Type: application/json
Error

Internal Server Error. Returns Error.

Discussion

This endpoint measures impression share: what fraction of available impressions your app captures for a given search term and country. To identify competitive gaps, use this data. A low impression share on a high-volume term indicates that either budget, bid, or eligibility constraints are limiting your reach.

See Filter for the full set of supported comparison operators.

Filterable Fields

Field

Type

Operators

Description

promotedObjectId

string

IN

Optional. The Adam ID of the promoted app.

countryOrRegion

string

EQUALS, IN

Optional. ISO 3166-1 alpha-2 country or region code to scope results to.

day

string (date)

IN, BETWEEN

Optional. Filter by specific dates. Only usable with DAILY granularity.

week

string (date)

IN

Optional. Filter by week start date. Only usable with WEEKLY_SUN_SAT granularity; the endpoint rejects it under DAILY granularity.

appName

string

EQUALS, IN, CONTAINS, STARTS_WITH

Optional. Display name of the promoted app.

searchTerm

string

EQUALS, IN, CONTAINS, STARTS_WITH

Optional. The search term.

lowImpressionShare

number

GREATER_THAN, GREATER_THAN_OR_EQUAL_TO, LESS_THAN, LESS_THAN_OR_EQUAL_TO, BETWEEN

Optional. Lower bound of impression share.

highImpressionShare

number

GREATER_THAN, GREATER_THAN_OR_EQUAL_TO, LESS_THAN, LESS_THAN_OR_EQUAL_TO, BETWEEN

Optional. Upper bound of impression share.

rank

integer

EQUALS, GREATER_THAN, GREATER_THAN_OR_EQUAL_TO, LESS_THAN, LESS_THAN_OR_EQUAL_TO, BETWEEN

Optional. App’s impression share rank for the search term and country.

searchPopularity1to5

integer

EQUALS, GREATER_THAN, GREATER_THAN_OR_EQUAL_TO, LESS_THAN, LESS_THAN_OR_EQUAL_TO, BETWEEN

Optional. Relative search volume on a 1-5 scale.

Output Types

Configure the output type via options.impressionShareReportType:

Type

Description

FIRST_SLOT

Measures impression share for the first ad position only.

ALL_SLOTS

Measures impression share across all ad positions.

Each row in the response carries the following fields.

Field

Description

day

Date (YYYY-MM-DD). Present when granularity is DAILY.

week

Week start date, Sunday (YYYY-MM-DD). Present when granularity is WEEKLY_SUN_SAT.

appName

Display name of the promoted app.

promotedObjectId

Adam ID of the promoted app.

countryOrRegion

ISO 3166-1 alpha-2 country or region code.

searchTerm

The search term. Terms with fewer than 10 impressions in the period are suppressed.

lowImpressionShare

Lower bound of impression share. See Impression Share Encoding below.

highImpressionShare

Upper bound of impression share. See Impression Share Encoding below.

rank

App’s impression share rank for this search term and country. 1 = highest share.

searchPopularity1to5

Relative search volume on a 1–5 scale. 5 = most popular.

Impression Share Encoding

The lowImpressionShare and highImpressionShare fields use a tiered encoding, not a continuous range:

Impression Share

lowImpressionShare

highImpressionShare

0%

0

0

1% – 90%

x (for example, 0.23)

x (same value)

91% – 100%

0.91

1

For single-digit values (1–90%), both fields are equal. When highImpressionShare equals 1, the app has >90% impression share. The encoding preserves the range at that level to avoid false precision near market saturation.

The following limits and defaults apply to this endpoint’s requests and responses.

Constraint

Detail

Timezone

Fixed to UTC.

Granularity

Supports DAILY and WEEKLY_SUN_SAT only.

DAILY max range

30 days (inclusive).

WEEKLY_SUN_SAT max range

4 weeks.

Weekly start date

When granularity is WEEKLY_SUN_SAT, timeRange.start must be a Sunday. The endpoint rejects requests with a non-Sunday start date.

Default pageSize

100.

Maximum pageSize

10000.

Sort fields

Maximum 2 sort fields per request.

High-saturation bucket

lowImpressionShare: 0.91, highImpressionShare: 1.0 indicates >90% impression share. Marginal bid increases at this level yield diminishing returns.

Privacy filter

The privacy filter suppresses searchTerm for terms with fewer than 10 impressions in the aggregation period.

Estimate Market Size

To estimate total eligible inventory for a search term, use impression share alongside confirmed impressions:

estimated_market_impressions ≈ confirmed_impressions / lowImpressionShare

Example: 10,000 confirmed impressions at lowImpressionShare: 0.04 (4%) → ≈ 250,000 total eligible impressions. The same app at lowImpressionShare: 0.91 (>90% bucket) has captured nearly all available inventory. Single-digit precision makes this estimate meaningful across the 1–90% range covered by lowImpressionShare. Only within the 91–100% bucket, where lowImpressionShare and highImpressionShare diverge to 0.91 and 1.0, does the estimate lose that precision.

Payload Examples

See Also