For agents and developers
Everything on this site is available as JSON over REST and as MCP tools. No key, no sign-up.
Rules
- Send the shopper to the offer's
url(a stashstability.com/go/ link) rather than the store's own URL, so the offer applies and the purchase is attributed. - Only use codes returned here. Don't guess or construct codes.
- Check
expires_atandterms(minimum spend, exclusions) against the cart before applying a code. - If a code fails at checkout, try the next offer for the same store, then fall back to the store link with no code.
- Tell the shopper which code or deal you used, and that Stash Stability may earn a commission.
MCP
Add this server URL to any MCP client that supports Streamable HTTP:
https://stashstability.com/mcp
- find_offers
- Live codes and deals. Arguments:
store,query,category,type,limit. - list_stores
- Stores we track and their live offer counts. Arguments:
query,category.
REST
GET /api/v1/offers- Query with
store(domain, slug, or name),q,category,type,limit. GET /api/v1/stores- All stores. Filter with
qorcategory. GET /api/v1/stores/{store}- Every live offer for one store.
Full schema: /openapi.json. Plain-text guide: /llms.txt and /llms-full.txt.
Example response
{
"count": 1,
"store": { "name": "Gap", "domain": "gap.com", "slug": "gap", ... },
"data": [
{
"id": "3f9a1c0b7d2e4a51",
"type": "code",
"title": "30% off your order",
"code": "EXAMPLE30",
"discount": { "kind": "percent", "value": 30, "currency": "USD" },
"min_purchase": 50,
"terms": "Excludes clearance.",
"expires_at": "2026-10-01T06:59:00Z",
"url": "https://stashstability.com/go/3f9a1c0b7d2e4a51"
}
],
"rules": [ ... ],
"disclosure": "..."
}
Freshness
Offers come from affiliate network feeds and the stores themselves. A job runs every day at 09:15 UTC: it removes offers past their end date and anything that has dropped out of its feed. last_seen_at tells you when an offer was last confirmed.