Static JSON files. No auth. No rate limits. No signup. 981 MCC endpoints + 1,540 merchant endpoints.
curl "https://www.pointspick.com/api/mcc/5411.json"
| Method | URL | Description |
|---|---|---|
GET | https://www.pointspick.com/api/mcc/{code}.json | MCC details + top 5 bonus cards |
GET | https://www.pointspick.com/api/merchant/{slug}.json | Merchant MCC code + top card |
GET | https://www.pointspick.com/api/search.json | Unified search index (all MCCs + merchants) |
/api/mcc/5411.json{
"code": "5411",
"description": "Grocery Stores - Supermarkets",
"category_group": "grocery",
"merchant_count": 42,
"top_cards": [
{"slug": "blue-cash-preferred", "name": "Amex Blue Cash Preferred",
"bonus_rate": 6.0, "issuer": "American Express"}
],
"pointspick_url": "https://www.pointspick.com/mcc/5411",
"last_updated": "2026-03-07"
}
/api/merchant/starbucks.json{
"slug": "starbucks",
"name": "Starbucks",
"mcc_code": "5814",
"mcc_description": "Fast Food Restaurants",
"category_group": "dining",
"top_card": {"slug": "sapphire-preferred", "name": "Chase Sapphire Preferred", "rate": 3.0},
"pointspick_url": "https://www.pointspick.com/merchant/starbucks",
"last_updated": "2026-03-07"
}
const res = await fetch("https://www.pointspick.com/api/mcc/5814.json");
const data = await res.json();
console.log(data.top_cards[0].name); // top card for restaurants
curl "https://www.pointspick.com/api/merchant/starbucks.json"
curl "https://www.pointspick.com/api/search.json" | jq '.[] | select(.type == "mcc")'
Access-Control-Allow-Origin: *last_updated field for freshness.