REST API · v1

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_here

API 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.

PlanRequests / minuteNotes
Free100Shared quota across all keys
Pro1,000Per-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

GET/me— Get current user profile

Returns the authenticated user's profile including plan information.

Response 200

{
  "id": "a1b2c3d4-...",
  "email": "you@example.com",
  "name": "Jane Smith",
  "username": "janesmith",
  "plan": "PRO"
}
GET/wishlists— List wishlists

Returns a paginated list of the authenticated user's wishlists.

ParameterTypeDefaultDescription
pageinteger1Page number
limitinteger20Results 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
}
POST/wishlists— Create a wishlist

Creates 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 }
  }
}
GET/wishlists/{id}/items— List items in a wishlist

Returns 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"
    }
  ]
}
POST/wishlists/{id}/items— Add item to wishlist

Adds 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.