Daily caps: why an offer leaves the feed mid-day
Many offers take only so many new users a day. When an offer’s daily cap fills, or its budget runs out, we take it off your Offer API list so no one taps a dead end. It comes back on its own when it can take users again, usually at the next daily reset.
See also: Offer API
On this page
- The Offer API list leaves it out. The list only holds offers that can take a new user now. No parameter brings a full offer back sooner.
- The Offers page keeps it, marked. In the portal the row stays, with Capped for today and when it reopens, such as Reopens at midnight EDT. Its button reads View offer instead of Get offer, and the offer’s page holds the tracking link back and points to Run it now: open copies of this offer. If we don’t know when the cap resets, the offer is hidden instead.
- Another copy may take its row. If the same app is listed more than once, the best open copy shows in its place. See How we pick which copy of an offer you see.
- Old links stop before the advertiser. When we know an offer is full, a tap from a card you saved earlier doesn’t reach a store page that can’t credit it. The player lands on one of our pages, such as “This offer has ended” or “Download a game”, that tells them to go back and pick another offer.
- Players who already started carry on. A cap counts new users, so the first step uses it up and later steps don’t. Steps from players who started before the cap filled still post back.
Harbor Blocks, an iPhone game, takes a set number of new players a day, and its cap resets at midnight Eastern time.
| Time | What happens |
|---|---|
| 9:00 AM | Harbor Blocks is on Pebble Rewards’ list with cap: 12. |
| 11:20 AM | The last new player of the day installs. Its cap reaches 0 and it leaves the Offer API list. |
| 11:25 AM | Pebble Rewards checks its saved cards, gets available: false for Harbor Blocks and hides the card. |
| 2:06 PM | A player who installed at 10:40 AM reaches level 10. That step still posts back. |
| Midnight | The cap resets. Harbor Blocks is back on the list. |
Example. Times and numbers are made up.
Rows carry these fields when we report caps on the API. Offers without a known limit return them as null.
| Field | Meaning |
|---|---|
cap | New users the offer can still take from you today. 0 means no new starts where we enforce the limit (see below). null means no known limit, not unlimited. |
capEventName | The step that uses up the cap, usually the first one. |
capTimezone | The cap’s time zone, or null when unknown. |
capResetsAt | The next midnight in that time zone, as a UTC timestamp. It’s when the count resets, not a promise the offer returns. |
On some offers cap is only an estimate across everyone, and taps still go through at 0. Use available, below, to decide whether to show a card.
If part of an offer’s cap is set aside for one publisher, the cap every other publisher sees already leaves that part out. When what’s left reaches 0, the offer is unavailable and its link refuses new taps until the set-aside part is used or the US Eastern day ends.
If your account has its own daily limit on an offer, set by us or by the network you work with, cap counts down from that limit instead.
If you keep offer cards between calls, ask which are still open:
curl -G "https://affiliateos.xyz/publisher/offers/availability" \
--data-urlencode "ids=aff_7c2e91b04d3a,aff_51d0c3e8a9f2" \
-H "x-api-key: $AFFILIATEOS_KEY"{
"status": "success",
"data": {
"offers": [
{
"id": "aff_7c2e91b04d3a",
"available": false,
"cap": 0,
"capResetsAt": "2026-10-31T04:00:00.000Z"
},
{
"id": "aff_51d0c3e8a9f2",
"available": true,
"cap": null,
"capResetsAt": null
}
],
"checkedAt": "2026-10-30T15:25:00.000Z"
}
}Example: Pebble Rewards’ 11:25 AM check, Harbor Blocks first. IDs and times are made up.
- Send up to 100 IDs a call, comma-separated.
- Hide a card when
availableisfalse. Readavailable, notcap: an offer can reportcap: 0for display and still be open. - An ID that’s unknown to your account reads
available: false. - Don’t bring a card back because
capResetsAthas passed. Bring it back when a new check saysavailable: true.
Open Email alerts in the portal. Offer stopped emails you when an offer you earn on stops being available and stays gone for 15 minutes, 1 hour or 4 hours, right away or in the daily summary; tick Also tell me when it comes back to hear when it returns. Payout or cap changes, with Include daily cap changes ticked, emails you when an offer’s daily cap changes.
The Network API leaves full offers out the same way, and GET / answers the same question with your network’s ak_ key. On offers that support it, you can also set a Daily cap for each of your publishers when you assign them the offer in your network dashboard.