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 "https://api.appeeky.com/v1/connect/apple-ads/campaigns?limit=20&offset=0" \
-H "X-API-Key: YOUR_APPEEKY_KEY"
Query parameters:
| Name | Description |
|---|
limit | Number of campaigns to return |
offset | Pagination offset |
Response includes campaign IDs, names, status, countries, budget, serving state, and Apple metadata when available.
Update a Campaign
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:
| Field | Description |
|---|
status | ENABLED or PAUSED |
name | Campaign name |
dailyBudgetAmount | Daily budget money object |
You can send one field or multiple fields in the same update.
List Ad Groups
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 -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:
| Field | Description |
|---|
status | ENABLED or PAUSED |
name | Ad group name |
defaultBidAmount | Default CPT bid money object |
Pause and Resume Flow
Campaign-level pause:
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 -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 -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
- List campaigns.
- Pick a
campaignId.
- List ad groups for that campaign.
- Pull keyword reports or search terms.
- Decide whether to update bids, statuses, targeting keywords, or negative keywords.