How Apple Ads planning endpoints work without an active campaign
To help advertisers plan keywords before launching a campaign, Apple Ads exposes two keyword research endpoints under `https://api.ads.apple.com/v1`:
- Weekly Search Term Popularity Insights (`POST /v1/insights/apps/search-term-popularity/query`): Returns the `1–100` `searchPopularity1to100` index for top search terms by country and genre across 91 storefronts.
- Keyword Suggestions (`POST /v1/suggestions/keywords/query`): Returns related search terms and `1–100` popularity scores for any seed phrase or `promotedObjectId` (`adamId`) linked to your account.
Neither endpoint is tied to a running campaign ID (`campaignId` is not even a parameter on these requests). You can keep zero campaigns in your Apple Ads dashboard forever and still read weekly popularity scores for your organic ASO workflow.
02 / FOUR-STEP READ-ONLY SETUPHow to connect Apple Ads to Searchbop in read-only mode
-
Step 01
Link App Store Connect to Apple Ads Advanced
Sign in to
ads.apple.com(choose the Advanced view, which is where API access and keyword tables live) and link your Apple Developer / App Store Connect account in Account Settings. -
Step 02
Invite an API user with Read-Only access
In Apple Ads Account Settings → User Management, invite a secondary Apple ID (or API-enabled user) and grant it the API Account Read Only role. With a read-only role, Apple’s servers reject any write request (`POST /campaigns`, budget edits) at the platform level.
-
Step 03
Generate your public/private key pair inside Searchbop
Open Connections → Apple Ads in Searchbop. Searchbop generates a `prime256v1` EC key pair on your computer and shows you the `PUBLIC KEY` block. You never have to touch `openssl` in Terminal, and your private key never leaves your device.
-
Step 04
Paste the Public Key into Apple Ads and copy `clientId`, `teamId`, `keyId`
Paste the public key into your Apple Ads API settings, then copy the three identifiers Apple displays (`clientId`, `teamId`, `keyId`) back into Searchbop. Searchbop verifies the connection via `GET /v1/acls` and lets you pick your Ad Account ID if you have more than one.
Can you use Searchbop’s ASO features without an Apple Ads account?
Yes. Connecting Apple Ads is 100% optional. Here is the exact breakdown of what works without it vs. what connecting it adds:
| ASO Feature in Searchbop | Works Without Apple Ads? | What Connecting Apple Ads Adds |
|---|---|---|
| Top-10 Keyword Difficulty (0–100) | Yes (Uses Apple’s keyless public Search API) | Pairs Difficulty with Popularity to unlock the combined 0–100 Opportunity Score. |
| Daily Rank Tracking (#1–#200 in 91 countries) | Yes (No API key needed) | Lets you sort your ranked keywords by real search demand. |
| Competitor Title & AI Keyword Extraction | Yes (Requires only your BYOK AI key for listing extraction) | Adds Apple’s own related keyword suggestions (`/suggestions/keywords/query`). |
| AI Listing Drafts & 30/30/100-Byte Validator | Yes | Prioritizes your highest-popularity keywords into your 30-char Title and Subtitle. |
Why Apple’s Suggestion endpoint only works for apps in your linked account
There is one important platform rule enforced by Apple’s API that Searchbop handles transparently ([`research.ts`](file:///Users/tarik/Desktop/TengrX-SEO/packages/core/src/aso/research.ts#L73-L77)):
- Country Popularity (`searchPopularity1to100`): Works for any keyword and any app (including competitor apps you add by URL to spy on), because the query only filters by `countryOrRegion` and `searchTerm`.
- Keyword Suggestions (`/suggestions/keywords/query`): Requires passing `promotedObjectId: [adamId]`. Apple’s server checks whether that `adamId` belongs to the linked App Store Connect organization. If you inspect a third-party competitor’s app ID, Apple returns a 4xx refusal on `/suggestions/keywords/query`, and Searchbop automatically displays the notice: “Apple only gives worldwide scores for apps in your own Apple Ads account, so this app gets country scores only.”
Honest boundaries & zero-spend guarantee
Searchbop has zero campaign-mutation code: You can inspect [`packages/core/src/aso/apple-ads.ts`](file:///Users/tarik/Desktop/TengrX-SEO/packages/core/src/aso/apple-ads.ts) line by line—the client only calls `/acls`, `/insights/apps/search-term-popularity/query`, and `/suggestions/keywords/query`. It contains no code to create campaigns, ad groups, or bids.
Research context & search queries covered on this page Apple Ads Free ASO · P1
Cluster & intent: apple-ads-without-running-ads (Informational / Setup · P1) · Target queries: is apple search ads free for keyword research, can i use apple ads without paying, how to see apple search ads popularity score without running ads, read only apple ads api for aso.