Build with WishlistCart
Integrate wishlists into your apps with our simple REST API. Authenticated, JSON-based, and designed for developers.
Quick start
Make your first API call in seconds. All endpoints return JSON.
cURL
curl https://wishlistcart.com/api/v1/me \
-H "Authorization: Bearer wlc_your_api_key_here"JavaScript / Node.js
const response = await fetch('https://wishlistcart.com/api/v1/me', {
headers: {
Authorization: 'Bearer wlc_your_api_key_here',
},
})
const user = await response.json()
console.log(user)Python
import requests
response = requests.get(
'https://wishlistcart.com/api/v1/me',
headers={'Authorization': 'Bearer wlc_your_api_key_here'}
)
user = response.json()
print(user)Authentication
Every request must include your API key in the Authorization header using the Bearer scheme:
Authorization: Bearer wlc_your_api_key_hereAPI keys start with the wlc_ prefix. Keep them secret — never expose them in client-side code or version control.
You can generate and manage API keys from your dashboard API keys page.
Rate limits
Rate limits are applied per API key. Exceeding the limit returns a 429 Too Many Requests response.
| Plan | Requests / minute | Notes |
|---|---|---|
| Free | 100 | Shared quota across all keys |
| Pro | 1,000 | Per-key quota, priority routing |
Rate limit headers are included in every response: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset.
Endpoints
Base URL: https://wishlistcart.com/api/v1
/me— Get current user profileReturns the authenticated user's profile including plan information.
Response 200
{
"id": "a1b2c3d4-...",
"email": "you@example.com",
"name": "Jane Smith",
"username": "janesmith",
"plan": "PRO"
}/wishlists— List wishlistsReturns a paginated list of the authenticated user's wishlists.
| Parameter | Type | Default | Description |
|---|---|---|---|
| page | integer | 1 | Page number |
| limit | integer | 20 | Results per page (max 100) |
Response 200
{
"data": [
{
"id": "d4e5f6a7-...",
"name": "Birthday Wishlist",
"description": null,
"privacy": "PUBLIC",
"slug": "birthday-wishlist",
"createdAt": "2026-01-15T12:00:00.000Z",
"_count": { "items": 12 }
}
],
"page": 1,
"limit": 20
}/wishlists— Create a wishlistCreates a new wishlist for the authenticated user.
Request body
{
"name": "My New Wishlist",
"description": "Things I want",
"privacy": "PRIVATE"
}Response 201
{
"data": {
"id": "f7g8h9i0-...",
"name": "My New Wishlist",
"description": "Things I want",
"privacy": "PRIVATE",
"slug": "my-new-wishlist",
"createdAt": "2026-03-17T09:00:00.000Z",
"_count": { "items": 0 }
}
}/wishlists/{id}/items— List items in a wishlistReturns all items in the specified wishlist. The wishlist must belong to the authenticated user.
Response 200
{
"data": [
{
"id": "j1k2l3m4-...",
"title": "Sony WH-1000XM5 Headphones",
"url": "https://www.amazon.com/dp/B09XS7JWHH",
"price": 279.99,
"currency": "USD",
"priority": 4,
"createdAt": "2026-02-10T08:30:00.000Z"
}
]
}/wishlists/{id}/items— Add item to wishlistAdds a new item to the specified wishlist. Only title is required; all other fields are optional.
Request body
{
"title": "Sony WH-1000XM5 Headphones",
"url": "https://www.amazon.com/dp/B09XS7JWHH",
"price": 279.99,
"currency": "USD",
"notes": "Black colour please",
"priority": 4
}Response 201
{
"data": {
"id": "j1k2l3m4-...",
"title": "Sony WH-1000XM5 Headphones",
"url": "https://www.amazon.com/dp/B09XS7JWHH",
"price": 279.99,
"currency": "USD",
"priority": 4,
"createdAt": "2026-03-17T09:05:00.000Z"
}
}OpenAPI spec
Download the full OpenAPI 3.0 specification to generate client SDKs in any language, import into Postman or Insomnia, or use with API documentation tools like Redoc or Swagger UI.
Use openapi-generator-cli, @openapitools/openapi-generator-cli, or any compatible tool to generate typed clients for TypeScript, Python, Go, and more.
Webhooks Coming soon
Subscribe to real-time events from WishlistCart. Configure a webhook URL in your dashboard and we'll POST a JSON payload whenever a relevant event occurs.
item.added
Fired when a new item is added to any of the user's wishlists.
gift.claimed
Fired when a gift-giver claims an item from a shared wishlist.
Example payload
{
"event": "item.added",
"timestamp": "2026-03-17T09:05:00.000Z",
"data": {
"wishlistId": "d4e5f6a7-...",
"item": {
"id": "j1k2l3m4-...",
"title": "Sony WH-1000XM5 Headphones",
"price": 279.99,
"currency": "USD"
}
}
}Zapier integration is also on the roadmap — connect WishlistCart to 5,000+ apps without writing code.
Ready to start building?
Generate your API key and make your first request in under two minutes.
No credit card required to get started.