CDN, pinned
Recommended for production. Tag URLs never change and have no rate limits.
https://cdn.jsdelivr.net/gh/thedavidweng/opencard-db@v0.2.0/exports/cards-all.json
Community-maintained metadata for cards issued in the United States, Canada, and China. One schema-validated JSON file per card, reviewed in public, served from a free CDN. No keys, no quotas, no signup.
The catalog is committed to the repository and mirrored on jsDelivr. Pinned release URLs are immutable and globally cached, so production use costs nothing and needs no account.
Recommended for production. Tag URLs never change and have no rate limits.
https://cdn.jsdelivr.net/gh/thedavidweng/opencard-db@v0.2.0/exports/cards-all.json
Tracks the newest merged data. Cached for about 12 hours, good for prototyping.
https://cdn.jsdelivr.net/gh/thedavidweng/opencard-db@main/exports/cards-all.json
Every tagged release ships the same exports as downloadable assets.
curl -LO https://github.com/thedavidweng/opencard-db/releases/latest/download/cards.csv
Every card lives in data/{us,ca,cn}/ as a single
JSON document validated against schema.json
in CI. Records cover the numbers people actually compare.
{
"id": "us-chase-sapphire-preferred",
"name": "Chase Sapphire Preferred® Card",
"issuer": "Chase",
"network": "visa",
"annual_fee": { "amount": 95, "currency": "USD" },
"fx_fee": { "percent": 0 },
"rewards": {
"currency_label": "Ultimate Rewards points",
"base_rate": { "points_per_dollar": 1 },
"categories": [
{ "label": "Travel via Chase Travel",
"points_per_dollar": 5 }
]
}
}
A read-only /v1 Worker with filtering, search, and per-card
lookup. Deploy your own instance on the Cloudflare free plan in minutes,
or prototype against the official best-effort endpoint.
The official instance asks for a real User-Agent and is rate
limited. Production traffic should self-host.
GET /v1/health
GET /v1/meta
GET /v1/cards?country=us
GET /v1/cards/us-chase-sapphire-preferred
GET /v1/search?q=sapphire
Adding a card is a pull request. CI validates the schema, checks your sources, and labels the PR for review.
templates/card.template.json into data/{country}/
Cite the issuer page for every number you enter
npm run validate runs the same checks as CI
A reviewer checks your sources and merges
On a Mac with your cards in Apple Pay, the export CLI scans your Wallet, diffs it against the live database, and helps you open an art PR. Everything runs locally. Nothing is uploaded.
npx opencard-export