Earlier quoted context omitted.
I know you are just playing devil's advocate but why "without authorization"? You are using your account and your cookies so it should be fair game?
+1 you're only doing things you're already authorized to do, just with a different client.
Reversing Safeway's private APIs to automate coupon collection
31–40 of 148 posts
Re: Reversing Safeway's private APIs to automate coupon collection
#32This is cool but I'm not sure the purpose. I use the Safeway app every time I go to Safeway. I scan all the offers and just add the ones I want, which builds a shopping list for me. This gives me a list of things to buy but more importantly I know what's on sale . If I just added all the coupons I'd still have to scan the list of things to find what I want to buy, but then I'd have to track them elsewhere, because th…
1) Saves you money (versus the retail price of the item)
2) Makes you more likely to buy the product on the coupon.
Your use of coupons adheres to both value #1 (saves you money, because you know what's on sale) and value #2 (advertises products on sale, increasing your chances of buying them). This is the core advertising model of coupons and why they've been popular forever.
This automated use of coupons saves you money if you happen to purchase an item for which a coupon exists, without requiring you to do any extra work to save that money — but also without having the desired advertising outcome of making you more likely to purchase that item.
This compares well to adblocking. Internet advertising on websites:
1) Saves you money (versus subscribers-only paywalls)
2) Makes you more likely to buy the product on the advertisement
And in that analogy, ad-blockers are directly equivalent to coupon auto-adders: they allow you to save money without having the desired advertising outcome of making you more likely to purchase that item, in a fully-automated manner that doesn't require you to exert any effort doing so.
Coupons are a precursor form of advertising ("pay-per-clip" :) where you are paid money to view the advertisement, and are more likely to commit to buying the product when you 'clip' the coupon — it's a marketing psych thing. They also have perfect tracking, since retailers provide coupons to manufacturers along with purchase date and location.
Coupon autoclippers break that agreement, such that you're 'paid' for being influenced by the advertisement without ever having been influenced. The coupons are no longer valid for tracking the effectiveness of advertising A/B tests in different markets (your Safeway account's zip code is surely part of that data). They are no longer proof that you viewed an ad at all.
You're not wrong that this app would ruin how you shop quickly, but you're also shopping quickly using a list of products that were predetermined by Safeway and/or other marketing divisions to be of maximal interest to them for you to purchase. As long as you're okay with that, coupon clipping is an excellent approach. For others, autoclippers would minimize the price paid without changing their purchasing methods (which may be paper-based, brand-focused, or random-chaotic)
Re: Reversing Safeway's private APIs to automate coupon collection
#33This is the kind of stuff where I tell people that coding can be a real practical skill (that gives you an unfair advantage these days). I did something similar (read-only) for Home Depot Truck Rentals. To check if the truck was available at my local store, each time, you had to put in your zip code, and click a couple of times. Once I found that was an API, I rebuilt the call in Postman and kept hitting that endpoin…
Future of this: computer vision detector on top of frequently-updated satellite data?
Re: Reversing Safeway's private APIs to automate coupon collection
#34This is the kind of stuff where I tell people that coding can be a real practical skill (that gives you an unfair advantage these days). I did something similar (read-only) for Home Depot Truck Rentals. To check if the truck was available at my local store, each time, you had to put in your zip code, and click a couple of times. Once I found that was an API, I rebuilt the call in Postman and kept hitting that endpoin…
Exactly this. I did the same thing to find available camping spots in Hawaii because they are super difficult to get. Wrote a script that would query their "API" every 5 minutes and alert me if a spot became available anywhere.
Presumably those campsites are permitted by some government agency (NPS, BLM, the state of Hawaii, etc.), and presumably that agency designed permitting system with the assumption that people with limited time and attention would be vying for the permits by having to visit the site themselves to get one.
This encodes a particular definition of fairness: that those who register early, or are very motivated, or simply those with a lot of free time to refresh the site, will get permits.
I can also whip up a quick script to replace refreshing an unprotected HTTP API with a notification email. Does that make me more deserving of the camping spot?
Re: Reversing Safeway's private APIs to automate coupon collection
#35When I see access to private API's like this, I wonder how judges would interpret these actions as they relate to the CFAA. By accessing "private" API's like this, are you knowingly accessing a computer without authorization? Are you exceeding your authorized access? The fact that Aaron's Law never went through has disturbed me...
I know you are just playing devil's advocate but why "without authorization"? You are using your account and your cookies so it should be fair game?
Sure, the judge who heard this case said this would be an "overly broad" interpretation of the law at the time, but the question has come up in subsequent criminal cases as well. I'd feel better if that was actually codified and not left up for interpretation by other judges or courts.
0 - https://en.wikipedia.org/wiki/United_States_v._Drew#Indictme...
Re: Reversing Safeway's private APIs to automate coupon collection
#36This is the kind of stuff where I tell people that coding can be a real practical skill (that gives you an unfair advantage these days). I did something similar (read-only) for Home Depot Truck Rentals. To check if the truck was available at my local store, each time, you had to put in your zip code, and click a couple of times. Once I found that was an API, I rebuilt the call in Postman and kept hitting that endpoin…
Future of this: computer vision detector on top of frequently-updated satellite data?
Re: Reversing Safeway's private APIs to automate coupon collection
#37Earlier quoted context omitted.
+1 you're only doing things you're already authorized to do, just with a different client.
Many sites view that as "unauthorized" because they like that top-down control
Re: Reversing Safeway's private APIs to automate coupon collection
#38Another tip: (area code) 867-5309 works for Safeway club card discounts in most area codes while piping tracking of your purchases to essentially null. Yes, Jenny’s number.
Re: Reversing Safeway's private APIs to automate coupon collection
#39Haha, I did something similar a while ago - I just invoked a click() on every "add coupon" button on their website, I didn't want to reverse engineer their APIs - way easier but also it requires a desktop browser with the page open. I'm not sure if using this API is any different but a few months ago Safeway made a change that only lets you have 20(?) coupons at any time. After you add more it kicks off your oldest o…
You can use Selenium to do the same thing in a headless browser, no need for a desktop browser with a page open. https://www.seleniumhq.org/