How Long Do Purchased Hilton Honors Points Take to Post?
Last updated: November 2, 2026
Purchased Hilton Honors points post in about 5 hours on average, measured from real purchases rather than estimated.
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.
Endpoints
-
API (OpenAPI 3.1):
https://loyalty.awardwallet.com/v1/mile-purchase-times/openapi-3.1.0.yml
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:
- Include this line: “Purchase times are measured and managed by AwardWallet.”
- Link: https://awardwallet.com/mile-purchase-times
- If you display this data, you must also display AwardWallet's links (the buy_url field) as active, clickable links. Removing, rewriting, or cloaking them is not permitted.
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)
curl -s https://loyalty.awardwallet.com/v1/mile-purchase-times/list \
-H 'Accept: application/json'
JavaScript (fetch)
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
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.