# Fashionnova Product Search Scraper (`stealth_mode/fashionnova-product-search-scraper`) Actor

Scrape Fashion Nova's entire product catalog from search pages. Collect product details, variants, pricing, collections, swatches, and custom fields — perfect for price monitoring, trend analysis, and competitive research in fast-fashion retail.

- **URL**: https://apify.com/stealth\_mode/fashionnova-product-search-scraper.md
- **Developed by:** [Stealth mode](https://apify.com/stealth_mode) (community)
- **Categories:** Automation, Developer tools, E-commerce
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Fashion Nova Product Search Scraper: Extract Clothing Data at Scale

---

### What Is Fashion Nova?

Fashion Nova is a major fast-fashion retailer specializing in women's clothing, particularly dresses, activewear, and trend-forward styles. The brand has built a massive online presence with thousands of SKUs updated constantly. Manually tracking product changes, pricing, or inventory across categories is inefficient — the **Fashion Nova Product Search Scraper** automates collection of complete product data from search results pages in seconds.

---

### Overview

The **Fashion Nova Product Search Scraper** extracts structured product information from Fashion Nova's search and category pages. It transforms unstructured product listings into machine-readable records with 21+ data fields. Ideal for:

- **Price monitoring** — Track competitor pricing and discount trends
- **Trend researchers** — Analyze Fashion Nova's product mix and seasonal shifts
- **Retail analysts** — Study inventory depth and product strategy
- **E-commerce developers** — Feed product data into price comparison tools or aggregators
- **Fashion market researchers** — Monitor style trends and product innovation

The scraper supports bulk URL processing, configurable item limits per page, and robust error handling for seamless large-scale runs.

---

### Input Format

The scraper accepts a JSON configuration object with three core parameters:

```json
{
  "urls": [
    "https://www.fashionnova.com/collections/dresses?division=women&page=2"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 200
}
````

#### Input Parameters Explained

| Parameter | Type | Description |
|---|---|---|
| `urls` | Array | **URLs of product search or category pages** to scrape. Paste direct links to Fashion Nova collection pages, search results, or filtered category pages. Example: `/collections/dresses`, `/products/new-arrivals`, or filtered pages with query parameters. |
| `max_items_per_url` | Integer | **Maximum products collected per URL** (e.g., `20`, `200`). Controls data volume — set higher for complete category exports, lower for quick samples. Default: `20`. |
| `ignore_url_failures` | Boolean | **Continue running if some URLs fail** (`true` or `false`). Essential for bulk operations — prevents one bad URL from halting the entire scrape. Set to `true` for reliability. |

> **Pro tip:** Use pagination URLs (e.g., `?page=1`, `?page=2`) to systematically collect across large categories.

***

### Output Format

**Sample output**

```json
{
  "description": "Sonic Vroom Colorblock Stretch Denim Mini Dress - Orange/combo",
  "media": {
    "__typename": "MediaConnection",
    "edges": [
      {
        "node": {
          "__typename": "MediaImage",
          "media_content_type": "IMAGE",
          "preview_image": {
            "__typename": "Image",
            "id": "",
            "alt_text": "Sonic Vroom Colorblock Stretch Denim Mini Dress - Orange/combo",
            "url": "https://cdn.shopify.com/s/files/1/0293/9277/files/03-07-26_S1_40_DND53266_Orangecombo_ZSR_KJ_PC_12-54-34_16192_PXF.jpg?v=1773255220"
          }
        }
      },
      {
        "node": {
          "__typename": "MediaImage",
          "media_content_type": "IMAGE",
          "preview_image": {
            "__typename": "Image",
            "id": "",
            "alt_text": "Sonic Vroom Colorblock Stretch Denim Mini Dress - Orange/combo",
            "url": "https://cdn.shopify.com/s/files/1/0293/9277/files/03-09-26_S5_38_DND53266_Orangecombo_ZSR_KK_EO_15-03-42_PLUS_10284_PXF.jpg?v=1773256193"
          }
        }
      }
    ]
  },
  "available_for_sale": true,
  "published_at": "Wed Jan 21 1970 12:32:58 GMT+0000 (Coordinated Universal Time)",
  "seo": {
    "title": "Sonic Vroom Colorblock Stretch Denim Mini Dress - Orange/combo",
    "description": "\nAvailable In Orange/combo.\nDenim Mini Dress\nMock Neck\nSleeveless\nColorblock\nElastic Waist\nFront Pockets\nBack Pockets\nZip Front Closure\nStretch\nLength Measured Flat = 32\"\nDisclaimer: Due To The Specialized Wash Process, Each Garment Is Unique.\nSelf: 70% Cotton 24% Polyester 4% Viscose 2% Spandex\nContrast: 97% Cotton 3% Spandex\nImported\nAvailable In Plus Sizes\n"
  },
  "description_html": "\nAvailable In Orange/combo.\nDenim Mini Dress\nMock Neck\nSleeveless\nColorblock\nElastic Waist\nFront Pockets\nBack Pockets\nZip Front Closure\nStretch\nLength Measured Flat = 32\"\nDisclaimer: Due To The Specialized Wash Process, Each Garment Is Unique.\nSelf: 70% Cotton 24% Polyester 4% Viscose 2% Spandex\nContrast: 97% Cotton 3% Spandex\nImported\nAvailable In Plus Sizes\n",
  "metafields": [],
  "product_type": "Dresses",
  "is_gift_card": false,
  "id": "gid://shopify/Product/6545458004092",
  "title": "Sonic Vroom Colorblock Stretch Denim Mini Dress - Orange/combo",
  "handle": "sonic-vroom-colorblock-stretch-denim-mini-dress-fncolorname-orange-combo",
  "options": [
    {
      "name": "Size",
      "option_values": [
        {
          "name": "XS"
        },
        {
          "name": "S"
        },
        {
          "name": "M"
        },
        {
          "name": "L"
        },
        {
          "name": "XL"
        },
        {
          "name": "1X"
        },
        {
          "name": "2X"
        },
        {
          "name": "3X"
        }
      ]
    },
    {
      "name": "SizesInStock",
      "option_values": [
        {
          "name": "S"
        },
        {
          "name": "M"
        },
        {
          "name": "L"
        },
        {
          "name": "1X"
        },
        {
          "name": "2X"
        },
        {
          "name": "3X"
        }
      ]
    }
  ],
  "fn_style_setup": {
    "value": "{\"handle\":\"sonic-vroom-colorblock-stretch-denim-mini-dress\",\"default_handle\":\"sonic-vroom-colorblock-stretch-denim-mini-dress?color=orange-combo\",\"swatches\":[{\"color_name\":\"Orange/combo\",\"url_var\":\"orange-combo\",\"color_code\":\"#FF8C00\",\"color_swatch\":\"#FF8C00\",\"product_id\":\"6545458004092\",\"admin_handle\":\"sonic-vroom-colorblock-stretch-denim-mini-dress-fncolorname-orange-combo\",\"default\":true}]}",
    "id": ""
  },
  "swatches": {
    "value": "sonic-vroom-colorblock-stretch-denim-mini-dress-fncolorname-orange-combo:#FF8C00:261:Orange/combo",
    "id": ""
  },
  "tags": [
    "All Promo",
    "Back In Stock 2023",
    "bottom_length:Mini",
    "bottom_style:Straight Dress",
    "category:Dresses",
    "category_es:Vestidos",
    "color:Orange/combo",
    "color_fam:Orange",
    "ColorFam-Orange",
    "default_collection_id:180828100",
    "detail:Cargo & Utility",
    "detail:Pockets",
    "detail:Zip Front",
    "detail:Zipper Detail",
    "fabric:Denim",
    "fabric_es:Mezclilla",
    "neckline:Mock Neck",
    "neckline_es:Cuello Simulacro",
    "Plus",
    "print:Colorblock",
    "print_es:Estampado De Bloques De Color",
    "prop65-true",
    "REGPRICE",
    "sleeve:Sleeveless",
    "sleeve_es:Sin Mangas",
    "swatchcomplete",
    "trend:Basics",
    "trend_es:Basicos",
    "WOMENS",
    "YGroup_DND53266"
  ],
  "price_range": {
    "min_variant_price": {
      "amount": "69.99",
      "currency_code": "USD"
    },
    "max_variant_price": {
      "amount": "69.99",
      "currency_code": "USD"
    }
  },
  "variants": {
    "nodes": [
      {
        "product": {
          "handle": "sonic-vroom-colorblock-stretch-denim-mini-dress-fncolorname-orange-combo",
          "title": "Sonic Vroom Colorblock Stretch Denim Mini Dress - Orange/combo"
        },
        "id": "gid://shopify/ProductVariant/39305614819452",
        "title": "XS",
        "sku": "DND53266_Orange/combo_XS",
        "image": {
          "__typename": "Image",
          "id": "gid://Shopify/ProductImage/123",
          "alt_text": "Sonic Vroom Colorblock Stretch Denim Mini Dress - Orange/combo",
          "url": "https://cdn.shopify.com/s/files/1/0293/9277/files/03-07-26_S1_40_DND53266_Orangecombo_ZSR_KJ_PC_12-54-34_16192_PXF.jpg?v=1773255220"
        },
        "quantity_available": 0,
        "available_for_sale": false,
        "unit_price": {
          "amount": "69.99",
          "currency_code": "USD"
        },
        "compare_at_price": {
          "amount": "69.99",
          "currency_code": "USD"
        },
        "price": {
          "amount": "69.99",
          "currency_code": "USD"
        },
        "selected_options": [
          {
            "name": "Size",
            "value": "XS"
          }
        ],
        "is_inactive": false,
        "is_low_stock": false,
        "is_variant_out_of_stock": true
      },
      {
        "product": {
          "handle": "sonic-vroom-colorblock-stretch-denim-mini-dress-fncolorname-orange-combo",
          "title": "Sonic Vroom Colorblock Stretch Denim Mini Dress - Orange/combo"
        },
        "id": "gid://shopify/ProductVariant/39305615016060",
        "title": "S",
        "sku": "DND53266_Orange/combo_S",
        "image": {
          "__typename": "Image",
          "id": "gid://Shopify/ProductImage/123",
          "alt_text": "Sonic Vroom Colorblock Stretch Denim Mini Dress - Orange/combo",
          "url": "https://cdn.shopify.com/s/files/1/0293/9277/files/03-07-26_S1_40_DND53266_Orangecombo_ZSR_KJ_PC_12-54-34_16192_PXF.jpg?v=1773255220"
        },
        "quantity_available": 20,
        "available_for_sale": true,
        "unit_price": {
          "amount": "69.99",
          "currency_code": "USD"
        },
        "compare_at_price": {
          "amount": "69.99",
          "currency_code": "USD"
        },
        "price": {
          "amount": "69.99",
          "currency_code": "USD"
        },
        "selected_options": [
          {
            "name": "Size",
            "value": "S"
          }
        ],
        "is_inactive": false,
        "is_low_stock": false,
        "is_variant_out_of_stock": false
      },
      {
        "product": {
          "handle": "sonic-vroom-colorblock-stretch-denim-mini-dress-fncolorname-orange-combo",
          "title": "Sonic Vroom Colorblock Stretch Denim Mini Dress - Orange/combo"
        },
        "id": "gid://shopify/ProductVariant/39305614852220",
        "title": "M",
        "sku": "DND53266_Orange/combo_M",
        "image": {
          "__typename": "Image",
          "id": "gid://Shopify/ProductImage/123",
          "alt_text": "Sonic Vroom Colorblock Stretch Denim Mini Dress - Orange/combo",
          "url": "https://cdn.shopify.com/s/files/1/0293/9277/files/03-07-26_S1_40_DND53266_Orangecombo_ZSR_KJ_PC_12-54-34_16192_PXF.jpg?v=1773255220"
        },
        "quantity_available": 21,
        "available_for_sale": true,
        "unit_price": {
          "amount": "69.99",
          "currency_code": "USD"
        },
        "compare_at_price": {
          "amount": "69.99",
          "currency_code": "USD"
        },
        "price": {
          "amount": "69.99",
          "currency_code": "USD"
        },
        "selected_options": [
          {
            "name": "Size",
            "value": "M"
          }
        ],
        "is_inactive": false,
        "is_low_stock": false,
        "is_variant_out_of_stock": false
      },
      {
        "product": {
          "handle": "sonic-vroom-colorblock-stretch-denim-mini-dress-fncolorname-orange-combo",
          "title": "Sonic Vroom Colorblock Stretch Denim Mini Dress - Orange/combo"
        },
        "id": "gid://shopify/ProductVariant/39305614884988",
        "title": "L",
        "sku": "DND53266_Orange/combo_L",
        "image": {
          "__typename": "Image",
          "id": "gid://Shopify/ProductImage/123",
          "alt_text": "Sonic Vroom Colorblock Stretch Denim Mini Dress - Orange/combo",
          "url": "https://cdn.shopify.com/s/files/1/0293/9277/files/03-07-26_S1_40_DND53266_Orangecombo_ZSR_KJ_PC_12-54-34_16192_PXF.jpg?v=1773255220"
        },
        "quantity_available": 14,
        "available_for_sale": true,
        "unit_price": {
          "amount": "69.99",
          "currency_code": "USD"
        },
        "compare_at_price": {
          "amount": "69.99",
          "currency_code": "USD"
        },
        "price": {
          "amount": "69.99",
          "currency_code": "USD"
        },
        "selected_options": [
          {
            "name": "Size",
            "value": "L"
          }
        ],
        "is_inactive": false,
        "is_low_stock": false,
        "is_variant_out_of_stock": false
      },
      {
        "product": {
          "handle": "sonic-vroom-colorblock-stretch-denim-mini-dress-fncolorname-orange-combo",
          "title": "Sonic Vroom Colorblock Stretch Denim Mini Dress - Orange/combo"
        },
        "id": "gid://shopify/ProductVariant/39305614917756",
        "title": "XL",
        "sku": "DND53266_Orange/combo_XL",
        "image": {
          "__typename": "Image",
          "id": "gid://Shopify/ProductImage/123",
          "alt_text": "Sonic Vroom Colorblock Stretch Denim Mini Dress - Orange/combo",
          "url": "https://cdn.shopify.com/s/files/1/0293/9277/files/03-07-26_S1_40_DND53266_Orangecombo_ZSR_KJ_PC_12-54-34_16192_PXF.jpg?v=1773255220"
        },
        "quantity_available": 0,
        "available_for_sale": false,
        "unit_price": {
          "amount": "69.99",
          "currency_code": "USD"
        },
        "compare_at_price": {
          "amount": "69.99",
          "currency_code": "USD"
        },
        "price": {
          "amount": "69.99",
          "currency_code": "USD"
        },
        "selected_options": [
          {
            "name": "Size",
            "value": "XL"
          }
        ],
        "is_inactive": false,
        "is_low_stock": false,
        "is_variant_out_of_stock": true
      },
      {
        "product": {
          "handle": "sonic-vroom-colorblock-stretch-denim-mini-dress-fncolorname-orange-combo",
          "title": "Sonic Vroom Colorblock Stretch Denim Mini Dress - Orange/combo"
        },
        "id": "gid://shopify/ProductVariant/39305615048828",
        "title": "1X",
        "sku": "DND53266_Orange/combo_1X",
        "image": {
          "__typename": "Image",
          "id": "gid://Shopify/ProductImage/123",
          "alt_text": "Sonic Vroom Colorblock Stretch Denim Mini Dress - Orange/combo",
          "url": "https://cdn.shopify.com/s/files/1/0293/9277/files/03-07-26_S1_40_DND53266_Orangecombo_ZSR_KJ_PC_12-54-34_16192_PXF.jpg?v=1773255220"
        },
        "quantity_available": 40,
        "available_for_sale": true,
        "unit_price": {
          "amount": "69.99",
          "currency_code": "USD"
        },
        "compare_at_price": {
          "amount": "69.99",
          "currency_code": "USD"
        },
        "price": {
          "amount": "69.99",
          "currency_code": "USD"
        },
        "selected_options": [
          {
            "name": "Size",
            "value": "1X"
          }
        ],
        "is_inactive": false,
        "is_low_stock": false,
        "is_variant_out_of_stock": false
      },
      {
        "product": {
          "handle": "sonic-vroom-colorblock-stretch-denim-mini-dress-fncolorname-orange-combo",
          "title": "Sonic Vroom Colorblock Stretch Denim Mini Dress - Orange/combo"
        },
        "id": "gid://shopify/ProductVariant/39305614950524",
        "title": "2X",
        "sku": "DND53266_Orange/combo_2X",
        "image": {
          "__typename": "Image",
          "id": "gid://Shopify/ProductImage/123",
          "alt_text": "Sonic Vroom Colorblock Stretch Denim Mini Dress - Orange/combo",
          "url": "https://cdn.shopify.com/s/files/1/0293/9277/files/03-07-26_S1_40_DND53266_Orangecombo_ZSR_KJ_PC_12-54-34_16192_PXF.jpg?v=1773255220"
        },
        "quantity_available": 13,
        "available_for_sale": true,
        "unit_price": {
          "amount": "69.99",
          "currency_code": "USD"
        },
        "compare_at_price": {
          "amount": "69.99",
          "currency_code": "USD"
        },
        "price": {
          "amount": "69.99",
          "currency_code": "USD"
        },
        "selected_options": [
          {
            "name": "Size",
            "value": "2X"
          }
        ],
        "is_inactive": false,
        "is_low_stock": false,
        "is_variant_out_of_stock": false
      },
      {
        "product": {
          "handle": "sonic-vroom-colorblock-stretch-denim-mini-dress-fncolorname-orange-combo",
          "title": "Sonic Vroom Colorblock Stretch Denim Mini Dress - Orange/combo"
        },
        "id": "gid://shopify/ProductVariant/39305614983292",
        "title": "3X",
        "sku": "DND53266_Orange/combo_3X",
        "image": {
          "__typename": "Image",
          "id": "gid://Shopify/ProductImage/123",
          "alt_text": "Sonic Vroom Colorblock Stretch Denim Mini Dress - Orange/combo",
          "url": "https://cdn.shopify.com/s/files/1/0293/9277/files/03-07-26_S1_40_DND53266_Orangecombo_ZSR_KJ_PC_12-54-34_16192_PXF.jpg?v=1773255220"
        },
        "quantity_available": 26,
        "available_for_sale": true,
        "unit_price": {
          "amount": "69.99",
          "currency_code": "USD"
        },
        "compare_at_price": {
          "amount": "69.99",
          "currency_code": "USD"
        },
        "price": {
          "amount": "69.99",
          "currency_code": "USD"
        },
        "selected_options": [
          {
            "name": "Size",
            "value": "3X"
          }
        ],
        "is_inactive": false,
        "is_low_stock": false,
        "is_variant_out_of_stock": false
      }
    ]
  },
  "price_with_code": {
    "value": "{\"amount\":\"42.0\",\"currency_code\":\"USD\"}",
    "id": ""
  },
  "first_image": {
    "__typename": "Image",
    "id": "",
    "alt_text": "Sonic Vroom Colorblock Stretch Denim Mini Dress - Orange/combo",
    "url": "https://cdn.shopify.com/s/files/1/0293/9277/files/03-07-26_S1_40_DND53266_Orangecombo_ZSR_KJ_PC_12-54-34_16192_PXF.jpg?v=1773255220",
    "width": null,
    "height": null
  },
  "vendor": "Fashion Nova",
  "collections": {
    "nodes": [
      {
        "handle": "back-in-stock",
        "title": "Women's Clothing Back In Stock"
      },
      {
        "handle": "dresses",
        "title": "Women's Dresses"
      },
      {
        "handle": "plus",
        "title": "Women's Plus Size Clothing"
      },
      {
        "handle": "plus-dresses",
        "title": "Women's Plus Size Dresses"
      },
      {
        "handle": "mini-dresses",
        "title": "Women's Short & Mini Dresses"
      },
      {
        "handle": "plus-mini-dresses",
        "title": "Plus Size Mini Dresses & Short Dresses"
      },
      {
        "handle": "all",
        "title": "All"
      },
      {
        "handle": "back-in-stock-dresses",
        "title": "Back In Stock Dresses"
      },
      {
        "handle": "the-essential-shop",
        "title": "Base Layers"
      },
      {
        "handle": "plus-back-in-stock",
        "title": "Women's Plus Size Back In Stock"
      },
      {
        "handle": "reg-price-only",
        "title": "Reg Price Only"
      },
      {
        "handle": "promoexcludingbeauty",
        "title": "promoexcludingbeauty"
      },
      {
        "handle": "women",
        "title": "All Women's Clothing"
      },
      {
        "handle": "plus-size-nova-essentials",
        "title": "Plus Base Layers"
      },
      {
        "handle": "orange-dresses",
        "title": "Orange Dresses"
      },
      {
        "handle": "plus-orange-dresses",
        "title": "Plus Size Orange Dresses"
      },
      {
        "handle": "plus-top-rated-dresses",
        "title": "Plus Size Back In Stock Dresses"
      },
      {
        "handle": "denim-dresses",
        "title": "Women's Denim Dresses"
      },
      {
        "handle": "utility-chic",
        "title": "Utility Chic"
      },
      {
        "handle": "plus-denim-dresses",
        "title": "Plus Denim Dresses"
      },
      {
        "handle": "plus-size-coastal-elegance-sets",
        "title": "Plus Size Hamptons Chic Sets"
      }
    ]
  },
  "is_placeholder_image": false,
  "badge": {
    "name": "40% OFF",
    "name_outside_u_s_a": "40% OFF",
    "background_color": "#9d2226",
    "dark_background_color": "#ff919a",
    "text_color": "#ffffff",
    "dark_text_color": "#ffffff",
    "is_ribbon": false,
    "divisions": []
  },
  "tagline": {
    "_type": "promo-tagline",
    "banner_color": null,
    "color": "#9d2226",
    "countdown_timer": null,
    "currency": "ALL",
    "dark_banner_color": null,
    "dark_color": "#ff919a",
    "dark_text_color": null,
    "divisions": null,
    "excluded_tags": [
      ""
    ],
    "hide_days": false,
    "language": "en",
    "location": [
      {
        "_key": "8abcf122a203cb5bccd4ce6f7c8a42c6",
        "_type": "tag",
        "label": "🇺🇸 United States",
        "value": "US"
      },
      {
        "_key": "4151b72331cd87303b12170699271b18",
        "_type": "tag",
        "label": "🇨🇦 Canada",
        "value": "CA"
      },
      {
        "_key": "3ed978f45a3481b81f51602918188fe4",
        "_type": "tag",
        "label": "🇲🇽 Mexico",
        "value": "MX"
      },
      {
        "_key": "ca3307ebe4309b7b19ecf1540004e1cd",
        "_type": "tag",
        "label": "🌐 International (Non US, CA or MX)",
        "value": "global"
      }
    ],
    "price_with_code": true,
    "price_with_code_small_tagline": "With Code: SAVE40",
    "price_with_code_tagline": "With Code: SAVE40",
    "show_units_of_time": true,
    "tagline": "40% Off EVERYTHING! Use Code: SAVE40",
    "tagline_outside_u_s_a": "40% Off EVERYTHING! Use Code: SAVE40",
    "tags": [
      "All Promo"
    ],
    "text_color": null
  },
  "from_url": "https://www.fashionnova.com/collections/dresses?division=women&page=2"
}
```

Each product extracted returns a comprehensive record with 21 fields covering identification, pricing, variants, media, and Fashion Nova-specific attributes:

#### Product Identification

| Field | Meaning |
|---|---|
| `ID` | Unique internal product identifier in Fashion Nova's system |
| `Title` | Product name as displayed on the product page |
| `Handle` | URL-friendly product slug (e.g., `black-bodycon-dress-fn123`) |
| `Product Type` | Category classification (e.g., `Dresses`, `Tops`, `Activewear`) |
| `Vendor` | Supplier or brand (typically "Fashion Nova" or partner brand) |

#### Pricing & Availability

| Field | Meaning |
|---|---|
| `Price Range` | Min-max price across all variants (e.g., `$35.00 - $45.00`) |
| `Price With Code` | Price after applying default promo codes or member discounts |
| `Available For Sale` | Boolean flag — `true` if product is currently purchasable, `false` if out of stock or discontinued |

#### Media & Imagery

| Field | Meaning |
|---|---|
| `Media` | Array of product images and video URLs in order of display |
| `First Image` | Primary product image URL (thumbnail or hero image) |
| `Is Placeholder Image` | Boolean — `true` if using generic placeholder art instead of actual product photography |
| `Swatches` | Available color/pattern swatch options as image URLs or color hex codes |

#### Product Details & Variants

| Field | Meaning |
|---|---|
| `Options` | Product customization fields (e.g., `["Size", "Color", "Length"]`) |
| `Variants` | Complete variant data — all size/color combinations with individual SKUs, pricing, and availability |
| `Tags` | Categorical tags assigned by Fashion Nova (e.g., `"trending"`, `"sale"`, `"new-arrival"`, `"sustainable"`) |
| `Badge` | Visual badge displayed on product card (e.g., `"Sale"`, `"New"`, `"Hot"`, `"VIP Exclusive"`) |

#### Fashion Nova Custom Fields

| Field | Meaning |
|---|---|
| `FN Style Setup` | Fashion Nova's internal style/fit categorization (e.g., bodycon, loose, oversized) |
| `Tagline` | Short marketing copy displayed under the product title |
| `Collections` | List of curated collections the product belongs to (e.g., `["Best Sellers", "Under $50"]`) |

#### SEO & Content

| Field | Meaning |
|---|---|
| `Description` | Full product description text from the product page |
| `Description HTML` | Raw HTML version of the description (includes formatting, links) |
| `SEO` | SEO metadata — title tag, meta description, and structured data |
| `Published At` | Date the product was first published/listed |

#### Advanced

| Field | Meaning |
|---|---|
| `Is Gift Card` | Boolean flag — `true` if the product is a gift card rather than physical merchandise |
| `Metafields` | Custom data fields stored in Fashion Nova's system (brand partnerships, supplier info, etc.) |

***

### How to Use

1. **Prepare URLs** — Visit Fashion Nova's website and navigate to a category or search results page. Copy the full URL (including filters and pagination).
2. **Configure JSON** — Paste URLs into the `urls` array. Set `max_items_per_url` based on your needs (200 for full category, 20 for quick samples).
3. **Enable error tolerance** — Set `ignore_url_failures: true` for bulk runs to skip problematic URLs without stopping.
4. **Run the scraper** — Launch the actor and monitor progress in the logs.
5. **Download results** — Export as JSON, CSV, or Excel for analysis or import into databases.

**Common scenarios:**

- **Full category export:** Set `max_items_per_url: 500` and include all pagination URLs
- **Trend sampling:** Use `max_items_per_url: 50` on `new-arrivals` collections
- **Price monitoring:** Run daily/weekly on sale category URLs

***

### Use Cases & Business Value

- **Competitive intelligence:** Track Fashion Nova's pricing strategy, discounts, and promotional tactics
- **Trend forecasting:** Analyze which styles, colors, and lengths gain momentum
- **Market research:** Understand product depth in each category and seasonal inventory shifts
- **Price comparison tools:** Supply real-time Fashion Nova data to shoppers
- **Affiliate marketing:** Monitor commission-eligible products and promotional windows
- **Supply chain analysis:** Track vendor diversity and sourcing patterns

The scraper delivers structured, actionable data that would take hours to collect manually, enabling fast-moving decisions in the competitive fast-fashion space.

***

### Conclusion

The **Fashion Nova Product Search Scraper** empowers retailers, researchers, and analysts to capture complete product intelligence from one of fast fashion's leading brands. With 21 detailed fields and flexible bulk processing, it streamlines competitive research and market analysis. Extract data today and stay ahead of fashion trends.

# Actor input Schema

## `urls` (type: `array`):

Add the URLs of the product search list urls you want to scrape. You can paste URLs one by one, or use the Bulk edit section to add a prepared list.

## `ignore_url_failures` (type: `boolean`):

If true, the scraper will continue running even if some URLs fail to be scraped.

## `max_items_per_url` (type: `integer`):

The maximum number of items to scrape per URL.

## Actor input object example

```json
{
  "urls": [
    "https://www.fashionnova.com/collections/dresses?division=women&page=2"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 20
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "urls": [
        "https://www.fashionnova.com/collections/dresses?division=women&page=2"
    ],
    "ignore_url_failures": true,
    "max_items_per_url": 20
};

// Run the Actor and wait for it to finish
const run = await client.actor("stealth_mode/fashionnova-product-search-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "urls": ["https://www.fashionnova.com/collections/dresses?division=women&page=2"],
    "ignore_url_failures": True,
    "max_items_per_url": 20,
}

# Run the Actor and wait for it to finish
run = client.actor("stealth_mode/fashionnova-product-search-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "urls": [
    "https://www.fashionnova.com/collections/dresses?division=women&page=2"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 20
}' |
apify call stealth_mode/fashionnova-product-search-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=stealth_mode/fashionnova-product-search-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Fashionnova Product Search Scraper",
        "description": "Scrape Fashion Nova's entire product catalog from search pages. Collect product details, variants, pricing, collections, swatches, and custom fields — perfect for price monitoring, trend analysis, and competitive research in fast-fashion retail.",
        "version": "0.0",
        "x-build-id": "BZKxzhwk3lDUSgOiK"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/stealth_mode~fashionnova-product-search-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-stealth_mode-fashionnova-product-search-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/stealth_mode~fashionnova-product-search-scraper/runs": {
            "post": {
                "operationId": "runs-sync-stealth_mode-fashionnova-product-search-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/stealth_mode~fashionnova-product-search-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-stealth_mode-fashionnova-product-search-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "urls": {
                        "title": "URLs of the product search list urls to scrape",
                        "type": "array",
                        "description": "Add the URLs of the product search list urls you want to scrape. You can paste URLs one by one, or use the Bulk edit section to add a prepared list.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "ignore_url_failures": {
                        "title": "Continue running even if some URLs fail to be scraped",
                        "type": "boolean",
                        "description": "If true, the scraper will continue running even if some URLs fail to be scraped."
                    },
                    "max_items_per_url": {
                        "title": "Max items per URL",
                        "type": "integer",
                        "description": "The maximum number of items to scrape per URL."
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
