E-commerce & Marketplaces

ASOS API scraper API

The ASOS API returns fashion product data from ASOS as clean JSON.

11 actionsLive JSON1,000 free creditsMCP-ready
Get a free keyOpen in playground

🤖 Using an AI assistant? Copy this link into ChatGPT / Claude / Cursor — it reads every endpoint and parameter instantly and tells you if this API fits your use case.

The primary search endpoint returns products with id, name, price, brand, colour, images, stock and colour variants, plus facets for brands, colours, sizes and price, and you can browse a category, sale and new-in, pull a product, its reviews and similar items, and the navigation and filters. It is built for fashion-price monitoring, catalog enrichment and retail analytics that need ASOS data without a scraper. One ReefAPI key, one shared credit pool, the standard envelope.

Live example

Real request and response JSON

Captured from the indexed primary action, search, on .

Captured request
{
  "method": "POST",
  "url": "https://api.reefapi.com/asos/v1/search",
  "headers": {
    "x-api-key": "$REEF_KEY",
    "content-type": "application/json"
  },
  "body": {
    "query": "dress"
  }
}
Captured response
{
  "ok": true,
  "meta": {
    "api": "asos",
    "endpoint": "search",
    "mode": "live",
    "latency_ms": 1324,
    "record_count": 48,
    "bytes": 0,
    "cache_hit": false,
    "completeness_pct": 100,
    "method": "internal_json_api",
    "store": "COM",
    "currency": "GBP",
    "total": 22080,
    "offset": 0,
    "limit": 48,
    "has_more": true,
    "next_offset": 48
  },
  "data": {
    "products": [
      {
        "id": 210882523,
        "name": "[redacted-name]",
        "brand": "Bershka",
        "colour": "Brown",
        "colour_way_id": 210882524,
        "product_code": 157114835,
        "price": {
          "current_value": 22.99,
          "current_text": "£22.99",
          "previous_value": 29.99,
          "previous_text": "£29.99",
          "rrp_value": null,
          "rrp_text": "",
          "currency": "GBP",
          "is_marked_down": true,
          "is_outlet_price": false
        },
        "images": [
          "https://images.asos-media.com/images.asos-media.com/products/bershka-bandeau-mini-dress-in-brown/[redacted-phone]-brown",
          "https://images.asos-media.com/images.asos-media.com/products/bershka-bandeau-mini-dress-in-brown/[redacted-phone]",
          "https://images.asos-media.com/images.asos-media.com/products/bershka-bandeau-mini-dress-in-brown/[redacted-phone]"
        ],
        "url": "https://www.asos.com/bershka/bershka-bandeau-mini-dress-in-brown/prd/[redacted-phone]#colourWayId-[redacted-phone]",
        "in_stock": true,
        "is_selling_fast": true,
        "has_variant_colours": false,
        "colour_variant_product_ids": [
          210882498,
          210882523
        ],
        "video_url": null
      },
      {
        "id": 210791038,
        "name": "[redacted-name]",
        "brand": "Bershka",
        "colour": "YELLOW",
        "colour_way_id": 210791039,
        "product_code": 156679606,
        "price": {
          "current_value": 27.99,
          "current_text": "£27.99",
          "previous_value": null,
          "previous_text": "",
          "rrp_value": null,
          "rrp_text": "",
          "currency": "GBP",
          "is_marked_down": false,
          "is_outlet_price": false
        },
        "images": [
          "https://images.asos-media.com/images.asos-media.com/products/bershka-halter-midi-dress-with-linen-in-yellow/[redacted-phone]-yellow",
          "https://images.asos-media.com/images.asos-media.com/products/bershka-halter-midi-dress-with-linen-in-yellow/[redacted-phone]",
          "https://images.asos-media.com/images.asos-media.com/products/bershka-halter-midi-dress-with-linen-in-yellow/[redacted-phone]"
        ],
        "url": "https://www.asos.com/bershka/bershka-halter-midi-dress-with-linen-in-yellow/prd/[redacted-phone]#colourWayId-[redacted-phone]",
        "in_stock": true,
        "is_selling_fast": true,
        "has_variant_colours": false,
        "colour_variant_product_ids": [
          210790975,
          210791038,
          211330738
        ],
        "video_url": null
      },
      {
        "id": 210987260,
        "name": "[redacted-name]",
        "brand": "ASOS DESIGN",
        "colour": "MONO SPOT",
        "colour_way_id": 210987262,
        "product_code": 157508553,
        "price": {
          "current_value": 36,
          "current_text": "£36.00",
          "previous_value": null,
          "previous_text": "",
          "rrp_value": null,
          "rrp_text": "",
          "currency": "GBP",
          "is_marked_down": false,
          "is_outlet_price": false
        },
        "images": [
          "https://images.asos-media.com/images.asos-media.com/products/asos-design-cut-out-detail-midaxi-dress-in-mono-polka-dot/[redacted-phone]-monospot",
          "https://images.asos-media.com/images.asos-media.com/products/asos-design-cut-out-detail-midaxi-dress-in-mono-polka-dot/[redacted-phone]",
          "https://images.asos-media.com/images.asos-media.com/products/asos-design-cut-out-detail-midaxi-dress-in-mono-polka-dot/[redacted-phone]"
        ],
        "url": "https://www.asos.com/asos-design/asos-design-cut-out-detail-midaxi-dress-in-mono-polka-dot/prd/[redacted-phone]#colourWayId-[redacted-phone]",
        "in_stock": true,
        "is_selling_fast": true,
        "has_variant_colours": false,
        "colour_variant_product_ids": [
          210197533,
          210197535,
          210530514
        ],
        "video_url": "www.asos-video.com/video/upload/q_auto/t_legacy_product_video/[redacted-phone]-catwalk"
      }
    ],
    "facets": [
      {
        "id": "range",
        "name": "[redacted-name]",
        "type": "TextMultiSelect",
        "values": [
          {
            "id": "[trimmed-depth]",
            "name": "[trimmed-depth]",
            "count": "[trimmed-depth]",
            "is_selected": "[trimmed-depth]"
          },
          {
            "id": "[trimmed-depth]",
            "name": "[trimmed-depth]",
            "count": "[trimmed-depth]",
            "is_selected": "[trimmed-depth]"
          }
        ]
      },
      {
        "id": "freshness_band",
        "name": "[redacted-name]",
        "type": "TextMultiSelect",
        "values": [
          {
            "id": "[trimmed-depth]",
            "name": "[trimmed-depth]",
            "count": "[trimmed-depth]",
            "is_selected": "[trimmed-depth]"
          },
          {
            "id": "[trimmed-depth]",
            "name": "[trimmed-depth]",
            "count": "[trimmed-depth]",
            "is_selected": "[trimmed-depth]"
          },
          {
            "id": "[trimmed-depth]",
            "name": "[trimmed-depth]",
            "count": "[trimmed-depth]",
            "is_selected": "[trimmed-depth]"
          }
        ]
      },
      {
        "id": "floor",
        "name": "Gender",
        "type": "TextMultiSelect",
        "values": [
          {
            "id": "[trimmed-depth]",
            "name": "[trimmed-depth]",
            "count": "[trimmed-depth]",
            "is_selected": "[trimmed-depth]"
          },
          {
            "id": "[trimmed-depth]",
            "name": "[trimmed-depth]",
            "count": "[trimmed-depth]",
            "is_selected": "[trimmed-depth]"
          },
          {
            "id": "[trimmed-depth]",
            "name": "[trimmed-depth]",
            "count": "[trimmed-depth]",
            "is_selected": "[trimmed-depth]"
          }
        ]
      }
    ],
    "search_term": "dress",
    "category_name": null,
    "total": 22080,
    "offset": 0,
    "limit": 48,
    "has_more": true,
    "next_offset": 48
  }
}
Actions

What the ASOS API scraper API does

ActionDescriptionConcrete use caseKey params
searchKeyword product search across the ASOS catalogue with filters (price, brand, colour, size, product type, sale, new-in, discount), sorting and offset/limit pagination.Pricing teams call search to get keyword product search across the ASOS catalogue with filters (price, brand, colour, size, pr….query, store, lang, currency, country, ...
categoryBrowse all products in a category by category_id, with the same filters, sorting and pagination as search. Get category ids from the 'navigation' action.Marketplace operators call category to get browse all products in a category by category_id, with the same filters, sorting and paginati….category_id, store, lang, currency, country, ...
saleOn-sale / marked-down products only. Provide a keyword (query) or a category_id; supports the same filters, sort and pagination as search.Catalog enrichment teams call sale to get on-sale / marked-down products only.query, category_id, store, lang, currency, ...
new_inNewest arrivals — freshness-sorted products, optionally limited to a recent window (today / last 7 / 14 / 28 days). Provide a keyword (query) or a category_id.Retail analysts call new_in to get newest arrivals.query, category_id, store, lang, currency, ...
productfull product detail (sizes/stock/description/images) by product_id or product_urlPricing teams call product to get full product detail (sizes/stock/description/images) by product_id or product_url.product_id, product_url, store
productsbatch product detail for comma-separated product_idsMarketplace operators call products to get batch product detail for comma-separated product_ids.product_ids, store
navigationcategory links from gender landing pages; format=tree returns nested path hierarchyCatalog enrichment teams call navigation to get category links from gender landing pages; format=tree.gender, store, format
reviewsproduct reviews + rating summary from PDP embedded ratings blob (paginated)Retail analysts call reviews to get product reviews + rating summary from PDP embedded ratings blob (paginated).product_id, product_url, offset, limit
similarrelated products via same-brand search fallback (true mightLike API is account-gated)Pricing teams call similar to get related products via same-brand search fallback (true mightLike API is account-gated).product_id, product_url, limit, store
filtersavailable search/category facets (brands, colours, sizes, price ranges)Marketplace operators call filters to get available search/category facets (brands, colours, sizes, price ranges).query, category_id, store, lang, currency, ...
suggestionssearch autocomplete suggestions for partial queryCatalog enrichment teams call suggestions to search autocomplete suggestions for partial query.query, store, lang, currency, country
Code samples

Call search from your stack

curl -X POST https://api.reefapi.com/asos/v1/search \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"query":"dress"}'
MCP one-liner
Ask your MCP-connected assistant: call reefapi.asos.search with {"query":"dress"}.
Use cases

Who uses this API and why

  • Fashion-pricing tools call search and sale to track ASOS prices and markdowns by brand.
  • Catalog-enrichment products use product to fill listings with images, colours and variants.
  • Retail analysts use new_in and facets to spot trending brands and categories.
FAQ

Questions developers ask before integrating

What is the ASOS API scraper API?

ASOS API scraper API is a ReefAPI endpoint group for asos api scraper It returns live JSON through POST requests under /asos/v1.

Is the ASOS API scraper API free to try?

Yes. ReefAPI starts with 1,000 free credits, no card required. ASOS API scraper calls use the same shared credit balance as every other ReefAPI engine.

Do I need a ASOS API scraper login or account?

No login to ASOS API scraper is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.

How fresh is the ASOS API scraper data?

The page example is captured from a live search call, and production requests fetch live data through ReefAPI rather than a static sample.

How many credits does the ASOS API scraper API use?

ASOS API scraper actions currently cost 1 credit per successful call. Failed or blocked calls are free, and all APIs draw from one credit pool.

Can I call ASOS API scraper from an AI assistant or MCP client?

Yes. Connect ReefAPI once through MCP and your assistant can call asos actions with the same key, credit pool and JSON envelope used by normal REST requests.

Is the ASOS API scraper API a ASOS API scraper scraper?

It is the managed alternative to a DIY ASOS API scraper scraper. Instead of building and maintaining your own scraper — proxies, headless browsers, captcha and constant breakage — you call one ReefAPI endpoint and get the same asos api scraper back as clean JSON.

Why does my ASOS API scraper scraper keep getting blocked?

Most ASOS API scraper scrapers break on anti-bot defenses, rate limits and IP bans that need rotating residential proxies and browser fingerprinting to clear. ReefAPI handles all of that for you — no proxies, no captchas, no maintenance — and returns live JSON. Blocked or failed calls are free.

docs / asos

ASOS API scraper

ASOS API scraper

base /asos/v111 endpoints
post/asos/v1/category1 credit

Browse all products in a category by category_id, with the same filters, sorting and pagination as search. Get category ids from the 'navigation' action.

ParameterAllowed / rangeDescription
category_idrequiredASOS category id (the cid in a category URL; see navigation).
store = COMoptionalCOM · GB · US · DE · FR · ROWASOS market/store — sets default language, currency and ship-to country.
langoptionalOverride the store's locale (advanced), e.g. en-GB, de-DE.
currencyoptionalOverride the store's currency (advanced), e.g. USD, EUR.
countryoptionalOverride ship-to country code (advanced), e.g. GB, US.
offset = 0optional0–Pagination offset (skip N). Page forward with meta.next_offset.
limit = 48optional1–200Results per page (1-200, default 48); clamped to 200.
sortoptionalfreshness · pricedesc · priceascSort order. Omit for relevance (default). Only these keys are valid.
min_priceoptionalMinimum price filter (in the store's currency).
max_priceoptionalMaximum price filter (in the store's currency).
brandoptionalFilter by brand — name (e.g. 'Nike', 'ASOS DESIGN') or facet id. Names are auto-resolved to ids; call the 'filters' action to list options.
colouroptionalFilter by colour — name (e.g. 'Black', 'Blue', 'Multi') or facet id.
sizeoptionalFilter by size — label (e.g. 'M', 'UK 10', 'XS') or facet id.
product_typeoptionalFilter by product type facet id (e.g. 8416=Dresses); see 'filters'.
on_saleoptionalsale · new_seasonLimit to marked-down items only.
new_in_withinoptionaltoday · yesterday · 7d · 14d · 28dLimit to items added within this window (the site's 'New in' filter).
discountoptional20 · 30 · 40 · 50 · 60 · 60+Minimum discount tier for marked-down items.
channeloptionalClient channel (advanced).
Try in playground →
post/asos/v1/sale1 credit

On-sale / marked-down products only. Provide a keyword (query) or a category_id; supports the same filters, sort and pagination as search.

ParameterAllowed / rangeDescription
queryoptionalKeyword to find sale items for (sale needs query OR category_id).
category_idoptionalCategory id to browse on sale (alternative to query).
store = COMoptionalCOM · GB · US · DE · FR · ROWASOS market/store — sets default language, currency and ship-to country.
langoptionalOverride the store's locale (advanced), e.g. en-GB, de-DE.
currencyoptionalOverride the store's currency (advanced), e.g. USD, EUR.
countryoptionalOverride ship-to country code (advanced), e.g. GB, US.
offset = 0optional0–Pagination offset (skip N). Page forward with meta.next_offset.
limit = 48optional1–200Results per page (1-200, default 48); clamped to 200.
sortoptionalfreshness · pricedesc · priceascSort order. Omit for relevance (default). Only these keys are valid.
min_priceoptionalMinimum price filter (in the store's currency).
max_priceoptionalMaximum price filter (in the store's currency).
brandoptionalFilter by brand — name (e.g. 'Nike', 'ASOS DESIGN') or facet id. Names are auto-resolved to ids; call the 'filters' action to list options.
colouroptionalFilter by colour — name (e.g. 'Black', 'Blue', 'Multi') or facet id.
sizeoptionalFilter by size — label (e.g. 'M', 'UK 10', 'XS') or facet id.
product_typeoptionalFilter by product type facet id (e.g. 8416=Dresses); see 'filters'.
on_saleoptionalsale · new_seasonLimit to marked-down items only.
new_in_withinoptionaltoday · yesterday · 7d · 14d · 28dLimit to items added within this window (the site's 'New in' filter).
discountoptional20 · 30 · 40 · 50 · 60 · 60+Minimum discount tier for marked-down items.
Try in playground →
post/asos/v1/new_in1 credit

Newest arrivals — freshness-sorted products, optionally limited to a recent window (today / last 7 / 14 / 28 days). Provide a keyword (query) or a category_id.

ParameterAllowed / rangeDescription
queryoptionalKeyword for new arrivals (new_in needs query OR category_id).
category_idoptionalCategory id for new arrivals (e.g. 27108 = women's New In).
store = COMoptionalCOM · GB · US · DE · FR · ROWASOS market/store — sets default language, currency and ship-to country.
langoptionalOverride the store's locale (advanced), e.g. en-GB, de-DE.
currencyoptionalOverride the store's currency (advanced), e.g. USD, EUR.
countryoptionalOverride ship-to country code (advanced), e.g. GB, US.
offset = 0optional0–Pagination offset (skip N). Page forward with meta.next_offset.
limit = 48optional1–200Results per page (1-200, default 48); clamped to 200.
sortoptionalfreshness · pricedesc · priceascSort order. Omit for relevance (default). Only these keys are valid.
min_priceoptionalMinimum price filter (in the store's currency).
max_priceoptionalMaximum price filter (in the store's currency).
brandoptionalFilter by brand — name (e.g. 'Nike', 'ASOS DESIGN') or facet id. Names are auto-resolved to ids; call the 'filters' action to list options.
colouroptionalFilter by colour — name (e.g. 'Black', 'Blue', 'Multi') or facet id.
sizeoptionalFilter by size — label (e.g. 'M', 'UK 10', 'XS') or facet id.
product_typeoptionalFilter by product type facet id (e.g. 8416=Dresses); see 'filters'.
on_saleoptionalsale · new_seasonLimit to marked-down items only.
new_in_withinoptionaltoday · yesterday · 7d · 14d · 28dLimit to items added within this window (the site's 'New in' filter).
discountoptional20 · 30 · 40 · 50 · 60 · 60+Minimum discount tier for marked-down items.
Try in playground →
post/asos/v1/product1 credit

full product detail (sizes/stock/description/images) by product_id or product_url

ParameterAllowed / rangeDescription
product_idoptionalASOS product id. (product needs product_id OR product_url.)
product_urloptionalFull ASOS product URL (alternative to product_id).
store = COMoptionalCOM · GB · US · DE · FR · ROWASOS market/store — sets default language, currency and ship-to country.
Try in playground →
post/asos/v1/products1 credit

batch product detail for comma-separated product_ids

ParameterAllowed / rangeDescription
product_idsrequiredComma-separated ASOS product ids (max 20).
store = COMoptionalCOM · GB · US · DE · FR · ROWASOS market/store — sets default language, currency and ship-to country.
Try in playground →
post/asos/v1/navigation1 credit

category links from gender landing pages; format=tree returns nested path hierarchy

ParameterAllowed / rangeDescription
genderoptionalwomen · menWhich landing page to read categories from.
store = COMoptionalCOM · GB · US · DE · FR · ROWASOS market/store — sets default language, currency and ship-to country.
formatoptionalflat · treeOutput shape.
Try in playground →
post/asos/v1/reviews1 credit

product reviews + rating summary from PDP embedded ratings blob (paginated)

ParameterAllowed / rangeDescription
product_idoptionalASOS product id. (reviews needs product_id OR product_url.)
product_urloptionalFull ASOS product URL (alternative to product_id).
offset = 0optional0–Pagination offset (skip N). Page forward with meta.next_offset.
limit = 10optional1–50Reviews per page (1-50, default 10).
Try in playground →
post/asos/v1/similar1 credit

related products via same-brand search fallback (true mightLike API is account-gated)

ParameterAllowed / rangeDescription
product_idoptionalASOS product id. (similar needs product_id OR product_url.)
product_urloptionalFull ASOS product URL (alternative to product_id).
limit = 12optional1–200Max similar products (1-200, default 12).
store = COMoptionalCOM · GB · US · DE · FR · ROWASOS market/store — sets default language, currency and ship-to country.
Try in playground →
post/asos/v1/filters1 credit

available search/category facets (brands, colours, sizes, price ranges)

ParameterAllowed / rangeDescription
queryoptionalKeyword to get facets for. (filters needs query OR category_id.)
category_idoptionalCategory id to get facets for (alternative to query).
store = COMoptionalCOM · GB · US · DE · FR · ROWASOS market/store — sets default language, currency and ship-to country.
langoptionalOverride the store's locale (advanced), e.g. en-GB, de-DE.
currencyoptionalOverride the store's currency (advanced), e.g. USD, EUR.
countryoptionalOverride ship-to country code (advanced), e.g. GB, US.
Try in playground →
post/asos/v1/suggestions1 credit

search autocomplete suggestions for partial query

ParameterAllowed / rangeDescription
queryrequiredPartial search text to autocomplete.
store = COMoptionalCOM · GB · US · DE · FR · ROWASOS market/store — sets default language, currency and ship-to country.
langoptionalOverride the store's locale (advanced), e.g. en-GB, de-DE.
currencyoptionalOverride the store's currency (advanced), e.g. USD, EUR.
countryoptionalOverride ship-to country code (advanced), e.g. GB, US.
Try in playground →