Static API → Offer API
The Static API (GET https://api.adgem.com/v1/all/campaigns) is AdGem's legacy offer feed. The Offer API replaces it with OAuth 2.0 authentication, a consistent offers array, optional pagination, and richer offer data (goals, multi-reward, targeting). Both accept the same filters, so migrating is mostly a matter of swapping the endpoint, the auth, and how you parse the response.
Side by side
| Static API | Offer API | |
|---|---|---|
| Endpoint | GET https://api.adgem.com/v1/all/campaigns | GET https://offer-api.adgem.com/v1/offers |
| Auth | appid + token query parameters | Authorization: Bearer <access_token> (OAuth 2.0) |
| Offers shape | object keyed by campaign ID | array under data.offers |
| Pagination | none (full list) | optional (per_page, with page) |
| Filters | country_codes, categories, reward_type, platform, tracking_types | the same, as query parameters |
| Envelope | { status, data, links } | { status, data: { offers, pagination }, links } |
Migrate
- Switch auth. Replace the
appid/tokenquery parameters with a bearer access token — get a refresh token from the dashboard and exchange it per Offer API › Authentication. - Switch the endpoint to
https://offer-api.adgem.com/v1/offers. Your existing filters (country_codes,categories,reward_type,platform,tracking_types) carry over and work the same way — see theGET /v1/offersreference. - Update response parsing. Iterate
data.offers(an array) instead of the campaign-ID-keyed object. The Offer API also returns additional data (goals, multi-reward, targeting). - Adopt pagination if you want paged responses — add
per_page, thenpageas needed (sendingpagewithoutper_pagereturns a422). See Pagination. - Poll on a schedule (about every 5 minutes) and cache results, rather than calling in real time. See the Overview.