Browser extension for exporting your Amazon order history to JSON or CSV format. Supports both Firefox and Chromium-based browsers (Chrome, Edge, Brave, etc.). While it is designed for use with Toolbox for Firefly III to enrich financial transactions with Amazon order details, it can be used independently for personal record-keeping or data analysis.
- Full History Export — Export your entire Amazon order history
- Date Range Filtering — Export orders within a specific date range
- Multiple Formats — Export as JSON or CSV
- Cancellable Exports — Stop an export while it is in progress
- Privacy Focused — No tracking or data collection; all processing happens locally
- Open Source — Free to use and modify
| Market | Domain | Default Currency |
|---|---|---|
| United States | amazon.com |
USD |
| United Kingdom | amazon.co.uk |
GBP |
| Sweden | amazon.se |
SEK |
| Germany | amazon.de |
EUR |
| France | amazon.fr |
EUR |
| Italy | amazon.it |
EUR |
| Spain | amazon.es |
EUR |
| Canada | amazon.ca |
CAD |
| Japan | amazon.co.jp |
JPY |
| India | amazon.in |
INR |
| Australia | amazon.com.au |
AUD |
| Brazil | amazon.com.br |
BRL |
| Mexico | amazon.com.mx |
MXN |
| Belgium | amazon.com.be |
EUR |
| United Arab Emirates | amazon.ae |
AED |
The extension interface is available in these languages:
| Language | Locale |
|---|---|
| English | en |
| German | de |
| Spanish | es |
| French | fr |
| Italian | it |
| Swedish | sv |
- Chrome Web Store: https://chromewebstore.google.com/detail/order-history-exporter-fo/fipfbjgikgcggcebnefmamgemoehfgof
- Firefox Add-ons: https://addons.mozilla.org/de/firefox/addon/order-history-exporter-amazon/
Requires Node.js 20+.
# Clone the repository
git clone https://github.com/xenolphthalein/order-history-exporter-for-amazon.git
cd order-history-exporter-for-amazon
# Install dependencies
npm install
# Build for all browsers (Firefox + Chrome)
npm run build
# Or build for a specific browser
npm run build:firefox
npm run build:chromenpm install also runs the repository's prepare script, which installs Husky git hooks.
The built extensions will be in browser-specific directories:
- Firefox:
dist/firefox/— Load viaabout:debugging→ "This Firefox" → "Load Temporary Add-on" - Chrome/Chromium:
dist/chrome/— Load viachrome://extensions→ "Developer mode" → "Load unpacked"
- Install the extension in your browser (Firefox or Chrome/Chromium)
- Navigate to Amazon and log in to your account
- Click the extension icon in the toolbar
- Select your export options (date range, format)
- Click "Export" to download your order history
- To cancel an export in progress, reopen the popup and click "Stop Export"
The data model for each order includes the following fields:
{
"orderId": "string",
"orderDate": "string (ISO 8601 date)",
"totalAmount": "number",
"currency": "string",
"items": [
{
"title": "string",
"asin": "string",
"quantity": "number",
"price": "number",
"discount": "number",
"itemUrl": "string (URL to item page)"
}
],
"orderStatus": "string",
"detailsUrl": "string (URL to order details page)",
"promotions": [
{
"description": "string",
"amount": "number"
}
],
"totalSavings": "number",
"recipientName": "string (shipping recipient's name)",
"recipientStreet": "string (street lines joined by commas; may be empty)",
"recipientCityPostal": "string (city and postal code line; may be empty)",
"recipientCountry": "string (may be empty)",
"chargedAmount": "number | null (amount charged to the payment method; null until order details are fetched)",
"giftCardAmount": "number (amount covered by a gift card, 0 if none was used)"
}The CSV export creates multiple rows for orders with multiple items. Columns:
| Column | Description |
|---|---|
| Order ID | Amazon order identifier |
| Order Date | Date of the order |
| Total Amount | Order total |
| Currency | Currency code |
| Total Savings | Total discounts applied |
| Status | Order status |
| Item Title | Product name |
| Item ASIN | Amazon product identifier |
| Item Quantity | Number of items |
| Item Price | Price per item |
| Item Discount | Discount applied to item |
| Promotions | Applied promotions |
| Item URL | Link to product page |
| Details URL | Link to order details |
| Recipient Name | Shipping recipient's name (on the first item row only) |
| Recipient Street | Shipping street address, multi-line joined by commas (on the first item row only) |
| Recipient City / Postal | Shipping city and postal code line (on the first item row only) |
| Recipient Country | Shipping country (on the first item row only) |
| Charged Amount | Amount charged to the payment method after any gift-card deduction (on the first item row only) |
| Gift Card Amount | Amount covered by a gift card, 0 if none was used (on the first item row only) |
npm run build # Build for all browsers (development)
npm run build:firefox # Build Firefox extension only
npm run build:chrome # Build Chrome extension only
npm run build:prod # Production build for all browsers
npm run build:prod:firefox # Production build for Firefox
npm run build:prod:chrome # Production build for Chrome
npm run bump -- bugfix # Or major/minor; keeps package, lockfile, and manifests in sync
npm run typecheck # TypeScript checks (no emit)
npm run lint # ESLint
npm run lint:fix # ESLint with auto-fixes
npm run format # Format repository with Prettier
npm run format:check # Check formatting
npm run test # Run tests
npm run test:coverage # Run tests with coverage report
npm run knip # Find unused files/exports/dependenciesThis repository uses Husky git hooks. The pre-commit hook runs:
npm run lint
npm run format:checkIf hooks are missing locally, run:
npm run prepareTagged releases (v*.*.*) run .github/workflows/release.yml and now:
- builds Firefox and Chrome artifacts
- creates a GitHub Release with downloadable files
- publishes to Chrome Web Store (stable tags only)
- submits to Firefox Add-ons (listed channel, stable tags only)
Prerelease tags (for example v1.2.3-beta.1) still create a GitHub Release, but skip Chrome/Firefox store publishing.
Contributions are welcome. Please submit PRs to the main branch.
This project is released under the Unlicense, dedicating it to the public domain. You are free to use, modify, and distribute it for any purpose without restrictions.