How Long Do Purchased Points and Miles Take to Post

Last updated: November 11, 2026

Wondering how long it takes for purchased miles to post? AwardWallet measures these times rather than estimating them. We buy points in these programs ourselves and record exactly when the balance updates. We also learn from AwardWallet members who buy points and have a balance watch enabled. Balance watch checks the account at least hourly, and members often refresh manually far more frequently, which lets us pin down the moment points land to within minutes. Averaging across many purchases is why you'll see figures like 24 minutes rather than round numbers.

"Posting" means the points appear in your account balance, not just the purchase confirmation. Across 40+ airline and hotel programs, times range from immediate to two days: Radisson averages about 24 minutes, and IHG, Southwest, and Flying Blue are typically instant, while Qantas, TAP, and SAS can take two days. Note that these are purchase times, not transfer times, which measure moving points between programs. Programs marked "Unknown" do not have enough data yet.

Program Name
Comments
Average Time
How to purchase

Frequently Asked Questions

q: How long do purchased points take to post?

a: It depends on the program. Some post immediately, while others take up to two days. AwardWallet measures posting times across 40+ airline and hotel programs.

q: Do purchased miles post instantly?

a: Several programs post purchased points immediately, but many take several hours and a few take one to two days. Check the specific program before buying points for a booking you need to make right away.

q: Why do some programs show Unknown?

a: Unknown means AwardWallet does not yet have enough measured purchases for that program to publish a reliable average.

Developer access: Mile Purchase Times API

Build with AwardWallet's measured posting times. Use our public endpoints to fetch how long purchased points take to land across 40+ airline and hotel programs.

Usage & attribution (rules of engagement)

You're free to use this data in your products as long as you clearly attribute AwardWallet, link to this page, and keep our links live:

Data details

  • Unit: hours (durations may include a decimal part; 0 = immediate, null = not enough data yet)
  • Shape: single programs[] array, one object per program (flat, no card scoping)
  • Each program includes provider_id, provider, duration, deal, guide_url, buy_url
  • deal is null when no promotion is running

Caching

  • Responses include ETag and meta.data_hash for cache validation.
  • We recommend respecting Cache-Control and using conditional requests.

Examples

API (OpenAPI 3.1)

bash
curl -s https://loyalty.awardwallet.com/v1/mile-purchase-times/list \
            -H 'Accept: application/json'

JavaScript (fetch)

javascript
const res = await fetch('https://loyalty.awardwallet.com/v1/mile-purchase-times/list', {
    headers: { 'Accept': 'application/json' }
});
const data = await res.json();

/* Example filter: programs posting within an hour */
const fast = data.programs.filter(p =>
    p.duration.max_hours !== null && p.duration.max_hours <= 1
);

Conditional fetch with ETag

bash
curl 'https://loyalty.awardwallet.com/v1/mile-purchase-times/list' -v -H 'If-None-Match: "your-saved-etag-from-last-fetch"' -q

The server will return '304 Not Modified' with an empty body if there is no new data, and '200 OK' with the new data if there is new data.

Versioning

  • Current version: v1 (/v1/…).
  • If the schema changes, we’ll introduce /v2 and keep /v1 available for a deprecation window.