API Reference
Complete reference for the CardAPI REST API. All endpoints return JSON and require authentication.
SDKs
Official SDKs are available on npm and PyPI. They handle authentication, serialization, and error handling out of the box.
npm install @cardapi/client
import { CardAPI } from "@cardapi/client";
const client = new CardAPI("your_api_key");
const cards = await client.getCards({ country: "US" });pip install cardapi
from cardapi import CardAPI
client = CardAPI("your_api_key")
cards = client.get_cards(country="US")Authentication
Authorization: Bearer <api_key>All API requests require authentication via a Bearer token in the Authorization header. Get your API key from the dashboard. Keys use the ck_live_ prefix for production and ck_test_ for sandbox.
// Authenticated request
{
"data": { ... },
"meta": {
"request_id": "req_abc123",
"rate_limit_remaining": 4999
}
}
// Unauthenticated request
{
"error": {
"code": "unauthorized",
"message": "Invalid or missing API key"
}
}Cards
/v1/cardsList all credit cards. Returns paginated results with basic card information. Use query parameters to filter by issuer, country, or category.
issuerstringFilter by issuer slug (e.g. chase, amex)countrystringFilter by country code: US or CAcategorystringFilter by reward category (e.g. dining, groceries)limitintegerResults per page (default: 25, max: 100)offsetintegerPagination offsetcurl "https://adaptable-dream-production-2fce.up.railway.app/v1/cards" \-H "Authorization: Bearer YOUR_API_KEY"
{
"data": [
{
"id": "amex-gold",
"name": "American Express Gold Card",
"issuer": "amex",
"network": "amex",
"annual_fee": 250,
"country": "US",
"url": "/v1/cards/amex-gold"
}
],
"meta": {
"total": 412,
"limit": 25,
"offset": 0
}
}/v1/cards/:idGet full details for a single credit card, including reward rates, benefits, application criteria, and signup bonus information.
idstringrequiredCard slug identifier (e.g. amex-gold, chase-sapphire-preferred)curl "https://adaptable-dream-production-2fce.up.railway.app/v1/cards/:id" \-H "Authorization: Bearer YOUR_API_KEY"
{
"data": {
"id": "amex-gold",
"name": "American Express Gold Card",
"issuer": "amex",
"network": "amex",
"annual_fee": 250,
"country": "US",
"foreign_transaction_fee": 0,
"signup_bonus": {
"amount": "60,000",
"currency": "MR points",
"spend_requirement": 6000,
"time_period_months": 6
},
"reward_rates": [
{ "category": "dining", "rate": 4, "type": "multiplier" },
{ "category": "groceries", "rate": 4, "type": "multiplier", "cap": 25000 },
{ "category": "flights", "rate": 3, "type": "multiplier" },
{ "category": "other", "rate": 1, "type": "multiplier" }
],
"benefits": [
"Dining credit: $120/year",
"Uber Cash: $120/year",
"Hotel Collection: $100 credit"
],
"credit_score_min": 700,
"is_business": false,
"updated_at": "2026-03-20T04:00:00Z"
}
}/v1/cards/bestGet the best cards for a specific spending category. Returns cards ranked by reward rate, with optional country filter.
categorystringrequiredSpending category (dining, groceries, gas, travel, etc.)countrystringCountry code: US or CAlimitintegerNumber of results (default: 10)curl "https://adaptable-dream-production-2fce.up.railway.app/v1/cards/best" \-H "Authorization: Bearer YOUR_API_KEY"
{
"data": [
{
"id": "amex-gold",
"name": "American Express Gold Card",
"rate": 4,
"type": "multiplier",
"annual_fee": 250
},
{
"id": "citi-custom-cash",
"name": "Citi Custom Cash Card",
"rate": 5,
"type": "cashback_percent",
"annual_fee": 0,
"cap": 500
}
]
}/v1/cards/:id/perksReturns companion perks for a specific card, including hotel elite status, TSA PreCheck credits, airline perks, and lounge access.
idstringrequiredCard slug identifier (e.g. amex-platinum, chase-sapphire-reserve)curl "https://adaptable-dream-production-2fce.up.railway.app/v1/cards/:id/perks" \-H "Authorization: Bearer YOUR_API_KEY"
{
"data": [
{
"name": "Global Entry / TSA PreCheck Credit",
"value": 100,
"frequency": "every 4 years",
"category": "travel"
},
{
"name": "Priority Pass Lounge Access",
"value": null,
"frequency": "unlimited",
"category": "lounge"
},
{
"name": "Marriott Bonvoy Gold Elite Status",
"value": null,
"frequency": "annual",
"category": "hotel_status"
}
]
}/v1/cards/:id/creditsReturns statement credits for a specific card, including airline fee credits, Uber Cash, streaming credits, and dining credits with amounts and periods.
idstringrequiredCard slug identifier (e.g. amex-gold, amex-platinum)curl "https://adaptable-dream-production-2fce.up.railway.app/v1/cards/:id/credits" \-H "Authorization: Bearer YOUR_API_KEY"
{
"data": [
{
"name": "Dining Credit",
"amount": 120,
"period": "annual",
"description": "$10/month at Grubhub, The Cheesecake Factory, Goldbelly, Wine.com, and Five Guys"
},
{
"name": "Uber Cash",
"amount": 120,
"period": "annual",
"description": "$10/month in Uber Cash for Uber Eats orders or Uber rides in the US"
},
{
"name": "Airline Fee Credit",
"amount": 200,
"period": "annual",
"description": "Up to $200 in statement credits per calendar year for incidental fees with one selected airline"
}
]
}Issuers
/v1/issuersList all supported card issuers with card counts.
curl "https://adaptable-dream-production-2fce.up.railway.app/v1/issuers" \-H "Authorization: Bearer YOUR_API_KEY"
{
"data": [
{
"id": "chase",
"name": "Chase",
"country": "US",
"card_count": 45,
"url": "/v1/issuers/chase"
},
{
"id": "amex",
"name": "American Express",
"country": "US",
"card_count": 38,
"url": "/v1/issuers/amex"
}
]
}/v1/issuers/:idGet details for a specific issuer, including all their cards.
idstringrequiredIssuer slug (e.g. chase, amex, capital-one)curl "https://adaptable-dream-production-2fce.up.railway.app/v1/issuers/:id" \-H "Authorization: Bearer YOUR_API_KEY"
{
"data": {
"id": "chase",
"name": "Chase",
"country": "US",
"website": "https://www.chase.com",
"cards": [
{ "id": "chase-sapphire-preferred", "name": "Chase Sapphire Preferred" },
{ "id": "chase-sapphire-reserve", "name": "Chase Sapphire Reserve" },
{ "id": "chase-freedom-unlimited", "name": "Chase Freedom Unlimited" }
]
}
}Categories
/v1/categoriesList all spending categories tracked by CardAPI. Use these slugs when querying reward rates.
curl "https://adaptable-dream-production-2fce.up.railway.app/v1/categories" \-H "Authorization: Bearer YOUR_API_KEY"
{
"data": [
{ "id": "dining", "name": "Dining", "description": "Restaurants, bars, cafes" },
{ "id": "groceries", "name": "Groceries", "description": "Supermarkets, grocery stores" },
{ "id": "gas", "name": "Gas", "description": "Gas stations, EV charging" },
{ "id": "travel", "name": "Travel", "description": "Hotels, flights, car rentals" },
{ "id": "flights", "name": "Flights", "description": "Airlines, airfare" },
{ "id": "hotels", "name": "Hotels", "description": "Hotel bookings" },
{ "id": "streaming", "name": "Streaming", "description": "Netflix, Spotify, etc." },
{ "id": "online_shopping", "name": "Online Shopping", "description": "Amazon, ecommerce" },
{ "id": "transit", "name": "Transit", "description": "Trains, buses, rideshare" },
{ "id": "other", "name": "Other", "description": "All other purchases" }
]
}Transfer Partners
/v1/transfer-partnersList all loyalty program transfer partners with transfer ratios. Filter by card or program.
card_idstringFilter by card slugprogramstringFilter by loyalty program (e.g. aeroplan, hyatt)curl "https://adaptable-dream-production-2fce.up.railway.app/v1/transfer-partners" \-H "Authorization: Bearer YOUR_API_KEY"
{
"data": [
{
"from_program": "Amex Membership Rewards",
"to_program": "Aeroplan",
"ratio": "1:1",
"transfer_time": "instant",
"cards": ["amex-gold", "amex-platinum"]
},
{
"from_program": "Chase Ultimate Rewards",
"to_program": "World of Hyatt",
"ratio": "1:1",
"transfer_time": "instant",
"cards": ["chase-sapphire-preferred", "chase-sapphire-reserve"]
}
]
}Reward Valuations
/v1/reward-valuationsReturns point and mile cents-per-point (CPP) valuations for all reward currencies, including Chase Ultimate Rewards, Amex Membership Rewards, Citi ThankYou Points, and more. Useful for calculating effective earn rates across cards.
curl "https://adaptable-dream-production-2fce.up.railway.app/v1/reward-valuations" \-H "Authorization: Bearer YOUR_API_KEY"
{
"data": [
{
"currency_name": "Chase Ultimate Rewards",
"currency_code": "UR",
"cpp_cash": 1.0,
"cpp_travel_portal": 1.5,
"cpp_transfer": 2.0,
"cpp_recommended": 2.0
},
{
"currency_name": "Amex Membership Rewards",
"currency_code": "MR",
"cpp_cash": 0.6,
"cpp_travel_portal": 1.0,
"cpp_transfer": 2.0,
"cpp_recommended": 2.0
},
{
"currency_name": "Citi ThankYou Points",
"currency_code": "TYP",
"cpp_cash": 1.0,
"cpp_travel_portal": 1.0,
"cpp_transfer": 1.7,
"cpp_recommended": 1.7
}
]
}Application Rules
/v1/application-rulesList all known application rules and restrictions by issuer. Includes velocity limits, lifetime rules, and product change restrictions.
issuerstringFilter by issuer slugcurl "https://adaptable-dream-production-2fce.up.railway.app/v1/application-rules" \-H "Authorization: Bearer YOUR_API_KEY"
{
"data": [
{
"issuer": "chase",
"rule": "5/24",
"description": "Cannot be approved if you have opened 5+ new credit cards in the last 24 months (any issuer)",
"applies_to": "all personal cards"
},
{
"issuer": "amex",
"rule": "once-per-lifetime",
"description": "Signup bonus is limited to once per lifetime per card product",
"applies_to": "all cards with signup bonus"
},
{
"issuer": "citi",
"rule": "8/65",
"description": "Limited to 1 application per 8 days and 2 applications per 65 days",
"applies_to": "all cards"
}
]
}Product Changes
/v1/product-changesReturns product change paths showing which cards can be upgraded or downgraded to which other cards. Useful for understanding card retention options and avoiding annual fees. Filter by issuer to narrow results.
issuerstringFilter by issuer slug (e.g. chase, amex, citi)curl "https://adaptable-dream-production-2fce.up.railway.app/v1/product-changes" \-H "Authorization: Bearer YOUR_API_KEY"
{
"data": [
{
"from_card": "chase-sapphire-preferred",
"from_card_name": "Chase Sapphire Preferred",
"to_card": "chase-freedom-unlimited",
"to_card_name": "Chase Freedom Unlimited",
"direction": "downgrade",
"issuer": "chase",
"notes": "Can product change after 12 months of card membership"
},
{
"from_card": "chase-sapphire-preferred",
"from_card_name": "Chase Sapphire Preferred",
"to_card": "chase-sapphire-reserve",
"to_card_name": "Chase Sapphire Reserve",
"direction": "upgrade",
"issuer": "chase",
"notes": "Upgrade eligible after 12 months; no new signup bonus"
}
]
}Webhooks
/v1/webhooksCreate a webhook to receive notifications when card data changes. Enterprise plan only. Supports card.updated, card.created, and card.deleted events.
urlstringrequiredThe HTTPS URL to receive webhook eventseventsstring[]requiredEvent types: card.updated, card.created, card.deletedcurl "https://adaptable-dream-production-2fce.up.railway.app/v1/webhooks" \-H "Authorization: Bearer YOUR_API_KEY" \ \-X POST \-H "Content-Type: application/json" \-d '{}'
{
"data": {
"id": "wh_abc123",
"url": "https://your-app.com/webhooks/cardapi",
"events": ["card.updated", "card.created"],
"secret": "whsec_xxx",
"created_at": "2026-03-20T04:00:00Z"
}
}