Skip to main content
Campaigns and ad groups define where ads run, how budgets are applied, and which targeting rules are active. These endpoints operate on your connected Apple Search Ads organization.
Update endpoints write to Apple Search Ads. Use them only when the customer expects campaign or ad group changes.

List Campaigns

curl
curl "https://api.appeeky.com/v1/connect/apple-ads/campaigns?limit=20&offset=0" \
  -H "X-API-Key: YOUR_APPEEKY_KEY"
Query parameters:
NameDescription
limitNumber of campaigns to return
offsetPagination offset
Response includes campaign IDs, names, status, countries, budget, serving state, and Apple metadata when available.

Update a Campaign

curl
curl -X PUT "https://api.appeeky.com/v1/connect/apple-ads/campaigns/2143596801" \
  -H "X-API-Key: YOUR_APPEEKY_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "status": "ENABLED",
    "name": "Brand - US",
    "dailyBudgetAmount": {
      "amount": "25.00",
      "currency": "USD"
    }
  }'
Supported fields:
FieldDescription
statusENABLED or PAUSED
nameCampaign name
dailyBudgetAmountDaily budget money object
You can send one field or multiple fields in the same update.

List Ad Groups

curl
curl "https://api.appeeky.com/v1/connect/apple-ads/campaigns/2143596801/adgroups?limit=20&offset=0" \
  -H "X-API-Key: YOUR_APPEEKY_KEY"
Ad groups contain bids, Search Match settings, audience rules, and keyword targets.

Update an Ad Group

curl
curl -X PUT "https://api.appeeky.com/v1/connect/apple-ads/campaigns/2143596801/adgroups/2147258884" \
  -H "X-API-Key: YOUR_APPEEKY_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "status": "ENABLED",
    "name": "Generic screenshot keywords",
    "defaultBidAmount": {
      "amount": "0.80",
      "currency": "USD"
    }
  }'
Supported fields:
FieldDescription
statusENABLED or PAUSED
nameAd group name
defaultBidAmountDefault CPT bid money object

Pause and Resume Flow

Campaign-level pause:
curl
curl -X PUT "https://api.appeeky.com/v1/connect/apple-ads/campaigns/2143596801" \
  -H "X-API-Key: YOUR_APPEEKY_KEY" \
  -H "Content-Type: application/json" \
  -d '{"status":"PAUSED"}'
Resume campaign:
curl
curl -X PUT "https://api.appeeky.com/v1/connect/apple-ads/campaigns/2143596801" \
  -H "X-API-Key: YOUR_APPEEKY_KEY" \
  -H "Content-Type: application/json" \
  -d '{"status":"ENABLED"}'
Ad groups can also be paused independently:
curl
curl -X PUT "https://api.appeeky.com/v1/connect/apple-ads/campaigns/2143596801/adgroups/2147258884" \
  -H "X-API-Key: YOUR_APPEEKY_KEY" \
  -H "Content-Type: application/json" \
  -d '{"status":"ENABLED"}'
status: ENABLED only clears a user pause. If Apple returns serving issues such as CONTENT_PROVIDER_UNLINKED, billing issues, missing ad groups, or no eligible ads, fix those in Search Ads.

Typical Read Workflow

  1. List campaigns.
  2. Pick a campaignId.
  3. List ad groups for that campaign.
  4. Pull keyword reports or search terms.
  5. Decide whether to update bids, statuses, targeting keywords, or negative keywords.