Skip to content

Instantly share code, notes, and snippets.

@L422Y
Last active August 1, 2025 19:47
Show Gist options
  • Save L422Y/53b75be4bb8afd5cd6143e74150cc142 to your computer and use it in GitHub Desktop.
Save L422Y/53b75be4bb8afd5cd6143e74150cc142 to your computer and use it in GitHub Desktop.
Mass cancel Amazon Subscribe and Save
  1. Open your subscriptions page:
https://www.amazon.com/auto-deliveries/subscriptionList?shipId=mpkmmwlssrkq&ref_=mys_nav_op_D
  1. Paste into devtools console
  2. Wait a few moments, and then refresh/repeat for any additional pages
  3. Confirm by checking to see if you've received cancellation emails
await Promise.all([...document.querySelectorAll('[data-subscription-id]')]
  .map(el => el.getAttribute('data-subscription-id'))
  .map(async (subscriptionId) => {
    try {
      const res = await fetch(`https://www.amazon.com/auto-deliveries/ajax/cancelSubscription?deviceType=desktop&deviceContext=web&subscriptionId=${subscriptionId}`)
      const cancelPanel = await res.text()

      const div = document.createElement('div')
      div.innerHTML = cancelPanel
      document.body.appendChild(div)

      const form = div.querySelector("form[name='cancelForm']")
      if (form) {
        const formData = new FormData(form)
        const formEntries = Object.fromEntries(formData.entries())

        await fetch(form.action, {
          method: form.method,
          headers: {
            'Content-Type': 'application/x-www-form-urlencoded',
          },
          body: new URLSearchParams(formEntries)
        })

        div.remove()
      }

      return 'ok'
    } catch (reason) {
      return `error: ${reason}`
    }
  })
)
@OrderAndCh4oS
Copy link

Can confirm it works for .co.uk just swap out the .com. Thanks for this, it saved so much time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment