Offers Camp is a self-hostable, privacy-first credit card offers hub. It collects data via a browser userscript and syncs it to a web dashboard, allowing you to search, filter, and track offers across multiple banks in one place.
- Unified Dashboard: View Amex, Chase, and Citi offers side-by-side.
- Smart Parsing: Uses advanced state interception to fetch offers instantly without slowing down the page.
- Flexible Sync Control: Choose between fully automated syncing or manual control via the on-page widget.
- Privacy Focused: Runs locally in your browser; you control where the data is sent.
- ✅ American Express
- ✅ Chase
- ✅ Citi
- ➕ More coming soon
Each bank is implemented as an independent provider so new banks can be added without touching the core system.
To start collecting offers, you need the Offers Camp Collector script.
- Install the Tampermonkey browser extension (Chrome, Firefox, Edge).
- Open the local or public installer page: https://tm.offers.camp/
- Click "Install Offers Camp Collector" and confirm the installation in Tampermonkey.
- Visit your bank's offer page (e.g., Amex Offers) to trigger the sync.
Once installed, the collector automatically runs on supported bank portals.
- The Tampermonkey script detects supported bank offer pages.
- Offers are extracted via official APIs.
- All offers are normalized into a common schema.
- Data is sent securely to the backend.
- The frontend queries the backend so you can:
- search across all cards
- filter by bank or card
- view offers on mobile or desktop
Offers Camp supports both automatic and manual sending, configurable per user to suit your workflow.
When Auto send is enabled:
- Automatic Triggers: Offers are automatically sent to the backend after:
- Page refresh
- Card switch
- Offer list reload
- Zero Friction: No user interaction is required.
- Best For: Users who want Offers Camp to "just work in the background" and ideally quickly sync all cards without thinking about it.
Manual controls are always available via the on-page popup widget.
- Sends offers collected from the current card only.
- Sends all collected offers across all cards displayed on the site.
This is useful when:
- You want full control over when data is transmitted.
- You are testing or debugging the collector.
- You prefer batching uploads rather than real-time syncing.
From the Offers Camp settings panel, you can fully customize the collector's behavior:
- Individual Toggle: Enable or disable specific providers:
- Amex
- Chase
- Citi
- Local Backend: Use this if you are self-hosting the platform for privacy purpose.
- Cloud Backend (Default): Syncs to the public
Offers Campweb dashboard. (Requires an account)
Note: Provider settings are stored locally in Tampermonkey and are applied consistently across all supported banks.
See SELF-HOSTING.MD
Distributed under the MIT License. See LICENSE for more information.
Offers Camp is an open-source tool and is not affiliated with, endorsed by, or associated with American Express, Chase, Citi, or any other financial institution. Use responsibly and in accordance with your bank's terms of service.
