Get our top offers in order (Top Offers Feed)
Add segment=top to your Offer API call. You get our team’s picks plus the offers that converted best across AffiliateOS in the last 30 days, as your own rows at your payouts, already in order. Show them in the order they arrive.
See also: Offer API
On this page
- Our picks. Our team chooses the offers we lead with. A pick keeps its place while it runs and is still paid the way its list says: the first list at install, the second list not at install.
- Offers that earned a place. Every other slot goes to an offer that pays $1 or more, converted at least 10 times in the last 30 days and had 15% or fewer of those conversions reversed. Conversions count across all AffiliateOS traffic, not just yours.
- Offers that stopped converting leave. An offer with 100 or more clicks in the last 7 days and no conversion drops out, picks included.
- One row per game and platform. The stats behind the list refresh once a day.
Offers paid at install come first, highest install payout first. Then a second list of offers that don’t pay at install: our picks first, then offers paid once on one action, such as a sign-up or a free trial, most conversions first. Our picks and the 30-day stats are the same for every publisher, and the install list is ordered by your own install payouts. Your filters and your account’s access decide which rows you see, and sort is ignored.
Call the Offer API with segment=top
curl -G "https://affiliateos.xyz/publisher/offers" \ -d segment=top -d country=US -d platform=iOS \ -H "x-api-key: $AFFILIATEOS_KEY"Your publisher key is the same
pk_key the full list uses. See How to fetch offers from the Offer API if you don’t have one yet.Filter for the player, not for the order
country,state,platformandos_versionwork here as on the full list. An offer your account can’t run, or that doesn’t fit the player, is skipped and the next one moves up. The rest keep our order.Keep the order
Render rows top to bottom as they arrive. Without
pageorper_pageevery row comes back in one response; with them, the pages keep the same order.Send each user through trackingUrl
Each row is your own row: your payout, and a tracking link that credits you. Replace
{SUB_ID}with the user’s own ID, as on any offer.Check it worked
On an account paid at install, the first rows have
isPaidOnInstall: trueand theirinstallPayoutUsdgoes down as you read. If the list comes back empty with"status": "success", try it without filters: an empty list rather than an error also means the Top Offers Feed is switched off for now.
| Offer API | Top Offers Feed | |
|---|---|---|
| What comes back | Every offer your account can run | Our picks and 30-day converters |
| Order | None until you sort | Ours. sort is ignored |
| The call | GET /publisher/offers | The same call with segment=top |
| Start here if | You rank offers yourself | You want a short list you can show as is |
You can use both: the feed on your first screen, the full list behind a “More offers” view. Conversions from either reach the same postback URL.
The reasoning behind the rules is on the Top Offers Feed page, and every field is in the developer reference.