asos.com APIasos.com ↗
Access ASOS product search, category browsing, product details, sale items, trending products, and brand listings via a structured REST API.
curl -X GET 'https://api.parse.bot/scraper/54c0c805-9176-4dcd-b380-7bdc4a05a8ab/search_products?limit=3&query=sneakers&offset=0' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for products by keyword query. Returns a paginated list of products with metadata including facets, item count, and search diagnostics.
| Param | Type | Description |
|---|---|---|
| sort | string | Sort order: freshness, priceasc, pricedesc |
| limit | integer | Max results per page |
| queryrequired | string | Search keyword |
| offset | integer | Pagination offset |
{
"type": "object",
"fields": {
"facets": "array of facet groups for filtering (brand, price range, gender, etc.)",
"products": "array of product objects with id, name, price, brandName, url, imageUrl",
"itemCount": "integer, total number of matching products",
"searchTerm": "string, the query that was searched"
},
"sample": {
"data": {
"facets": [
{
"id": "range",
"name": "Sale/New Season",
"facetValues": [
{
"id": "new_season",
"name": "New Season",
"count": 5720
}
]
}
],
"products": [
{
"id": 209230568,
"url": "nike/nike-air-max-moto-2k-sneakers-in-burgundy/prd/209230568#colourWayId-209230594",
"name": "Nike Air Max Moto 2k sneakers in burgundy",
"price": {
"current": {
"text": "$101.50",
"value": 101.5
},
"previous": {
"text": "$135.00",
"value": 135
},
"isMarkedDown": true
},
"imageUrl": "images.asos-media.com/products/nike-air-max-moto-2k-sneakers-in-burgundy/209230568-1-burgundy",
"brandName": "Nike"
}
],
"itemCount": 9431,
"searchTerm": "sneakers"
},
"status": "success"
}
}About the asos.com API
The ASOS API covers 10 endpoints that expose ASOS's full fashion catalog, from keyword search and category browsing to per-product stock and pricing data. The get_product_details endpoint returns four structured objects per product — search_data, stock_price, structured_data (JSON-LD), and initial_store — while search_products returns facets, item counts, and paginated results against ASOS's entire indexed inventory.
Product Search and Category Browsing
The search_products endpoint accepts a required query string and optional sort (freshness, priceasc, pricedesc), limit, and offset parameters. It returns a products array with id, name, price, brandName, url, and imageUrl per item, plus an itemCount integer and a facets array covering brand, price range, gender, and other filter dimensions. The get_category_products endpoint works similarly but takes a category_id instead — for example, 4209 for shoes or 7046 for women's sale — and supports an additional refine parameter for applying facet filters within a category.
Product Details and Recommendations
get_product_details accepts either a numeric product_id or a full product_url and returns four objects. structured_data contains a JSON-LD Product schema with name, brand, description, offers, and sku. stock_price reflects real-time availability and pricing per variant. search_data gives listing-level fields like colour and brandName. get_product_similar takes a product_id and returns a recommendations array with id, name, price, brandName, and imageUrl for related items.
Catalog Navigation and Discovery
get_women_categories and get_men_categories return full hierarchical navigation trees with link (including linkType and webUrl), content (title and image URLs), and nested children arrays. These trees mirror the category structure used in get_category_products. get_brands_list pulls from search facets and returns brand id, name, and count (number of products per brand) across the full catalog.
Sale, Trending, and New Arrivals
get_sale_products defaults to category IDs 7046 (women) and 8409 (men) and accepts a gender filter or a custom category_id override. get_trending_products defaults to category 51137 (Selling Fast). get_new_arrivals defaults to 2623 for women and 27110 for men. All three return the standard products array with sale pricing where applicable, an itemCount, and a categoryName string.
- Build a price comparison tool that queries
search_productsby keyword and sorts results bypriceascorpricedesc. - Monitor stock and pricing changes for specific products using
get_product_detailswith aproduct_id. - Populate a fashion discovery feed with
get_new_arrivalsfiltered by gender. - Track sale inventory across men's and women's sections using
get_sale_productswith thegenderparameter. - Build a brand directory by calling
get_brands_listto retrieve brand names and product counts. - Power a 'You Might Also Like' widget using
get_product_similarrecommendations. - Construct a category navigation UI from the hierarchical trees returned by
get_women_categoriesandget_men_categories.
| 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 | 250 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 ASOS have an official developer API?+
What does `get_product_details` return beyond basic listing fields?+
get_product_details returns four objects: search_data (listing fields like name, price, colour, brandName), stock_price (real-time per-variant availability and pricing), structured_data (a JSON-LD Product schema including offers, sku, description, and brand), and initial_store (site navigation configuration). You can supply either a numeric product_id or a full product URL.Does the API return customer reviews or ratings for products?+
How does pagination work for search and category endpoints?+
search_products and get_category_products accept limit (max results per page) and offset (starting position) parameters. The response includes an itemCount integer representing the total number of matching results, which you can use to calculate how many pages exist for a given query.Can I filter category results beyond the basic sort order?+
get_category_products supports a refine parameter for applying facet-based filters within a category, in addition to sort. Available facets — such as brand, price range, and gender — are also returned in the facets array of each response, giving you the filter values valid for that category. Search-level refinements are available through the facets returned by search_products, but the refine parameter is specific to category browsing.