Nuuly Scraper - Clothing Rentals, Prices, Sizes & Reviews
Pricing
from $1.70 / 1,000 product records
Nuuly Scraper - Clothing Rentals, Prices, Sizes & Reviews
Scrape Nuuly clothing rental products by category, brand or URL. Extract product names, brands, retail prices, rental availability, sizes, colors, fabric details, product images and member reviews.
Pricing
from $1.70 / 1,000 product records
Rating
0.0
(0)
Developer
Abot API
Maintained by CommunityActor stats
1
Bookmarked
2
Total users
1
Monthly active users
10 days ago
Last modified
Categories
Share
Nuuly Scraper: Rental Catalog, Prices and Reviews
This actor collects the Nuuly clothing rental catalog: browse the catalog by category or brand, paste product or listing links, and get one structured record per style with the retail price, availability, sizes, colorways, fabric attributes, images and member reviews. Results land in the Apify dataset with CSV, Excel, JSON and API export, on a schedule or on demand.
Why This Scraper?
- Three ways in. Search the catalog by category or brand, filter it, or paste any product or listing link and walk its pages forward.
- Everything about each style. Retail price, sale context, availability, per-size stock, colorways with hex colors, fabric and care notes, model notes, attributes and the full image gallery.
- Member reviews included. Ratings with a per-star histogram, fit ratings, titles, bodies and dates, attached to each enriched record and also exposed one row per review.
- Recurring runs that bill only changes. Incremental mode remembers the previous run of the same search and returns NEW, UPDATED, REAPPEARED or EXPIRED rows; unchanged products are suppressed and never billed.
- Resume an interrupted run. Paste a run ID and the walk continues where it stopped, skipping everything already collected.
- Export anywhere. Pipe results into Notion, Linear, Airtable or any MCP connector without touching the dataset output.
Use Cases
- Personal stylists and resellers: track which styles are currently available to rent, at what retail price, before recommending or sourcing them.
- Market and pricing analysts: monitor retail price points, discounts and brand mixes across the rental catalog over time.
- Fashion trend researchers: slice the catalog by occasion, length, material, silhouette or color and measure what the platform is stocking.
- Review and product researchers: collect member review text, ratings and fit feedback per style for sentiment or fit-guidance work.
- Ecommerce teams: mirror competitor rental inventory into your own warehouse on a schedule.
Data You Get
Sample shape: values are illustrative placeholders, not from a live record.
| Field | Example |
|---|---|
recordId | nuuly:sample-style_001 |
title | Sample Style Name |
brand | Sample Brand |
url | https://www.nuuly.com/rent/products/sample-style?color=001 |
retailPrice | 198 |
salePrice | 149 |
discountPercent | 25 |
colorName | BLACK |
availabilityStatus | IN_STOCK |
availableToRent | true |
ratingAverage | 4.7 |
ratingCount | 1788 |
sizes | [{"size": "XS", "available": true}] |
colors | [{"code": "001", "name": "BLACK", "hex": "#000000"}] |
attributes | [{"name": "Fabric", "value": "Polyester, Nylon"}] |
description | Long product description text appears here when Fetch product details is on. |
fabricCare | Fabric composition and care instructions appear here. |
imageUrls | Full image gallery, largest size per image |
reviews | Attached member reviews with rating, fit, title, body and date |
Product pages also carry the reviewer's public display name, the review histogram and fit-rating average. Reviewer body measurements are not collected.
How to Use
- Pick a mode: Search walks catalog listings (categories, brands or brand names); URL mode reads the exact links you paste.
- Fill the fields for your mode: listing slugs like
dresses,tops,all, or brand slugs likefree-people, plus any filters. - Set Max items (the one stop cap;
0means unlimited) and whether to fetch product details and reviews. - Run the actor and export the dataset as CSV, Excel, JSON or via API.
Search by category with filters:
{"mode": "search","browseSlugs": ["dresses"],"occasions": "Cocktail","length": "Midi","maxItems": 50,"fetchDetails": true,"maxReviews": 20}
Search by plain brand name:
{"mode": "search","browseSlugs": ["Free People"],"maxItems": 100}
Paste product and listing links:
{"mode": "url","urls": ["https://www.nuuly.com/rent/products/sample-style?color=001","https://www.nuuly.com/rent/browse/dresses"],"maxItems": 100}
Scheduled monitoring with incremental mode:
{"mode": "search","browseSlugs": ["new-arrivals"],"incrementalMode": true,"maxItems": 0}
Run it from your code
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("abotapi/nuuly-com-scraper").call(run_input={"mode": "search","browseSlugs": ["dresses"],"maxItems": 50,})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["title"], item["retailPrice"])
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });const run = await client.actor('abotapi/nuuly-com-scraper').call({mode: 'search',browseSlugs: ['dresses'],maxItems: 50,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items.map((i) => [i.title, i.retailPrice]));
You can also chain the actor from Make, Zapier, n8n, Google Sheets or webhooks from the Integrations tab of the actor page.
How Max items shapes a run
Max items is the only cap that stops a run early: 20 returns the first 20 products of the first listing, 0 walks every listing until the catalog's natural end. Each listing page carries up to 100 products; Max pages per listing defaults wide open so the two never fight.
Resume and recurring updates
Resume from run ID continues one interrupted run: already-collected records are skipped and the walk continues where it stopped. Incremental mode is the scheduled-run companion: the same search run again remembers its previous results, returns only NEW, UPDATED, REAPPEARED or EXPIRED rows, and suppresses unchanged products so they cost nothing. Emit unchanged and Emit expired bring the suppressed rows back, explicitly marked and billed. Fields that change on every fetch without the record changing are excluded from change detection, and you can add more through Ignore fields when detecting changes. One honest caveat: the catalog rotates its listing order between calls, so a recurring listing scope legitimately classifies mostly NEW rows (newly surfaced products, not phantom updates); a single-product scope suppresses deterministically.
Send results into your apps (MCP connectors)
This actor can pipe its results straight into the apps you already use through Apify MCP connectors. It ships with the connector surface enabled and mcpConnectors, notionParentPageUrl and maxNotifyListings input fields, so you can authorize a connector once under Apify → Settings → API & Integrations and then select it in the actor's input.
- Notion: each item becomes a page under the parent page you name in
notionParentPageUrl. - Other connectors: a best-effort write or digest via the connector's own tools.
The connector export is a side channel: it never changes, reorders or filters the dataset. Each item is written as a condensed human-readable summary (title, price, brand and link flattened to text), not the full JSON; the complete record always stays in the Apify dataset. Leave mcpConnectors empty and nothing is exported.
Input Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
mode | select | search | Search the catalog, or paste catalog links. |
browseSlugs | stringList | ["dresses"] | One listing per entry: category slugs (all, dresses, tops, jackets), brand slugs (free-people) or plain brand names (matched against the brand directory). |
brands | stringList | empty | Narrow to brand names exactly as the catalog writes them (for example Free People, Maeve). |
occasions | select | empty | The catalog's own occasion filter (Cocktail, Wedding Guest, and so on). |
length | select | empty | The catalog's own length filter (Mini, Midi, Maxi, and so on). |
material | select | empty | The catalog's own material filter (Silk, Velvet, Linen, and so on). |
silhouettes | select | empty | The catalog's own silhouette filter (A-Line, Slip, and so on). |
color | select | empty | The catalog's own color filter. |
sort | select | popular | Listing order: Popular, Newest, Top Rated, or price high to low / low to high. |
inStock | checkbox | true | Only items currently available to rent; turn off to include everything. |
urls | stringList | empty | URL mode: product links return one record each; listing links are walked forward. |
fetchDetails | checkbox | true | Read each product's own page for description, fabric notes, sizes, colorways, gallery and reviews. Adds a per-record surcharge. |
maxReviews | integer | 20 | Cap on member reviews attached per record (0 skips reviews). Each delivered review is billed once. |
maxItems | integer | 20 | The one stop cap; 0 means unlimited. |
maxPages | integer | 0 | Max pages walked per listing; defaults wide open. |
proxy | proxy | residential | Nuuly catalog and product pages work through residential proxy. Access depends on your Apify plan; you can supply your own proxy URLs if needed. |
resumeFromRunId | textfield | empty | Run ID of an interrupted run to continue. |
incrementalMode | checkbox | false | Track changes across scheduled runs; suppress and never bill unchanged products. |
stateKey | textfield | empty | Optional name for the incremental baseline; derived from the search scope when empty. |
emitUnchanged | checkbox | false | Also return (and bill) rows classified UNCHANGED. |
emitExpired | checkbox | false | Also return (and bill) EXPIRED rows for products that left the catalog. |
ignoreFieldsForChanges | stringList | empty | Extra top-level fields excluded from change detection (incremental mode only). |
mcpConnectors | connector list | empty | Optionally send results into Notion, Linear, Airtable or another MCP connector. |
notionParentPageUrl | textfield | empty | Notion parent page for the Notion connector export. |
maxNotifyListings | integer | 50 | Cap on items written to each connector per run. |
Output Example
Sample shape: values are illustrative placeholders, not from a live record.
{"recordId": "nuuly:sample-style_001","url": "https://www.nuuly.com/rent/products/sample-style?color=001","productSlug": "sample-style","styleNumber": "0000000000000","title": "Sample Style Name","brand": "Sample Brand","retailPrice": 198,"salePrice": null,"listPrice": null,"discountPercent": null,"colorCode": "001","colorName": "BLACK","availabilityStatus": "IN_STOCK","availableToRent": true,"isVintage": false,"ratingAverage": 4.7,"ratingCount": 1788,"ratingHistogram": { "1": 6, "2": 21, "3": 56, "4": 261, "5": 1444 },"description": "Full product description text appears here when Fetch product details is on.","additionalDescription": "* Bullet detail one\n* Bullet detail two","fabricCare": "* Cotton, polyester\n* Dry clean","modelNotes": "Model is 5'11\" wearing a size S","sizes": [{ "size": "XS", "group": "Standard", "available": true, "inventory": 1 }],"colors": [{ "code": "001", "name": "BLACK", "hex": "#000000", "imageUrl": "https://images.example.com/000000000_001_b" }],"attributes": [{ "name": "Fabric", "value": "Polyester, Nylon" },{ "name": "Occasion", "value": "Casual" }],"imageUrl": "https://images.example.com/000000000_001_b","imageUrls": ["https://images.example.com/000000000_001_b"],"reviews": [{"reviewId": "00000000-0000-0000-0000-000000000000","reviewAuthor": "samplemember","reviewRating": 5,"reviewFitRating": 4,"reviewTitle": "Sample review title","reviewBody": "Review text appears here.","reviewDate": "2026-01-01 00:00:00.000+00","reviewPhotos": []}],"reviewsTotal": 1788,"scrapedAt": "2026-01-01T00:00:00Z"}
Plan Requirement
This actor is a pay-per-event actor: you are charged per product record, with surcharges for product-detail reads and delivered reviews, plus a small per-run start cost. Residential proxy access depends on your Apify plan; you can provide your own proxy URLs if needed.
FAQ
How much does it cost?
You pay per product record returned, plus a surcharge per enriched record when Fetch product details is on, plus one review event per delivered member review, and a small per-run start cost. Exact unit prices are on the Pricing tab of this actor's page. Unchanged rows in incremental mode are suppressed and never billed. Max items and Max reviews bound what a run can spend.
Is it legal to scrape Nuuly?
This actor collects publicly available catalog data. You are responsible for using it in line with the site's terms, applicable privacy law (GDPR, CCPA) and your own regulations, and for any personal data you process. Reviewer body measurements are deliberately not collected.
Can I get only new or changed styles on a schedule?
Yes. Turn on Incremental mode and schedule the same search: each run returns only NEW, UPDATED, REAPPEARED and (optionally) EXPIRED rows against its previous baseline, and unchanged products are suppressed and never billed.
Why did a run return fewer results than the website shows?
Filters are applied by the catalog server-side, and the availability filter is on by default: styles currently rented out are excluded until you turn Available to rent only off. Max items also stops the run at its cap before the end of the listing.
Why did my run fail instead of returning an empty dataset?
If the catalog refuses every connection this run, the actor fails with a connection-problem message rather than returning a fake empty result. Check proxy access and retry later.
Can I use it with AI agents or MCP?
Yes. Select an MCP connector in the input to pipe results into Notion, Linear, Airtable or another MCP-enabled app, and the actor is callable from any MCP client that supports Apify actors.
🔗 Want more fashion data?
Pair this actor with these related scrapers from the same team:
| 👗 Next.co.uk Scraper Scrape Next.co.uk: keyword search, category and product-listing walks, full product... | 👗 24S Scraper Scrape 24S luxury fashion by category, filters, or URL. Extract brand, name, price... |
| 👗 Showpo Scraper Scrape Showpo women's fashion by keyword, collection or URL. Extract product prices... | 🏷️ ThredUp Scraper Scrape ThredUp resale listings by keyword, department, brand, size, condition, price or... |
| 👗 Mango Scraper Scrape Mango (shop.mango.com) fashion products: current price plus strike-through Rebajas... | 🏷️ Vinted.fr Scrape Vinted.fr, France's C2C second-hand fashion marketplace: search with... |
💬 Support
- 🐞 Found a bug or a missing field? Open a ticket on the Issues tab. We usually reply within hours.
- 🛠️ Need another site, extra fields or a private build? Email contact@abotapi.com.
- ⭐ Enjoying it? A quick review on the actor page helps other users find it.