Receipt Snoop
How it works Install Coverage Privacy
Sign in

The price dropped after you bought it.

Many shops refund the difference if a price falls within a set number of days of your purchase. Target's window is fourteen days. Most people never find out in time. Receipt Snoop reads your receipts and holds on to them, so the moment you scan the lower price it can tell you what you are owed and the exact words to say at the desk. In the case this product was built around, that was eighteen dollars back on one toy, with six days to spare.

You can scan a barcode on the home page right now, without an account, and see the range real shoppers actually paid for that item, from their receipts. The account is free, with no card; Premium, an optional subscription that is not on sale yet and can be earned by contributing, adds a saved loyalty card's barcode at the till and planning a shopping list across shops. It needs nothing from your bank, and no brand can pay to change what you see.

What follows is the long version, for people who want to check the working before they hand over two years of receipts.

Nothing here watches prices

This is the first thing to know, because the obvious guess about what this product is is wrong. There is no price fetcher. Nothing is scraped, nothing is polled, no robot sits on a retailer's website waiting for a number to move.

A lower price only ever enters a way you can point to: you scan or type one you saw, another shopper who opted into sharing scanned it or forwarded a receipt that showed it, or it appears in a weekly ad somebody imported by hand. Nothing goes looking on its own. That is why the scanner in the aisle is the centre of the product and not a feature on the side.

What holding your receipts buys you is that the moment one of those things happens, the answer is already worked out: what you paid, what it costs now, whether the retailer will do anything about it, and how long you have. The work happens before you need it, not while you are standing at a shelf.

A receipt is a disclosure document

Not a price tag. When Kohl's prints "you saved $138," it has handed over the exact figure needed to back-solve the price it is claiming. When a Target receipt shows "Circle deal −$3" and "RedCard 5%," it has disclosed the whole discount ladder.

What this product answers, it answers with arithmetic on documents you already own. That matters because the alternative, scraping the retailer, is fragile and controlled by the party we are checking up on. Your receipt is not.

The waterfall

Every line is reconstructed as five rungs: list price, sale price, after coupons, after loyalty, and what you actually paid. Each rung records whether it was printed on the receipt or worked out from the others.

A real Target line that printed only a $20.00 list price and three discounts comes back like this:

rung value where it came from
List price$20.00printed
Sale price$16.00worked out
After coupons$13.00worked out
After loyalty$12.35worked out
You paid$12.35printed

The receipt printed $12.35 paid, $0.91 tax and $13.26 total. Those close, so the record is balanced. It arrived as a photograph, so it is Captured, which weighs 0.5 against a signed email's 0.9, and no upload can argue itself into more.

When it refuses to guess

A Kohl's line printed $59.20 paid and "you saved $138.00." Until a person establishes what Kohl's means by "saved," no original price is derived at all, and a note on the line explains the refusal in those words.

Once the semantics are established, the list price comes out at $197.20, marked worked out, back-solved from the saved figure, and marked that way permanently, because it is the retailer's own claim about itself, and that is exactly the number worth challenging against real observed prices.

Reading a photograph

A text reader on our own server (PaddleOCR, with Tesseract as the fallback), plus the receipt's own arithmetic. No cloud vision service, no GPU.

There is no single image treatment that reads every receipt. Sharpening rescues a soft photo and ruins a clean one; flattening the illumination saves one capture and turns another's 12.99 into 172. Nothing about the image predicts which will work, but the receipt knows, because it prints its own subtotal and total. So the cheapest treatment is tried first and the arithmetic decides whether it worked. Up to four, stopping at the first one that closes.

When it still misreads a single character, the arithmetic repairs it. One receipt came back with its tax line 0.93 read as 6.93. 24.35 + 6.93 does not reach the printed 25.28, and exactly one confusable-digit swap does. The fix is recorded as worked out, never as printed, so the screen shows you it was inferred. Three rules keep that honest: the arithmetic has to be broken already, the substitution has to be one the reader genuinely makes, and the fix has to be unique. Two candidates means no correction.

Making two receipts talk to each other

Two receipts from different chains carrying the same barcode have to resolve to one product or nothing downstream can be compared. UPC-A, UPC-E, EAN-13 and GTIN-14 are all normalised to one canonical form, with the check digit verified on the way in. A transposed digit that happens to look plausible would otherwise attach your receipt to the wrong product and quietly move that product's price.

Store-assigned and random-weight barcodes (deli counter, produce scales) are detected and refused as a cross-retailer link. They mean different things at different chains, and bridging on one would merge a rotisserie chicken with something unrelated.

How a claim gets worded

A verified policy produces an assertion. An unverified or stale one produces a question. That rule is enforced in code, and it is the reason the same $18 overpay reads two completely different ways depending on what we know.

And whichever way it reads, you are the one who takes it to the desk. Receipt Snoop writes the words, works out the figure, names the venue and counts the days. It does not contact a retailer on your behalf, at any of them.

The policy model refuses to flatten five distinctions retailers actually make:

Matching at the till is not adjusting after the sale. Walgreens will match its own site for somebody standing at the register and publishes nothing either way about adjusting afterwards. Walmart matches at the register too, and says outright that it will not adjust later. Calling either of those "does not price match" is false; calling it a price-match rule sends you back for something that does not exist. The till-side match is recorded as its own thing and tells you the true version: ask at the register. Office Depot is the same shape as Walgreens: it beats a competitor's price at the register and has published nothing whatsoever about its own price dropping later, so the answer is neither a yes nor a no.

Adjusting is not the same as publishing a deadline. One retailer on file, Lowe's, has been read and confirmed to look at a lower price after you have bought, and names no number of days anywhere it publishes. That is not "unknown," which would discard a confirmed answer, and it is not "no," which would invert one. It is recorded as an adjustment with an empty window, and the consequence is specific: the overpay surfaces, the script asks rather than asserts, no date is quoted, and the advice is to ask promptly rather than to count down. A borrowed number would have been worse than silence. The 90 days on the same page is Lowe's return window, and using it would have told somebody at day 85 they had five days left and somebody at day 100 they were too late. Both invented. It also means the claim can never expire, because you cannot miss a deadline nobody published.

The branch matters. Target matches Target.com and the store you shopped in, and refuses another Target's price. An observation is same-branch, other-branch, or branch unknown, three states, because most shelf scans arrive with no store number and folding them either way is wrong. Unknown still produces a claim, with a caveat naming the one thing that could sink it.

Some retailers will not let us file for you. Macy's states it outright: only requests submitted by the customer are accepted. Lowe's says the same thing in the same words, and Nordstrom will not accept automated requests from third-party services. That is a constraint on us, and it survives into the claim rather than living in a code comment.

An overpay you cannot claim is still worth knowing about. Where a retailer will not adjust but the return window is open, buying it back at the lower price is the remaining move, and the app says so. That needs a return window we have actually read. The three retailers verified to refuse an adjustment, Walmart, Amazon and BJ's, each have one on file, so the advice fires for all three, with the days counted off the return window rather than off an adjustment that does not exist. Once that window closes too, there is genuinely nothing to say, and the feed stays quiet.

What "verified" means, precisely

Every policy record we count as verified carries the URL it was read from, the date it was read, and what read it. Two do not: Sam's Club and Cub carry no source and no date, because each refuses automated clients outright and nothing was read. That is precisely why neither is counted as verified and neither produces a claim with a deadline. Four more that refused automated clients the same way (Trader Joe's, Dick's, King Soopers and Ralphs) were read in a real browser on 7 October 2026 and now carry their source and date. Where that last field is filled it says claude-research- or claude-go-live- and a date. That means automated research against the retailer's own published page, recording the sentences it relied on. It does not mean a human sat down and read the page. Both are better than an unsourced number in a spreadsheet, and they are not the same thing, so the field says which one it was.

A record is treated as trustworthy for ninety days. After that the app does not delete it or start guessing. It downgrades. The claim goes from an assertion to a question and the money leaves your headline total, until somebody re-reads the page. Retailers revise these quietly and without announcement, which is why the clock is short.

If a window here is wrong, that is a bug and we would rather have the email than the benefit of the doubt.

Corroboration

Anybody can photograph a receipt, and nothing about that act proves the numbers on it. What proves them is other people, shopping independently, seeing the same price.

Two things about how that works are worth stating, because the obvious design of both is wrong.

Agreement means agreeing about a price, and being in the same shop is only the precondition for asking. Two records are eligible to be compared when they are the same store, inside twenty-four hours of each other, and from different people, and the obvious design stops there, which is where it goes wrong. Same store, same day, different person is co-presence, and on its own it hands the pool to anyone willing to fabricate a receipt for a real store on a real Saturday: every honest shopper who was in that store that day would vouch for it. So eligibility is the gate, not the answer. What earns weight is the number itself. The two lines have to resolve to the same product and their shelf prices have to agree to within a cent.

It attaches to the line, not the receipt. Otherwise one genuine item at its real shelf price launders a basket of invented ones sitting beside it. A line earns its own weight or it earns none.

The price compared is the shelf price, before coupons and loyalty, the number everyone in that store sees that day. Witnesses are counted as people, not as rows, so a pile of receipts from one account confirms nothing. And a witness has to have opted into sharing: somebody who opted out is not quietly conscripted into vouching for strangers.

What each tier is worth

Tier Weight What it means
Signed email0.9The retailer sent it and signed it.
Captured0.5Photographed, and the sums close.
Captured, corroborated0.9Somebody else independently saw the same price.
Unverified0.05Typed by hand, or the arithmetic did not close. Only your word for it.

Three tiers, not four. There is a fourth in the code, the one a retailer's own account would earn, and nothing constructs it, because there is no account linking. A rung nobody can climb does not belong on a page about what the numbers mean.

Weight is how much a price can move what other people see. It has nothing to do with how usable your own receipt is for your own claim. That is always fully usable, whatever the tier.

Weekly ads

We hold none today. Thirty-eight retailers are in the registry, twenty-seven of them publish a weekly ad, and exactly one, Best Buy, can be read programmatically. There is no public weekly-ad feed in the United States and most of the alternatives are somebody else's terms of service, so the first ads go in by hand. Until one is in, the screen says it is empty and why.

A price from an ad carries its conditions with it. "With your Card" is not your price if you do not hold the card; "2 for $5" is not the price of one. Those are stored, shown with the condition named, and never turned into a claim. When an ad's week ends its prices are retracted.

Point your own tools at it

Scoped, read-only access tokens and an MCP server, so your own agent, or Claude, or anything else that speaks MCP, can read your own receipts. Free. If you would rather use your own model key for the built-in tasks, you can, and that is free too. Reading your own data back out is not something we intend to charge rent on.

Your data

An export containing every receipt, every price you logged and every intake attempt including the failed ones. A delete that actually cascades and tells you how many receipts and photographs it removed. No trackers and no ad pixel. Cloudflare, which carries every request to this site, adds two things of its own: a small script, served from this address, that hides email addresses on pages like this one from spam harvesters; and an instruction to your browser to tell Cloudflare when a connection to this site fails. Staff reads of a basket require a typed reason and are written to a log that cannot be edited or deleted by any role, including ours.

Where this actually is

Nobody is using it yet. There are no testimonials on this site, no total of money saved and no logos, because there is nothing true to put in them. A page arguing that this product does not invent figures cannot open with an invented figure.

Put it on your phone

Receipt Snoop runs in your browser, so there is nothing to download from an app store and no account to set up anywhere but here. If you would like it on your home screen like any other app, the install guide has the steps for iPhone and Android. It is free, and it needs nothing from your bank.

Coverage, stated plainly

Sixteen retailers where we will tell you to go and claim, with a date on it.

Thirty-eight retailers are in the registry and all thirty-eight now have a policy record. Thirty-six of those were read against the retailer's own published page inside the last ninety days, which is how long a record stays trusted before the app starts marking claims advisory again. Seventeen of the thirty-six adjust a price after you have paid. Sixteen of those publish a deadline you can count down; one adjusts and publishes no deadline at all. Here is the whole picture, including the parts that are not finished. A coverage map you cannot check is not a coverage map.

Claimable

Retailers with a verified post-purchase price-adjustment window
Retailer Window Where Notes
Costco 30 days Online Online orders only. A warehouse purchase has no published window
Fred Meyer 30 days Customer Service Desk Home, Apparel and Home Electronics only. Groceries do not qualify
Home Depot 30 days 1-800-430-3376 Will adjust against a competitor it matches, not only its own price
Wegmans 30 days Service Desk Home & Entertaining only. A drop on food gets nothing
Best Buy 15 days Customer Service desk 60 days with My Best Buy Plus or Total
ALDI 14 days The store manager ALDI Finds only, at the store you bought from
Dick's 14 days Any store associate, or DICKS.com chat or phone Only a lower price at a named competitor. It does not match its own later markdowns
JCPenney 14 days Customer Service Will match any retailer's advertised price
Kohl's 14 days Customer Service Its own lower price, original receipt
Menards 14 days Any Menards cashier Only while the sale is still running, which is usually the shorter clock
REI 14 days Online form Its own price. Outlet items do not qualify
Staples 14 days Customer Service Same item cheaper in store or on Staples.com
Target 14 days Guest Services Target.com and the store you bought from
Macy's 10 days The store, or chat or 1-800-289-6229 for an online order You have to file it yourself, Macy's insists
Meijer 10 days Service Desk Only when the item lands in the Meijer weekly ad
Nordstrom 10 days Not published Its own price, full-price purchases only. Online, counted from shipment

Every window above was taken off the retailer's own published policy page, field by field, with that page's URL and the date it was read stored next to the record. When one goes ninety days without a re-check, it stops being treated as confirmed and its claims go back to being questions.

Six of these are narrower than a window alone suggests, and the claim says so rather than the table hiding it: ALDI's covers ALDI Finds, Wegmans' covers Home & Entertaining, Fred Meyer's covers Home, Apparel and Home Electronics, Menards' runs only while the sale flyer that triggered it is still on, Nordstrom's covers only what you bought at full price, and Dick's covers only a lower price at one of the competitors it names. A weekly shop at any of the first three qualifies for nothing at all.

What "verified" means here, precisely: automated research read the retailer's own published page and recorded the URL, the date and the exact sentences it relied on. A person has not sat down and re-read every one of them. That is a real difference and it is the reason a wrong window is treated as a bug worth an email rather than a disclaimer.

They adjust, and they publish no deadline

Lowe's
Its returns page answers "What if I find a lower price after I make a purchase?" with a number to call. Neither that page nor the Lowest Price Guarantee names a number of days.

So there is no countdown to show you, and inventing one would be worse than useless. An earlier draft borrowed the 90-day return window from the same page, which would have told somebody at day 85 that they had five days left and somebody at day 100 that they were out of time. Both invented. The overpay is surfaced with the money on it, the script asks rather than asserts, no date is quoted, and the advice is the only honest one available: ask promptly, because an unpublished window is not a long one, it is an unknown one. It also means the claim can never expire. You cannot miss a deadline nobody published. Lowe's will only take the request from you, so this is one you make yourself, by phone or chat.

A verified no is still an answer

Walmart
Does not adjust a price after you have paid. Its stores will match walmart.com at the register, and not one minute later. Returns: 90 days on most things.
Amazon
Refuses in both directions, in its own words: "we don't offer price matching compensation." Returns: 30 days, counted from delivery rather than from the order.
BJ's
Its only price guarantee is on televisions and only on the day of purchase. Nothing retroactive. Returns: a year on general merchandise.

So we do not send you to the desk. What we do send you is the other move: return it and buy it again at the lower price. That advice needs a return window we have actually read, and all three of these have one on file, so an overpay at any of them is raised as advisory, with the money, the reason there is no claim, and, for as long as that window is open, the days left on it instead of on an adjustment that does not exist. Once it closes there is genuinely nothing to say, and the feed stays quiet. Recording these as "unknown" would waste your afternoon; recording them as "does not price match" would be false.

Matches at the till, and says nothing about afterwards

Office Depot
It will beat a competitor's lower price while you are standing at the register, and publishes nothing at all about its own price dropping after you have paid. That is neither a yes nor a no, so it gets its own answer: ask before you pay.
Walgreens
It will match walgreens.com in store when you ask, and publishes nothing either way about a price that drops after you have paid. It was filed as a refusal until 7 October 2026, when a re-read found no refusal anywhere on its pages. Returns: 30 days.

Two retailers in the corpus sit here. They are worth the rows because this is the shape a shopper most often mistakes for a refusal. A till-side guarantee is not a promise about tomorrow, and treating it as one sends somebody back for something that was never offered.

Return window read, price position not published

H-E-B
90 days with a receipt in store. Nothing published about adjusting a price.
CVS
60 days, at any CVS rather than the one you bought from. Same gap.
Kroger
30 days across the Kroger family of stores. Same gap.
King Soopers
30 days, the Kroger family return policy published on its own site. Same gap.
Ralphs
30 days, the same family policy on its own site. Same gap.
Whole Foods
30 days with proof of purchase. Same gap.
Albertsons
7 days, and only on online grocery orders. Same gap.
Jewel-Osco
7 days, online grocery orders only. The Albertsons guarantee, republished. Same gap.
Safeway
7 days, and only on online grocery orders. Same gap.
Vons
7 days, online grocery orders only, from the same Albertsons text. Same gap.

An overpay at any of these shows up as advisory. You get the number and a question to ask, not a promise and not a deadline on something nobody has published. The return-and-rebuy advice does not fire here either, and that is deliberate rather than an omission: it needs a recorded refusal to adjust, and these eight have not refused. They have said nothing. Telling you to return something on the strength of silence would be guessing at their policy on their behalf. Note also that the four seven-day windows cover delivery and pickup orders only; walking into the shop with a receipt is not what that number describes.

Read, and the finding was nothing

Publix
Seven policy pages read. No post-purchase position and no return window stated in days, so both fields are empty on purpose.
Rite Aid
Downgraded on review. One sentence in the terms of service was briefly read as a refusal; it was not clear enough to hold, so nothing is recorded. What trades under the name now is a lab-test business. Most of the shops are gone, so there is nowhere to take a claim even where one existed.
WinCo
Its whole published FAQ was read and contains no price-match, price-adjustment or rain-check language, and its returns are stated as a quality guarantee with no number of days. Silence, recorded as silence.
Trader Joe's
Refused every automated client until 7 October 2026, when its FAQ pages were read in a real browser. They say nothing about matching or adjusting a price, and give no return window in days. "Sale is a four-letter word to us" is a statement about promotions, not a published refusal to adjust, and it is not recorded as one.

Could not be read at all

Two retailers refuse automated clients outright, so nothing about them is recorded in either direction. An overpay at any of them is still detected and the arithmetic is still exact; the claim is worded as a question and the money stays out of your headline total.

Sam's Club
The policy lives only in a help centre whose own robots file excludes every client but a handful of named search engines, and Sam's Club's main site redirects there. Marked unverified rather than guessed at.
Cub
Its robots file names about twenty crawlers and disallows everything else, and cub.com is the whole of its web presence. Not read, so not recorded.

Dick's was on this list until 7 October 2026, when its policy pages were read in a real browser. It publishes a Best Price Guarantee: for 14 days after you buy, with your receipt, it matches a lower price from a named list of competitors. It does not match its own later markdowns. That is what its record now holds.

Getting a window wrong does not produce a slightly wrong number. It sends a real person to a service desk for nothing. That is why this list grows one retailer at a time, each one taken from its own published terms and dated, rather than at the speed of a press release.

See how a claim is worded →

The refusals

Five things this product will not do, on purpose.

It will not go and look at prices.

There is no price fetcher and nothing is scraped. A lower price gets in when you scan or type one you saw, when another shopper who opted into sharing scanned it or forwarded a receipt that showed it, or when it appears in a weekly ad somebody imported by hand. Nothing goes looking on its own. What your receipts buy you is that the moment one of those happens, the answer is already worked out.

It will not guess a list price.

If a retailer's "you saved $138" cannot be interpreted with certainty, no original price is worked backwards from it. A guessed market price is worse than none: it contaminates every comparison after it.

It will not let a photograph promote itself.

A photographed receipt is Captured and stays Captured, whatever the upload claims about itself. Nothing a client sends can grant it trust.

It will not let a model near a number.

Where there is an assistant, it is handed figures we already worked out and asked to write English. Any number in its answer that was not in the facts is rejected outright. Extraction, the price arithmetic and claim windows never touch a model at all.

It will not overwrite what your receipt printed.

When the solver and the receipt disagree, you see both, and the printed one is the one we keep.

That is the whole argument. Point it at your own receipts.

Forward one receipt and see what it finds. If it finds nothing, it says nothing.

Create an account Install on your phone
Receipt Snoop

We work for you. We never sell your data, and no brand can pay to change what you see.

Product

  • How it works
  • Install
  • Coverage
  • Sign in
  • Create an account

Legal

  • Privacy
  • Terms

Contact

  • support@receiptsnoop.com

Tell us if a policy is wrong. We would rather fix it than argue about it.

© 2026 NorthPoint Goods Co. · receiptsnoop.com