Product
Publishers
Advertisers
Networks
Help
Pause animations
Browse help topics
Concept PublisherNetwork

Daily caps: why an offer leaves the feed mid-day

Updated

View as Markdown

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

What happens when a cap fills

  • 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.

Example

Harbor Blocks, an iPhone game, takes a set number of new players a day, and its cap resets at midnight Eastern time.

TimeWhat happens
9:00 AMHarbor Blocks is on Pebble Rewards’ list with cap: 12.
11:20 AMThe last new player of the day installs. Its cap reaches 0 and it leaves the Offer API list.
11:25 AMPebble Rewards checks its saved cards, gets available: false for Harbor Blocks and hides the card.
2:06 PMA player who installed at 10:40 AM reaches level 10. That step still posts back.
MidnightThe cap resets. Harbor Blocks is back on the list.

Example. Times and numbers are made up.

Read the cap fields

Rows carry these fields when we report caps on the API. Offers without a known limit return them as null.

FieldMeaning
capNew 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.
capEventNameThe step that uses up the cap, usually the first one.
capTimezoneThe cap’s time zone, or null when unknown.
capResetsAtThe 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.

Check saved cards before you show them

If you keep offer cards between calls, ask which are still open:

Shell
curl -G "https://affiliateos.xyz/publisher/offers/availability" \
  --data-urlencode "ids=aff_7c2e91b04d3a,aff_51d0c3e8a9f2" \
  -H "x-api-key: $AFFILIATEOS_KEY"
JSON
{
  "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 available is false. Read available, not cap: an offer can report cap: 0 for display and still be open.
  • An ID that’s unknown to your account reads available: false.
  • Don’t bring a card back because capResetsAt has passed. Bring it back when a new check says available: true.

Get an email when it happens

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.

For networks

The Network API leaves full offers out the same way, and GET /network-api/offers/availability?ids= 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.

Cap. A limit on how many conversions an offer accepts, usually per day.What is a cap?

Support

Still stuck? Write to us.

One address for every question: hello@affiliateos.ai. Put the details from this list in your first message so we can find the click or conversion without asking you for them again.

Put these in your message

  1. 01The email you sign in with
  2. 02Your role: publisher, advertiser or network
  3. 03The offer ID
  4. 04The click ID or action_id
  5. 05The time it happened, with your time zone
  6. 06What you expected to happen

Looking for a reward in an app? Ask that app's support. It credits your reward, so only it can see your balance.

Search help