Lyst.com APILyst.com ↗
Search Lyst fashion products by brand, price, size, and gender. Retrieve product details including sizing, sale prices, retailer info, and images via 2 endpoints.
curl -X GET 'https://api.parse.bot/scraper/3d602332-e39a-4e7b-b94e-69a16d27905c/search_products?page=1&size=L&sort=price_low_to_high&query=Alexander+McQueen+shirt&gender=men&max_price=500&min_price=10&designer_slug=mcqueen-designer' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace lyst-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: Lyst fashion search — find designer shirts, filter by price, inspect details."""
from parse_apis.lyst_com_api import Lyst, Gender, Sort, ProductNotFound
client = Lyst()
# Search for McQueen shirts under £250 for men, sorted by price
for product in client.products.search(
query="Alexander McQueen shirt",
gender=Gender.MEN,
max_price="250",
sort=Sort.PRICE_LOW_TO_HIGH,
limit=5,
):
print(product.name, product.full_price, product.designer_name)
# Drill into the first result for full details (sizes, description, images)
product = client.products.search(
query="Dries Van Noten shirt",
gender=Gender.MEN,
limit=1,
).first()
if product:
detail = product.details()
print(detail.name, detail.full_price, detail.color)
for size in detail.available_sizes:
print(f" Size {size.display_size} — in stock: {size.in_stock}")
# Typed error handling: catch a not-found when drilling into a product
try:
stale = client.products.search(query="rare vintage item", limit=1).first()
if stale:
info = stale.details()
print(info.description)
except ProductNotFound as exc:
print(f"Product gone: {exc.product_path}")
print("exercised: products.search / product.details / ProductNotFound catch")
Search for fashion products on Lyst with optional filters for price range, gender, brand, size, and sorting. Returns paginated results with product cards including pricing, designer, retailer, and availability information. Results are auto-iterated across pages. Prices are in GBP (British Pounds).
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination, starting at 1. |
| size | string | Size filter (e.g. '17', 'XL', '15.5'). Format varies by product category. |
| sort | string | Sort order for results. |
| queryrequired | string | Free-text search query for products (e.g. 'Alexander McQueen shirt', 'Dries Van Noten jacket'). |
| gender | string | Filter by gender. |
| max_price | string | Maximum price filter in GBP (e.g. '250' for items up to £250). |
| min_price | string | Minimum price filter in GBP (e.g. '50' for items from £50). |
| designer_slug | string | Filter by designer/brand slug (e.g. 'mcqueen-designer', 'maison-margiela', 'dries-van-noten'). Obtain slugs from search results or auto_suggest. |
{
"type": "object",
"fields": {
"products": "array of product cards with id, name, designer, pricing, and availability",
"total_pages": "integer",
"current_page": "integer",
"total_results": "integer"
},
"sample": {
"data": {
"products": [
{
"id": 1210373726,
"uid": "UJMAYBH",
"url": "/clothing/mcqueen-logo-tape-shirt-1/",
"name": "Logo Tape Shirt - Black",
"slug": "mcqueen-logo-tape-shirt-1",
"currency": "GBP",
"in_stock": true,
"image_url": "https://cdna.lystit.com/300/375/tr/photos/ruelala/bcc51a5e/864x1080/mcqueen-designer-Black-Logo-Tape-Shirt.jpeg",
"date_added": "2026-05-30T14:34:30.953081",
"full_price": "£445",
"sale_price": "£170",
"designer_name": "McQueen",
"designer_slug": "mcqueen-designer",
"discount_info": "(62% off)",
"retailer_name": "Gilt"
}
],
"total_pages": 90,
"current_page": 1,
"total_results": 6967
},
"status": "success"
}
}About the Lyst.com API
The Lyst API provides 2 endpoints for querying fashion products listed on Lyst.com, covering search with filters and full product detail retrieval. The search_products endpoint returns paginated product cards across brands, price ranges, and sizes, while get_product delivers per-item detail including available sizes with stock status, sale pricing, descriptions, and multi-resolution images — all priced in GBP.
Search and Filter Fashion Products
The search_products endpoint accepts a required query string and optional filters including min_price, max_price (both in GBP), gender, size, and designer_slug. Results are paginated, and the response includes total_pages, current_page, and total_results alongside an array of product cards. Each card exposes the product id, name, designer, pricing fields, and availability. The designer_slug filter accepts slugs like maison-margiela or dries-van-noten, which you can obtain from search results themselves.
Product Detail Retrieval
Once you have a product path from search results, pass it to get_product via the product_path parameter (for example, /clothing/alexander-mcqueen-shirt-1872/). The response includes full_price, sale_price (or null if not on sale), color, currency, description, canonical_url, and an images array with multiple resolution variants. The available sizes and their stock status are also returned, giving you a clear picture of what is purchasable at any given moment.
Pagination and Sorting
Search results support page and sort parameters for navigating large result sets. The API auto-iterates across pages, and the total_results field lets you estimate how many pages to traverse. Because prices are in GBP, this API is best suited for use cases targeting UK or GBP-denominated pricing data from Lyst's catalogue.
The Lyst.com API is a managed, monitored endpoint for Lyst.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when Lyst.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official Lyst.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a fashion price-tracking tool that monitors
sale_pricedrops for specific designer slugs over time. - Aggregate cross-brand size availability by querying
search_productswith asizefilter and checking stock status inget_product. - Power a gender-filtered fashion discovery feed using the
genderandqueryparameters insearch_products. - Compare
full_pricevssale_priceacross designer brands to identify discount patterns on Lyst. - Extract high-resolution product imagery via the
imagesarray inget_productfor editorial or lookbook use. - Filter luxury fashion results by price band using
min_priceandmax_priceto surface mid-range or premium items. - Map designer catalogue breadth by iterating
search_productswith adesigner_slugand readingtotal_results.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Lyst have an official developer API?+
What does `get_product` return beyond basic pricing?+
full_price and sale_price, the get_product response includes color, description, currency, a canonical_url, and an images array with multiple resolution URLs. It also returns available sizes and their individual stock status, which search result cards do not include.Are prices available in currencies other than GBP?+
Does the API return retailer names or links for where to buy a product?+
search_products endpoint includes retailer information in product cards. The get_product endpoint does not currently expose a structured list of retailer checkout URLs. You can fork this API on Parse and revise it to add a retailer-links endpoint if per-retailer redirect data is needed.How does the `designer_slug` filter work, and where do I get valid slugs?+
designer_slug parameter accepts URL-style slugs such as maison-margiela or dries-van-noten. Valid slugs appear in product card data returned by search_products, so running an initial broad query and reading the designer fields is the most reliable way to collect them before applying the filter.