{"record":{"id":"3fcb0b6d1f579631","repo":"jackwener/OpenCLI","slug":"amazon-offer-buy-box-is-blocked-by-the-current-del","errorCode":null,"errorMessage":"amazon offer buy box is blocked by the current delivery location","messagePattern":"amazon offer buy box is blocked by the current delivery location","errorType":"exception","errorClass":"CommandExecutionError","httpStatus":null,"severity":"error","filePath":"clis/amazon/offer.js","lineNumber":129,"sourceCode":"    domain: 'amazon.com',\n    strategy: Strategy.COOKIE,\n    navigateBefore: false,\n    args: [\n        {\n            name: 'input',\n            required: true,\n            positional: true,\n            help: 'ASIN or product URL, for example B0FJS72893',\n        },\n    ],\n    columns: ['asin', 'price_text', 'sold_by', 'ships_from', 'is_amazon_sold', 'is_amazon_fulfilled'],\n    func: async (page, kwargs) => {\n        const input = String(kwargs.input ?? '');\n        const payload = await readOfferPayload(page, input);\n        const normalized = normalizeOfferPayload(payload);\n        if (!normalized.sold_by && !normalized.ships_from && !normalized.merchant_info_text) {\n            if (isDeliveryLocationBlocked(payload.buybox_text)) {\n                throw new CommandExecutionError('amazon offer buy box is blocked by the current delivery location', 'The shared Chrome profile is not set to the target US delivery address. Switch Amazon delivery location to the requested US destination, reopen the product page, and retry.');\n            }\n            throw new CommandExecutionError('amazon offer surface did not expose seller or fulfillment facts', 'The product page may have changed. Open the product page in Chrome, make sure the buy box is visible, and retry.');\n        }\n        return [normalized];\n    },\n});\nexport const __test__ = {\n    extractShipsFrom,\n    extractSoldBy,\n    isDeliveryLocationBlocked,\n    normalizeOfferPayload,\n};\n","sourceCodeStart":111,"sourceCodeEnd":142,"githubUrl":"https://github.com/jackwener/OpenCLI/blob/49907e53dc3ade5c223ff0c4c2c2785687cec4e6/clis/amazon/offer.js#L111-L142","documentation":"CommandExecutionError thrown by the amazon offer command when the buy box text indicates the product cannot be shipped to the profile's current delivery location, so no sold_by/ships_from/merchant info is shown. Amazon hides seller and fulfillment facts when the destination is unsupported; the library detects this via isDeliveryLocationBlocked(payload.buybox_text) and tells the user to switch the delivery address.","triggerScenarios":"Running amazon offer on a product where the normalized payload has no sold_by, ships_from, or merchant_info_text AND the buybox_text matches delivery-location-block patterns (e.g. 'cannot be shipped to your selected delivery location').","commonSituations":"Shared Chrome profile set to a non-US zip/postal code; scraping a US-only product from a profile defaulted to another country; delivery location cookie reset to Amazon's detected location; product not sold to the configured address.","solutions":["In the shared Chrome profile, change Amazon's delivery location to the target US ZIP code and retry","Verify manually: open the product page and check whether the buy box says it cannot ship to your location","Confirm the requested product is actually purchasable/stocked for US delivery","Automate setting the delivery ZIP before scraping if your workflow uses varied destinations"],"exampleFix":null,"handlingStrategy":"validation","validationCode":"// ensure the profile's Amazon delivery location is a US ZIP before offer calls\n// (manual step or a helper that sets the ZIP on amazon.com)\nawait setAmazonDeliveryZip('10001'); // then run the offer command","typeGuard":null,"tryCatchPattern":"try {\n  return await opencli.call('amazon offer', { input: asin });\n} catch (e) {\n  if (/blocked by the current delivery location/.test(e.message)) {\n    await setAmazonDeliveryZip(targetZip);\n    return opencli.call('amazon offer', { input: asin });\n  }\n  throw e;\n}","preventionTips":["Set the Amazon delivery location to the target US ZIP before scraping offers","Check the buy box message manually when an offer lookup fails","Confirm the product ships to the US at all"],"tags":["amazon","buybox","delivery-location","scraping"],"backgroundTag":"delivery-location-blocked","analyzedSha":"49907e53dc3ade5c223ff0c4c2c2785687cec4e6","analyzedAt":"2026-08-29T08:14:47.543Z","schemaVersion":2},"datasetVersion":"2026-08-29T12:17:43.993Z"}