All notable changes to this project will be documented in this file.
This project adheres to Semantic Versioning.
4.2.1 - 2026-05-08
- WAF solver API keys can now also be set via
AmazonOrdersConfig(under the lowercased env var name, e.g.capsolver_api_key), matching the precedence pattern used for other credentials.
- WAF solver API keys can now also be set via
AmazonOrdersConfig(under the lowercased env var name, e.g.capsolver_api_key), matching the precedence pattern used for other credentials.
4.2.0 - 2026-05-08
- Support for AWS WAF solving via third-party providers like CapSolver (
pip install amazon-orders[capsolver]), Anti-Captcha (pip install amazon-orders[anticaptcha]), and 2Captcha (pip install amazon-orders[2captcha]). See the docs for setup. auth_forms_classesconfig option for plugging customAuthFormsubclasses into the auth chain without code changes.AmazonSession.default_auth_forms()static helper that returns the default form chain so callers can more easily extend it.- Configurable Amazon domain for non-
.comsites via thedomainparameter onAmazonSession, thedomainconfig field, and the--domainCLI flag. - Improved currency parsing for English non-
.comAmazon sites.
- Support for AWS WAF solving via third-party providers like CapSolver (
pip install amazon-orders[capsolver]), Anti-Captcha (pip install amazon-orders[anticaptcha]), and 2Captcha (pip install amazon-orders[2captcha]). See the docs for setup. auth_forms_classesconfig option for plugging customAuthFormsubclasses into the auth chain without code changes.AmazonSession.default_auth_forms()static helper that returns the default form chain so callers can more easily extend it.- Configurable Amazon domain for non-
.comsites via thedomainparameter onAmazonSession, thedomainconfig field, and the--domainCLI flag. - Improved currency parsing for English non-
.comAmazon sites.
4.1.0 - 2026-05-03
- Python 3.13 support.
amazoncaptchais now an optional dependency. Install withpip install amazon-orders[captcha]to enable Captcha auto-solve (only compatible with Python <=3.12. When not installed, Captcha challenges fall back to manual entry.
- Captcha auto-solve via
amazoncaptchais likely to be removed in the future, since Amazon has continued to phase out OCR-style Captchas in favor of WAF.
- Python 3.13 support.
amazoncaptchais now an optional dependency. Install withpip install amazon-orders[captcha]to enable Captcha auto-solve (only compatible with Python <=3.12. When not installed, Captcha challenges fall back to manual entry.
- Captcha auto-solve via
amazoncaptchais likely to be removed in the future, since Amazon has continued to phase out OCR-style Captchas in favor of WAF.
4.0.19 - 2026-04-29
- Build and stability improvements.
- Build and stability improvements.
4.0.18 - 2025-12-06
- Order history can now be fetched by
last30ormonths-3in addition to year-based filtering. Args added to CLI for this functionality are--last-30-daysand--last-3-months.
4.0.17 - 2025-11-23
warn_on_missing_required_fieldto the config file, set toTrueto log a warning message instead of raising an exception when a required fields are missing.
4.0.16 - 2025-09-09
- Stability improvements to auth flow.
4.0.15 - 2025-09-08
- Stability improvements to auth flow.
4.0.14 - 2025-08-24
- Support for Amazon's new claim for in the auth flow.
- Stability improvements to auth flow.
- Issue printing cancelled orders in CLI.
4.0.13 - 2025-07-28
- Parsing cancelled orders in history.
- Selector stability for parsing order ID and date.
4.0.12 - 2025-07-24
- Documentation improvements.
4.0.11 - 2025-07-14
- Support for automating Amazon's new Captcha solution that is pre-populated in the form field.
- Support for Python 3.8.
4.0.10 - 2025-07-12
Order.multibuy_discount,Order.amazon_discount,Order.gift_card, andOrder.gift_wrapfields, which are now parsed alongside other subtotals.
4.0.9 - 2025-07-09
- Support for parsing shipping data from new
data-componenttag. Order.reward_pointsfield, which is now parsed alongside other subtotals.
- Edge case where
Order.subscription_discountwas not populated.
4.0.8 - 2025-06-27
- Edge case where, when
start_indexexceeds number of orders for the account, an exception was thrown. Now returns an empty list.
4.0.7 - 2025-05-27
- Stability improvements.
- Documentation improvements.
- Edge cases where, when zero orders and/or zero transactions existed in the account, an exception was thrown. Now returns an empty list.
4.0.6 - 2025-05-12
- Stability improvements for auth flow.
4.0.5 - 2025-05-01
- Ability to pass
next_page_datato get_transactions(). - Stability improvements.
- Documentation improvements (including adding AmazonTransactions to docs).
4.0.4 - 2025-04-30
- Stability improvements and increased test coverage.
- Documentation improvements.
4.0.3 - 2025-04-29
- Stability improvements for auth flow.
- Documentation improvements.
4.0.2 - 2025-04-25
- Improvements around auth retry logic.
- Detect JavaScript-based auth challenges (which can be solved) and give more clear error for them.
- Stability improvements.
- Documentation improvements.
- Stability improvements for auth flow.
- Documentation improvements.
4.0.1 - 2025-04-22
- Stability improvements around cookies, authentication, and logout.
4.0.0 - 2025-04-21
- Improvements to error handling and logging when persisted session expires.
- Stability improvements.
AmazonOrders.get_order_history()now fetches each individual order usingasynciofor 5-10x performance improvements.AmazonOrders.requestnow takespersist_cookies, which defaults toFalse. Cookies are now only persisted when the login form is submitted, rather than with every request.AmazonSessionis now thread-safe.- Support for Amazon's new login auth flow.
- Renamed
constants.Constants.TRANSACTION_HISTORY_LANDING_ROUTEtoconstants.Constants.TRANSACTION_HISTORY_ROUTE. - Renamed
constants.Constants.TRANSACTION_HISTORY_LANDING_URLtoconstants.Constants.TRANSACTION_HISTORY_URL. - Testing environment variables are now consistently prefixed with
AMAZON_.
AmazonSession.last_responseandAmazonSession.last_response_parsed. These variables forcedAmazonSessionin to a statefulness that means its underlying functionality cannot be made async. Use the response object AmazonSessionResponse instead.constants.Constants.ORDER_HISTORY_LANDING_URL.- Evaluation of
OTP_SECRET_KEY, useAMAZON_OTP_SECRET_KEY. - Removed
SIGN_IN_REDIRECT_URL, as it is no longer needed with the new auth flow.
3.2.19 - 2025-04-21
AmazonSession.otp_secret_keyfield.- Values for
username,password, andotp_secret_keystored inAmazonOrdersConfigwill now be used in precedence chain. - Stability improvements to authentication flows.
OTP_SECRET_KEYis replaced withAMAZON_OTP_SECRET_KEY. Evaluation ofOTP_SECRET_KEYwill be removed in the next major release.
3.2.18 - 2025-04-16
- Documentation improvements.
- Paging is more clear now, based on the value of
keep_paging(--single-pagefrom the CLI) rather than evaluatingstart_index.
3.2.17 - 2025-04-15
- Authentication will now use environment variables
AMAZON_USERNAMEandAMAZON_PASSWORD, if present. - OTP can now be auto-solved if environment variable
OTP_SECRET_KEYis populated with a time-based secret key. - Documentation improvements.
3.2.16 - 2025-04-09
Order.indexfield.- Fixes for parsing issues from orders made at physical Amazon Store.
3.2.15 - 2025-03-09
- Issue where
AmazonOrdersConfigcould not be pickled.
3.2.14 - 2025-03-08
Order.free_shippingfield.
- Duplicate currency symbol in CLI output for Order details.
3.2.13 - 2025-03-02
- Broken parsing when
Transaction.order_numberis not selected from<a>tag. - Parsing issue with
Transaction.sellerin pending Transactions.
3.2.12 - 2025-02-24
Order.coupon_savingsandOrder.promotion_appliedmay have multiple values, sum if so.
3.2.11 - 2025-02-23
Order.coupon_savingsfield, which is now parsed alongside other subtotals.
3.2.10 - 2025-02-21
- When
full_details=Trueis set and an Order's details page can't be parsed, the partial Order will still be returned (along with a warning that it's not fully populated). - Broken parsing when Amazon renders a completely empty Transaction div.
3.2.9 - 2025-02-19
- Further support for Amazon's new
data-componenttag on order ID and order date.
3.2.8 - 2025-02-18
- Dependency and documentation improvements (including fixing links to BeautifulSoup entities).
3.2.7 - 2025-02-17
- Fixes for parsing Amazon Fresh and Whole Foods Market orders, so they no longer need to be skipped (but their Items and Shipments will still be empty).
3.2.6 - 2025-02-17
- Add generic integration tests for Transactions, now in weekly run.
- Other test improvements.
- Broken parsing when Transaction is pending.
3.2.5 - 2025-02-12
- Parsing errors on gift cards totals and broken item links due to changes in Amazon.com DOM.
3.2.4 - 2025-02-11
Order.promotion_appliedfield, which is now parsed alongside other subtotals.
- Broken parsing of Whole Foods Market orders, these are now skipped.
- Parsing issue on
Order.order_numberandOrder.order_placeddue to changes in Amazon.com DOM.
3.2.3 - 2025-02-06
bs4_parserto the config file, which allows for overriding the parser used by BeautifulSoup, defaulting to the built-inhtml.parser.
3.2.2 - 2025-01-28
- Stability improvements.
- Broken parsing of Amazon Fresh orders, these are now skipped.
3.2.1 - 2024-11-08
- Issues with parsing Items and Shipments using the new
data-component, selectors made more precise. - Transactions use
utilselector methods, so consistent use of trying a list of selectors is maintained.
3.2.0 - 2024-11-07
- Support for Transactions.
- Improvements for currency parsing.
- Renamed
AmazonOrderErrortoAmazonOrdersError.
3.1.0 - 2024-11-04
python-dateutilas a dependency is now used to parse dates, increasing the types of dates supported and eliminating manually splittings strings apart to find the date.parse_datetosimple_parse.- Cleanup for parsing payment method.
- Cleanup for parsing currency totals.
- Stability improvements.
- Replaced
simple_parse'slinkarg with a more genericattr_name(pass "href" or "src" as the value for the same behavior). Order.payment_method_last_4parses to anint, and now usessafe_simple_parse.
3.0.0 - 2024-11-03
- Retry support to CLI when stale session fails to authenticate the first time.
- Improvements to exception messages on auth failures.
- Documentation improvements.
- Several parsing issues with the implementation of Amazon's new
data-componenttag.
Order.order_shipped_date, this cannot be consistently parsed from Amazon.Order.refund_completed_date, this cannot be consistently parsed from Amazon.
2.0.3 - 2024-11-01
- Further support for Amazon's new
data-componenttag on order price, seller, and return eligibility, and fixing an issue withShipmentparsing. Parsable.to_date()attempts multiple date formats.
- An issue with
Shipments parsing with Amazon's newdata-component.
2.0.2 - 2024-10-30
item_classto the config file, which allows for overriding theItemclass.- Support for Amazon's new
data-componenttag on order subtotals. - Build and stability improvements.
- The return value of
Order._parse_recipient()is now optional, so parsing doesn't break digital goods without a shipping address. - Redundant order ID logic to parse from the URI, simplified to consistently fetch from page.
- Support for order details selector on Amazon's legacy digital orders page.
2.0.1 - 2024-10-27
Build and stability improvements.
2.0.0 - 2024-10-26
- Support for Amazon's new
data-componenttags. order_classto the config file, which allows for overriding theOrderclass.shipment_classto the config file, which allows for overriding theShipmentclass.- Simplified integration tests to more quickly catch regressions.
- Bug fixes and stability improvements.
- Removed global constants in
amazonorders.constants. Nowamazonorders.constants.Constantsandamazonorders.selectors.Selectorsclasses are used, can be overridden withconstants_classandselectors_classin the config file.
session.AUTH_FORMS. Passauth_formswhen instantiatingAmazonSessioninstead.
1.1.4 - 2024-06-07
- Improvements to helper functions for simple parsing support (
prefix_split, parsing improvements, and more). - Bug fixes and stability improvements.
1.1.3 - 2024-06-05
- Config is now managed through a YAML file, with support for CLI overrides.
- Documentation improvements.
- Parsing issues due to change in Amazon.com DOM.
- Other minor bug fixes.
1.1.2 - 2024-05-18
- Build improvements.
- Documentation improvements.
- Test improvements (Amazon no longer provides the
conditionfield in many cases).
- Raise
AmazonOrdersNotFoundErrorwhen Order is not found. - Prices with thousands separator now parse properly.
- AmazonOrder.debug defaults to the value of AmazonSession.debug if an override is not passed.
1.1.1 - 2024-04-09
- Build improvements.
- Test improvements.
- Renamed
kwargpassed toIODefault.prompt()fromcaptcha_img_urltoimg_url. - Renamed
kwargpassed toIODefault.prompt()frommfa_device_select_choicestochoices.
1.0.16 - 2024-03-24
constants.BASE_URLwill look for the environment variableAMAZON_BASE_URLbefore defaulting to "https://www.amazon.com".- Build and stability improvements.
1.0.15 - 2024-03-05
- Build and style improvements.
- Documentation improvements.
pytestto streamline running unit and integration tests.
conf.VERSION, moved all version information toamazonorders/__init__.py. Get package version withfrom amazonorders import __version__instead.
1.0.14 - 2024-02-26
- Build improvements.
- Renamed
make check-styletomake check.
1.0.13 - 2024-02-20
logincommand to CLI.- If
--usernameor--passwordare not given and no stored session, CLI will prompt. - Build improvements.
- Issue where
Parsableobjects could not be pickled due to BeautifulSoupTagobjects.
1.0.12 - 2024-02-11
- Relative dependency pinning in
pyproject.toml. - Style and stability improvements (check
flake8withmake check-style).
requirements.txtfiles to streamline in topyproject.toml.
1.0.11 - 2024-02-09
versioncommand now includes Python version and doesn't printer banner, for easy parsing.
1.0.10 - 2024-02-08
- Migrated to
pyproject.toml.
1.0.9 - 2024-02-07
- AuthForm's now
passes
captcha_img_urlto itsprompt()fallback for Captcha, useful for overriding IODefault. - MfaDeviceSelectForm
now passes
mfa_device_select_choicestoprompt(), useful for overrides IODefault. - Documentation improvements.
1.0.8 - 2024-01-30
- Stability improvements.
1.0.7 - 2024-01-29
- AuthForm abstract class, and migrated all auth flow items to subclasses of this class.
- Parsable.simple_parse(), which can handle most basic fields when parsed with CSS selectors.
- Stability improvements.
- Test improvements.
- Moved all constant variables (URLs, CSS selectors, etc.) to
constants.py. - Migrated entities to use CSS selector constants.
constants.SIGN_IN_URLis now the landing page for login, the old value has been moved toconstants.SIGN_IN_REDIRECT_URL.
1.0.6 - 2024-01-25
- Support for when local session data is stale (Amazon prompts us to login again).
- Documentation improvements.
- Regression in the Captcha flow introduced in
1.0.5.
1.0.5 - 2024-01-25
- Item.image_link.
- Item.quantity.
versioncommand to CLI.- Test improvements.
- Migrated to using CSS selectors
in
AmazonSession - Migrated to using CSS selectors
in
AmazonOrders
1.0.4 - 2024-01-24
- A new OTP auth flow from Amazon that can occur after Captcha.
- Parameters
--max-auth-attemptsand--output-dirto CLI. DEFAULT_OUTPUT_DIR, which defaults toos.getcwd(), but allows users to change where output files are written.Troubleshootingsection to the docs.- Test improvements, including the ability to run dynamic tests using private order data from JSON files.
- Improved string representations of entities,
including
Order, moved string representation of all fields back tocli.pyout of the__str__method. - Moved
DEFAULT_COOKIE_JAR_PATHtoconf.py.
1.0.3 - 2024-01-18
- CLI improvements.
- Documentation improvements.
1.0.2 - 2024-01-18
IODefaultfor I/O operations, which can be extended to use something other thanprint()andinput().- Documentation improvements.
- Test improvements.
Orders.print_outputvariable,cli.pynow handles output.
1.0.1 - 2024-01-17
- Auth flow now also checks session cookies in addition to parsing the page for signs of login.
- All fields to string representation
of
Order, so they are not output on the CLI. logoutcommand to CLI.- Documentation improvements.
- Test improvements.
- Improvements to CLI, including error message cleanup on auth exceptions.
Order.order_details_linkis now properly populated even on the details page..gitattributesto HTML files are now ignore by Linguist.
1.0.0 - 2024-01-16
- First stable release of
amazon-orders.