Cheepr API
Read-only access to the same price and deal data that powers cheepr.gg: current prices, price history, and deals across stores and regions.
Getting a key
API keys are issued manually — there's no self-serve signup yet. Email [email protected] with what you're building and roughly how much traffic you expect, and we'll send you a key.
Authentication
Send your key as a bearer token:
Authorization: Bearer YOUR_API_KEY
or, if that's inconvenient for your client, as an X-API-Key
header. Requests without a valid key get 401 Unauthorized.
Rate limits and quotas
Every key has a windowed rate limit — the free tier gets 1,000 requests per 5-minute window — plus a daily request quota (default 50,000/day). Both are set when your key is issued. Responses carry the current state:
X-RateLimit-Limit/X-RateLimit-Remaining— the 5-minute windowX-RateLimit-Limit-Day/X-RateLimit-Remaining-Day— per-day
Going over either limit returns 429 Too Many Requests with a
Retry-After header (seconds until you can retry).
Endpoints
The public API hostname is being finalized — the base URL comes with your key email. All
endpoints are GET unless noted, and return JSON.
| Endpoint | What it returns |
|---|---|
/v1/products/steam/{kind}/{id} | Product details (kind is app or dlc) |
/v1/products/by-slug/{slug} | Product details by URL slug |
/v1/products/steam/{kind}/{id}/prices | Current regional prices |
/v1/products/steam/{kind}/{id}/price-history | Accepted price-change history, one region |
/v1/products/steam/{kind}/{id}/price-chart | Chart-friendly price history |
/v1/products/steam/{kind}/{id}/price-lows | All-time / 12mo / 3mo price lows |
/v1/products/steam/{kind}/{id}/sale-cadence | How often it goes on sale, estimated next dip |
/v1/products/steam/{kind}/{id}/bundle-breakdown | Per-component pricing for a bundle/package |
/v1/products/steam/{kind}/{id}/review-velocity | Weekly review-count trend |
/v1/products/steam/{kind}/{id}/recommendation | Derived buy recommendation (quality/value) |
/v1/products/steam/{kind}/{id}/offers | Cross-store offers for the product |
/v1/products/steam/{kind}/{id}/related | Editions, DLCs, and packs |
/v1/products/search | Product search by name |
/v1/deals | Current deals snapshot, filterable and sortable |
/v1/rankings/{axis} | Named rankings (top-discount, historical-low, by-genre) |
/v1/franchises | Franchise list with game counts |
/v1/franchises/{name} | Games in a franchise, each with best offer |
/v1/news | Recent catalogue news |
/v1/popular | Live-viewership "popular now" |
/v1/sales/calendar | Curated announced sales |
/v1/vouchers | Curated vouchers/coupons |
/v1/stores | Catalogued stores and trust tier |
/v1/redirect | Resolves an offer to its store URL (click-through) |
POST /v1/reports | Report a wrong or stale price |
Most endpoints accept a region query parameter (ISO country
code) for regional pricing; product endpoints take a lang
parameter for localized text. Responses that would otherwise 404 for source-side reasons never
fabricate a price — a missing offer is simply absent from the response.
Fair use
The API is free to use within your key's limits. A few ground rules:
- Attribution back to Cheepr is appreciated, not required.
- Don't resell or redistribute raw data as a competing price-comparison feed.
- Don't try to work around your rate limit or quota with multiple keys.
- We may revoke keys used abusively (excessive load, scraping beyond your quota, ToS violations) without notice.
These terms are a plain-language starting point and haven't had a legal review pass yet — treat them as directional until they're finalized.
Questions
[email protected] — bug reports, quota increases, or anything else.