A browser extension that allows you to download all your Costco warehouse receipts as a JSON file directly from the Costco Order Status page.
- π Custom Date Range - Select any start date to download receipts from
- πΎ One-Click Download - Simple interface to download all receipts as JSON
- π Remembers Settings - Your date preference is saved automatically
- π Complete Data - Downloads all receipt details including items, taxes, tenders, and coupons
- π Cross-Browser - Works with both Firefox and Chrome
- π¨ Clean UI - Minimal, unobtrusive interface
The extension adds a small card interface to your Costco Order Status page:
- Download or clone this repository
- Open Firefox and navigate to
about:debugging - Click "This Firefox" in the left sidebar
- Click "Load Temporary Add-on..."
- Select the
manifest-firefox.jsonfile from the repository
- Download or clone this repository
- Open Chrome and navigate to
chrome://extensions/ - Enable "Developer mode" (toggle in top-right)
- Click "Load unpacked"
- Select the repository folder
- Make sure you're using
manifest-chrome.json(rename it tomanifest.json)
- Navigate to your Costco Account Home page (any URL containing
accounthome, such as):- https://www.costco.com/accounthome
- Or click "Account" from the Costco homepage
- Log in to your Costco account if needed
- The extension interface will appear in the top-right corner
- Select your desired start date (defaults to 3 years ago)
- Click "Download Receipts"
- Your receipts will be downloaded as
costco-[timestamp].json
The repository includes a standalone web viewer (viewer/) for browsing and searching the JSON file you download. It runs entirely in your browser β no build step, no server, and no data ever leaves your machine.
Option 1 β Open the file directly (simplest):
open viewer/index.htmlThis opens the viewer in your default browser via the file:// protocol. All parsing and searching happen client-side, so this is all you need.
Option 2 β Serve it locally (if you prefer http://):
From the repository root:
python3 -m http.server 8000Then visit http://localhost:8000/viewer/ and stop the server with Ctrl+C when done. (npx serve works too.)
- Click the dropzone (or drag and drop) and select your downloaded
costco-[timestamp].jsonfile. - The viewer parses the file and shows summary stats (receipt count, net total, instant savings, warehouses visited) plus a list of receipts.
- Type in the search box to filter receipts in real time β it matches product descriptions, item numbers, warehouse name/city/state/zip, transaction type, dates, totals, and payment methods (e.g.
modelo,redwood city,refund). Matches are highlighted. - Click any receipt to expand its line items, taxes, payment tender, and savings.
- Click "Load different file" to start over with another JSON export.
costco-receipt-downloader/
βββ .github/
β βββ workflows/
β βββ build.yml # GitHub Actions workflow
βββ manifest-firefox.json # Firefox manifest (Manifest V2)
βββ manifest-chrome.json # Chrome manifest (Manifest V3)
βββ content.js # Main extension script
βββ styles.css # CSS for script
βββ viewer/ # Standalone web viewer for the downloaded JSON
β βββ index.html # Viewer page (upload + search UI)
β βββ viewer.css # Viewer styles
β βββ viewer.js # Parsing, rendering, and search logic
βββ package.json # npm build scripts (optional)
βββ README.md # This file
βββ CONTRIBUTING.md # Contribution guidelines
βββ LICENSE # MIT License
βββ .gitignore # Git ignore file
You have several options to package the extension:
Every push to main or pull request automatically builds both versions:
- Push your code to GitHub
- Go to the "Actions" tab in your repository
- Download the built extensions from the artifacts
To create a release:
git tag v1.0.0
git push origin v1.0.0This will automatically create a GitHub release with both extension files attached.
This will create both Firefox and Chrome packages in the dist/ folder.
npm run build # Build both versions
npm run build:firefox # Build Firefox only
npm run build:chrome # Build Chrome onlyFirefox:
cp manifest-firefox.json manifest.json
zip -r costco-receipt-downloader-firefox.xpi manifest.json content.js
rm manifest.jsonChrome:
cp manifest-chrome.json manifest.json
zip -r costco-receipt-downloader-chrome.zip manifest.json content.js
rm manifest.jsonThe extension downloads receipts in JSON format with the following structure:
[
{
"warehouseName": "Costco Wholesale",
"transactionDate": "11/20/2025",
"total": "123.45",
"itemArray": [
{
"itemDescription01": "Product Name",
"amount": "19.99",
...
}
],
"tenderArray": [...],
"couponArray": [...],
"subTaxes": {...}
},
...
]- β Only runs on Costco.com pages
- β Uses your existing Costco authentication
- β No data sent to external servers
- β All processing happens locally in your browser
- β No tracking or analytics
- The extension injects a UI into the Costco Order Status page
- When you click "Download Receipts", it queries Costco's GraphQL API
- The API request uses your existing authentication tokens from localStorage
- Receipt data is fetched and formatted as JSON
- The file is downloaded directly to your browser's download folder
- Ensure you're on the Costco Account Home page (URL should contain
accounthome) - Try refreshing the page
- Check that the extension is enabled in your browser
- Make sure you're logged in to your Costco account
- Make sure you're logged into your Costco account
- Check browser console for error messages
- Verify you have receipts in the selected date range
- Adjust the start date to cover a period when you made purchases
- Ensure your Costco membership is active
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
- Only downloads warehouse receipts (in-store purchases)
- Requires active Costco membership and login
- Date range queries are limited by Costco's API
- Temporary installation only (not published to browser stores)
- Add support for online order receipts
- Export to CSV format
- Receipt search and filter functionality
- Spending analytics dashboard
- Multi-language support
This project is licensed under the MIT License - see the LICENSE file for details.
This is an unofficial extension and is not affiliated with, endorsed by, or connected to Costco Wholesale Corporation. Use at your own risk.
If you encounter any issues or have questions:
- Open an issue on GitHub
- Check existing issues for solutions
- Review the troubleshooting section above
- Built for personal use and shared with the community
- Uses Costco's existing GraphQL API
- Inspired by the need for better receipt management
Note: This extension requires manual installation as it's not published on the Chrome Web Store or Firefox Add-ons marketplace.


