Skip to content

Instantly share code, notes, and snippets.

@elado
Last active December 4, 2025 19:03
Show Gist options
  • Select an option

  • Save elado/69fa611d84305dea4b38801880743928 to your computer and use it in GitHub Desktop.

Select an option

Save elado/69fa611d84305dea4b38801880743928 to your computer and use it in GitHub Desktop.
American Express / Amex - Add all offers to card at once (bookmarklet)

American Express - Add all offers to card at once

If you own an AMEX card, you can add a bunch of offers to the card in this link: https://global.americanexpress.com/offers/eligible

There are many offers, and they change all the time. Instead of clicking "Add to card" repeatedly, I created this bookmarklet.

In Chrome, add a new bookmark (right click on bookmarks bar -> "Add Page...") with the following URL:

javascript:btns=[...document.querySelectorAll('button')].filter(b => /add to list/i.test(b.title) || b.dataset.testid=="merchantOfferListAddButton");c=()=>{ b = btns.shift(); if (!b) return console.log('Added all!'); b.scrollIntoView(); b.click(); setTimeout(c, Math.random() * 300) };c();

Last updated: 10/11/25

Just run the bookmark while on the offers page, and watch the magic happens!

javascript:btns=[...document.querySelectorAll('button')].filter(b => /add to list/i.test(b.title) || b.dataset.testid=="merchantOfferListAddButton");c=()=>{ b = btns.shift(); if (!b) return console.log('Added all!'); b.scrollIntoView(); b.click(); setTimeout(c, Math.random() * 300) };c();
@samwathegreat
Copy link

samwathegreat commented Dec 4, 2025

FYI, here is the one-liner for your bookmarks. Credit to @feiyax

javascript:btns=[...document.querySelectorAll('button[title="add to list card"]')];c = () => {b = btns.pop();if (!b) return console.log('added all!');b.click();setTimeout(c, Math.random() * 1500 + 300);};c();

Working as of today, 12/4/25

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