# ASOS Search API Documentation

<p><strong>ASOS Search API</strong> searches ASOS by keyword or browses a category by <code>category_id</code>. Each page holds up to 72 items with id, name, brand, colour, product code, price (current, previous, RRP, currency, sale flag, discount percent and lowest price of the last 30 days), product URL, full size images, video, and flags such as selling fast and restocking soon. The answer also carries the total number of results, the pagination, and the <strong>facets</strong> with ids and counts for brand, colour, size, category and more. Send a facet id as <code>brand</code>, <code>colour</code> or <code>size</code> to filter.</p><p><strong>Filters are honoured:</strong> with <code>sale_only</code> every item has a previous price above its current price; the price range, brand, colour and size are applied by ASOS and checked in our tests. An unknown facet id returns an empty list. A page past the end returns an empty list with the correct page number. Items that appear twice are returned once.</p><p><strong>Sort:</strong> <code>relevance</code> (default), <code>price_asc</code>, <code>price_desc</code> or <code>newest</code>. ASOS ranks some stores by an internal price, so a price sort orders each page by the current price you see; ASOS can still move an item between two neighbour pages, because its ranking is live. Sets of several pieces (<code>has_multiple_prices</code> is true) are left out of price filters and price sorts, because ASOS prices and sorts them by the price of a part; <code>total_results</code> is the count ASOS reports.</p><p><strong>Categories:</strong> send a numeric <code>category_id</code> instead of <code>query</code>. Common ids: Women: dresses 8799, tops 4169, shoes 4172, coats and jackets 2641, jeans 3630, jumpers and cardigans 2637, skirts 2639, trousers and leggings 2640, hoodies and sweatshirts 11321, sportswear 26091, swimwear 2238, accessories 4174, bags and purses 8730, lingerie and nightwear 6046, sale 7046, new in 27108. Men: jeans 4208, shirts 3602, t-shirts and vests 7616, jumpers and cardigans 7617, jackets and coats 3606, shoes, boots and trainers 4209, shorts 7078, suits 5678, swimwear 13210, accessories 4210, sportswear 26090, sale 8409, new in 27110. An unknown category id returns 404.</p><p><strong>Stores:</strong> COM (UK), US, DE, FR and AU. Prices are numbers in the currency of the store. Product ids are the same across stores, but a product can be sold in one store and not in another.</p><p><strong>Credits:</strong> 1 credit per successful request. Failed requests are not billed. A valid empty result is successful and billable.</p>

- **Documentation:** [https://scrappa.co/docs/asos-api/asos_search](https://scrappa.co/docs/asos-api/asos_search)
- **API group:** ASOS API
- **Endpoint:** `GET https://scrappa.co/api/asos/search`

## Authentication

Send your Scrappa API key in the `X-API-KEY` request header. Paid endpoints also support accountless x402 payments when called without an API key.

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `query` | string | No | Search text, 2 to 100 characters. Send query or category_id, not both. |
| `category_id` | integer | No | Numeric ASOS category id, for example 8799 for women dresses. Send category_id or query. |
| `store` | string | No | Store: COM (ASOS UK, GBP, default), US (USD), DE (EUR), FR (EUR) or AU (AUD). Product ids, prices and stock are per store. |
| `page` | integer | No | Page number from 1 to 100. Each page holds up to 72 items. Default 1. |
| `sort` | string | No | relevance (default), price_asc, price_desc or newest. |
| `sale_only` | boolean | No | true to return only items with a sale price. |
| `brand` | string | No | Brand id from the facets of a search answer, for example 53 for ASOS DESIGN. One id. |
| `colour` | string | No | Colour id from the facets of a search answer, for example 4 for black. One id. |
| `size` | string | No | Size id from the facets of a search answer. One id. |
| `min_price` | number | No | Lowest current price, in the currency of the store. |
| `max_price` | number | No | Highest current price, in the currency of the store. Not below min_price. |

## Example response

```json
{
    "data": {
        "items": [
            {
                "id": 209773375,
                "url": "https://www.asos.com/asos-design/asos-design-high-neck-mini-dress-with-gathered-hardware-trim-detail-in-black/prd/209773375",
                "name": "ASOS DESIGN high neck mini dress with gathered hardware trim detail in black",
                "brand": "ASOS DESIGN",
                "price": {
                    "rrp": null,
                    "current": 8.49,
                    "currency": "GBP",
                    "previous": 34,
                    "is_on_sale": true,
                    "discount_percent": 75,
                    "lowest_price_30d": 8.49
                },
                "colour": "BLACK",
                "images": [
                    "https://images.asos-media.com/products/asos-design-high-neck-mini-dress-with-gathered-hardware-trim-detail-in-black/209773375-1-black",
                    "https://images.asos-media.com/products/asos-design-high-neck-mini-dress-with-gathered-hardware-trim-detail-in-black/209773375-2",
                    "https://images.asos-media.com/products/asos-design-high-neck-mini-dress-with-gathered-hardware-trim-detail-in-black/209773375-3",
                    "https://images.asos-media.com/products/asos-design-high-neck-mini-dress-with-gathered-hardware-trim-detail-in-black/209773375-4"
                ],
                "is_new": false,
                "video_url": "https://www.asos-video.com/video/upload/q_auto/t_legacy_product_video/209773375-catwalk",
                "is_sponsored": false,
                "product_code": "152933001",
                "product_type": "Product",
                "is_selling_fast": true,
                "is_restocking_soon": false,
                "has_multiple_prices": false,
                "has_variant_colours": false
            },
            {
                "id": 211118406,
                "url": "https://www.asos.com/princess-polly/princess-polly-celena-floral-devore-tie-back-corset-detail-maxi-dress-in-navy/prd/211118406",
                "name": "Princess Polly Celena floral devore tie back corset detail maxi dress in navy",
                "brand": "Princess Polly",
                "price": {
                    "rrp": null,
                    "current": 88,
                    "currency": "GBP",
                    "previous": null,
                    "is_on_sale": false,
                    "discount_percent": null,
                    "lowest_price_30d": null
                },
                "colour": "NAVY",
                "images": [
                    "https://images.asos-media.com/products/princess-polly-celena-floral-devore-tie-back-corset-detail-maxi-dress-in-navy/211118406-1-navy",
                    "https://images.asos-media.com/products/princess-polly-celena-floral-devore-tie-back-corset-detail-maxi-dress-in-navy/211118406-2",
                    "https://images.asos-media.com/products/princess-polly-celena-floral-devore-tie-back-corset-detail-maxi-dress-in-navy/211118406-3",
                    "https://images.asos-media.com/products/princess-polly-celena-floral-devore-tie-back-corset-detail-maxi-dress-in-navy/211118406-4"
                ],
                "is_new": false,
                "video_url": null,
                "is_sponsored": false,
                "product_code": "157996332",
                "product_type": "Product",
                "is_selling_fast": false,
                "is_restocking_soon": false,
                "has_multiple_prices": false,
                "has_variant_colours": false
            }
        ],
        "query": "dress",
        "store": "COM",
        "facets": [
            {
                "id": "range",
                "name": "Sale/New Season",
                "values": [
                    {
                        "id": "new_season",
                        "name": "New Season",
                        "count": 7949,
                        "selected": false
                    },
                    {
                        "id": "sale",
                        "name": "Sale",
                        "count": 12904,
                        "selected": false
                    }
                ]
            },
            {
                "id": "brand",
                "name": "Brand",
                "values": [
                    {
                        "id": "13511",
                        "name": "ASOS Curve",
                        "count": 333,
                        "selected": false
                    },
                    {
                        "id": "53",
                        "name": "ASOS DESIGN",
                        "count": 5465,
                        "selected": false
                    }
                ]
            },
            {
                "id": "base_colour",
                "name": "Colour",
                "values": [
                    {
                        "id": "4",
                        "name": "Black",
                        "count": 4187,
                        "selected": false
                    },
                    {
                        "id": "10",
                        "name": "Brown",
                        "count": 2649,
                        "selected": false
                    }
                ]
            },
            {
                "id": "size",
                "name": "Size",
                "values": [
                    {
                        "id": "7313",
                        "name": "3XS",
                        "count": 2,
                        "selected": false
                    },
                    {
                        "id": "4530",
                        "name": "2XS",
                        "count": 548,
                        "selected": false
                    }
                ]
            }
        ],
        "pagination": {
            "page": 1,
            "per_page": 72,
            "returned": 6,
            "total_pages": 290
        },
        "category_id": null,
        "category_name": null,
        "total_results": 20853
    },
    "meta": {
        "credits": 1,
        "billable": true,
        "endpoint_family": "search"
    },
    "success": true
}
```

## Errors

| Status | Error | Description |
| --- | --- | --- |
| 422 | Validation Error | A parameter is missing or invalid. This response is not billable. |
| 404 | Not Found | The category id does not exist. This response is not billable. |
| 503 | Upstream Unavailable | ASOS could not be reached or returned data that does not match the request. This response is not billable and is retryable. |

## More Scrappa resources

- [API documentation](https://scrappa.co/docs)
- [Full LLM-readable API reference](https://scrappa.co/llms-full.txt)
- [OpenAPI specification](https://scrappa.co/docs/api.json)
- [Pricing](https://scrappa.co/pricing)
