Everything you need to integrate the Offer.love Credit Card Offers API.
https://data.offer.love/v1
Append your API key to the URL — works with any client:
curl "https://data.offer.love/v1/search?q=amazon&key=YOUR_API_KEY"
Also supports x-api-key header, Authorization: Bearer, and OAuth 2.0.
No key? Anonymous requests get 100 free calls/day with basic fields.
Get a Free API Key
usr_)💡 Using an AI assistant? Access offers via our MCP server with the same API key — no code needed.
List endpoints return:
{
"total": 4, // number of results returned
"per_page": 10, // max results per request (tier-based)
"results": [...] // array of offer objects
}If total equals per_page, there may be more results. No pagination — upgrade tier for higher limits.
{
"offerId": "19cdd43e-...", // unique offer identifier
"domainSld": "walmart", // merchant slug
"merchantName": "Walmart", // display name
"title": "Earn 4% Back...", // offer headline
"details": "Terms apply...", // full terms (keyed users only)
"bank": "Amex", // issuing bank
"imgSrc": "https://...", // merchant logo URL
"addedAt": "2026-03-01", // date offer was added
"expiresAt": "2026-06-01" // expiration date
}/v1/search?q={query}FreeSearch by merchant name, bank, or keyword. Min 2 characters.
| Param | Type | Description | Example |
|---|---|---|---|
q | string | Search query (min 2 chars) | walmart |
{
"total": 4,
"per_page": 10,
"results": [
{
"offerId": "19cdd43e-...",
"domainSld": "walmart",
"merchantName": "Walmart",
"title": "Earn 4% Back on any purchase.",
"bank": "Amex",
"imgSrc": "https://assets.offer.love/logo/walmart.png",
"addedAt": "2026-03-01",
"expiresAt": "2026-06-15"
}
]
}/v1/merchants/{slug}FreeGet all active offers from a specific merchant.
| Param | Type | Description | Example |
|---|---|---|---|
slug | string | Merchant slug (use /v1/search to find slugs) | walmart |
{
"total": 4,
"per_page": 10,
"results": [ ... ]
}/v1/banks/{name}FreeGet all active offers from a specific bank. Case-insensitive.
| Param | Type | Description | Example |
|---|---|---|---|
name | string | Bank name (Amex, Chase, Citi, Paypal, US Bank, BoA, Wells Fargo) | Wells Fargo |
{
"total": 10,
"per_page": 10,
"results": [ ... ]
}/v1/offers/{id}FreeGet a specific offer by its ID.
| Param | Type | Description | Example |
|---|---|---|---|
id | string | Offer ID (from search/list results) | 19cdd43e-ae4c-... |
{
"offerId": "19cdd43e-...",
"domainSld": "walmart",
"merchantName": "Walmart",
"title": "Earn 4% Back on any purchase.",
"bank": "Amex",
"imgSrc": "https://...",
"addedAt": "2026-03-01",
"expiresAt": "2026-06-15"
}/v1/statsFreeOverall statistics for active offers.
{
"total": 5628, // active offers
"merchants": 2796, // unique merchants
"banks": 7 // issuing banks
}/v1/banksFreeAll banks with their active offer counts.
[
{ "bank": "Chase", "count": 2226 },
{ "bank": "BoA", "count": 1335 },
{ "bank": "Amex", "count": 745 },
{ "bank": "Citi", "count": 574 },
{ "bank": "US Bank", "count": 568 },
{ "bank": "Wells Fargo", "count": 95 },
{ "bank": "Paypal", "count": 34 }
]/v1/trendingKeyMost viewed merchants by page views.
{
"total": 20,
"per_page": 20,
"results": [
{
"domainSld": "amazon",
"views": 1523,
"merchantName": "Amazon",
"offerCount": 12,
"bank": "Amex",
"imgSrc": "https://..."
}
]
}/v1/expiringKeyOffers expiring within 7 days, sorted by expiration date.
{
"total": 50,
"per_page": 50,
"results": [
{
"offerId": "...",
"title": "Last chance: 5% back",
"expiresAt": "2026-03-10",
...
}
]
}/v1/recentKeyMost recently added offers.
{
"total": 50,
"per_page": 50,
"results": [
{
"offerId": "...",
"title": "New: 3x points at...",
"addedAt": "2026-03-08",
...
}
]
}/v1/my-offers?q=FreeSearch your own credit card offers synced from the browser extension. Requires API key linked to your offer.love account.
| Param | Type | Description | Example |
|---|---|---|---|
q | string | Search query (min 2 chars) | undefined |
{
"total": 3,
"results": [
{
"merchant": "starbucks",
"title": "Earn 5% back at Starbucks",
"bank": "Chase",
"details": "...",
"expiresAt": "2026-04-15",
"cardNumber": "...1234"
}
]
}| Feature | Anonymous | Free Key | Pro | Enterprise |
|---|---|---|---|---|
| Rate limit | 100/day | 100/day | 10K/day | Unlimited |
| Search, list by bank/merchant | ✓ | ✓ | ✓ | ✓ |
| Stats & bank list | ✓ | ✓ | ✓ | ✓ |
| Offer details/terms | ✗ | ✓ | ✓ | ✓ |
| Results per request | 10 | 10 | 50 | 50 |
| Trending, expiring, recent | ✗ | ✓ | ✓ | ✓ |
| Search personal offers | ✗ | ✓ | ✓ | ✓ |
| MCP server access | ✓ | ✓ | ✓ | ✓ |
| Code | Meaning | Response |
|---|---|---|
401 | Invalid API key | {"error":"Invalid API key"} |
403 | Tier restriction | {"error":"Pro tier required"} |
404 | Not found | {"error":"Offer not found"} |
429 | Rate limit exceeded | {"error":"Rate limit exceeded..."} |
const res = await fetch("https://data.offer.love/v1/search?q=starbucks&key=YOUR_KEY") const { total, results } = await res.json() console.log(`Found ${total} offers`) results.forEach(o => console.log(o.merchantName, "-", o.title))
import requests r = requests.get("https://data.offer.love/v1/search", params={"q": "starbucks", "key": "YOUR_KEY"}) data = r.json() print(f"Found {data['total']} offers") for o in data["results"]: print(f"{o['merchantName']} - {o['title']}")
curl "https://data.offer.love/v1/search?q=starbucks&key=YOUR_KEY"

META MUSE · INVITE FRIENDS
Join Meta Muse, then redeem our invite code in Settings within 48 hours of joining. You’ll receive 1 billion Muse tokens—and so will Offer.love.
Referral code. Offer.love receives the same 1 billion Muse tokens when redeemed. Muse terms and eligibility apply.
ADVERTISE ON OFFER.LOVE
Put your brand in front of people actively searching for rewards, savings, and merchant deals.
DESKTOP AD SPOTS · MOBILE IN-FLOW · TOP BANNER