ThredUp Scraper - Secondhand Fashion, Prices & Brands
Pricing
from $3.50 / 1,000 results
ThredUp Scraper - Secondhand Fashion, Prices & Brands
Scrape ThredUp secondhand fashion listings by category or department. Extract brand, price, size, condition, materials, colors, photos, and availability for resale research, pricing analysis, and fashion trends. No API key, no login.
Pricing
from $3.50 / 1,000 results
Rating
0.0
(0)
Developer
Logiover
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Scrape ThredUp secondhand fashion listings at scale. Extract brand, price, size, condition, materials, colors, photos, and availability from any ThredUp category page. No API key, no login required.
What does ThredUp Scraper do?
ThredUp Scraper extracts structured product data from thredup.com, the world's largest online thrift store. It fetches ThredUp category and department listing pages, parses the server-side rendered Apollo GraphQL cache embedded in the HTML, and extracts all item fields without needing a browser or headless rendering. Each page yields up to 120 items, and the scraper paginates automatically to collect thousands of listings in a single run. It works with any ThredUp department (women, kids) and category path (dresses, shoes, tops, jeans, etc.). Since all data comes from ThredUp's own SSR cache, the fields are clean, structured, and match what you see on the site. No API key, no login, no cookies required.
Who is it for?
- Resale entrepreneurs tracking ThredUp pricing to source inventory or set competitive prices on Poshmark, Mercari, or eBay.
- Fashion researchers studying secondhand market trends, brand popularity, and pricing patterns across categories.
- Data analysts building dashboards on resale fashion economics, markdown strategies, and inventory turnover.
- E-commerce teams benchmarking their own products against ThredUp's secondhand pricing and availability.
- Sustainability researchers quantifying the scale and composition of the secondhand fashion market.
Use cases
- Price monitoring: Track how ThredUp prices change across brands, categories, and conditions over time.
- Brand analysis: Compare how different fashion brands retain value in the secondhand market (MSRP vs. resale price).
- Inventory research: Find high-demand categories with low supply or discover which sizes and colors sell fastest.
- Competitive intelligence: Benchmark your resale business against ThredUp's pricing, discounts, and promo strategies.
- Academic research: Collect large-scale secondhand fashion datasets for studies on circular economy, sustainability, or consumer behavior.
Why use ThredUp Scraper?
- No API key or login - Works out of the box. No authentication, no cookies, no account needed.
- 22 structured fields per item - Brand, price, MSRP, promo price, discount, size, colors, materials, condition, photos, and more.
- Bulk extraction - Each page returns up to 120 items. Paginate across hundreds of pages to collect thousands of listings.
- Filter by category - Scrape any ThredUp department or sub-category using standard URL paths (women, kids, dresses, shoes, tops).
- Export to CSV, JSON, or Excel - Download results in any format directly from Apify, or push to Google Sheets, Slack, or your database.
- Pay-per-result pricing - Only pay for what you scrape. No monthly subscriptions, no minimum commitments.
What data can you extract?
ThredUp Scraper extracts 22 fields for every listing. Here is the complete list:
| Field | Type | Description |
|---|---|---|
| itemNumber | text | ThredUp unique item identifier |
| title | text | Product listing title (e.g., "Nike Running Shoes") |
| brand | text | Brand name (e.g., Nike, Lululemon, Zara) |
| category | text | Product category (e.g., Casual Dress, Jeans, Sneakers) |
| price | number | Current listing price in USD |
| msrp | number | Manufacturer's suggested retail price |
| promoPrice | number | Discounted price when a promo code applies |
| discountPercent | number | Promotion discount percentage |
| sizeDisplay | text | Display size (e.g., "Size M", "Size 8") |
| colors | text | Color names, comma-separated |
| materials | text | Material composition (e.g., "100% Cotton") |
| condition | text | Quality rating: excellent, very good, good, fair |
| newWithTags | text | Whether item is new with original tags (true/false) |
| availability | text | Stock status (InStock, Sold) |
| department | text | Department (women, kids) |
| styleTags | text | Style descriptors (maxi, midi, athletic, etc.) |
| favoriteCount | number | Number of users who favorited this item |
| isP2P | text | Whether it is a peer-to-peer listing (true/false) |
| clearance | text | Whether item is on clearance (true/false) |
| imageUrl | link | Direct URL to the item's primary image |
| url | link | Full URL to the product detail page |
| searchTerm | text | ThredUp's AI-generated description of the item |
Here is a sample output record:
{"itemNumber": "235542905","title": "Lulus Casual Dress","brand": "Lulus","category": "Casual Dress","price": "35.99","msrp": "64","promoPrice": "17.99","discountPercent": "50","sizeDisplay": "Size M","colors": "Blue","materials": "100% POLYESTER","condition": "excellent","newWithTags": "false","availability": "InStock","department": "women","styleTags": "maxi","favoriteCount": "12","isP2P": "false","clearance": "false","imageUrl": "https://cf-assets-thredup.thredup.com/assets/961419702/xlarge.jpg","url": "https://www.thredup.com/product/women-polyester-lulus-blue-casual-dress/235542905","searchTerm": "Navy blue maxi dress with halter neck and large floral print in pink and cream hues"}
How to use
Option A: Scrape by department
Scrape all listings in a ThredUp department (e.g., women, kids):
- Go to ThredUp Scraper on Apify Store.
- Click Try for free.
- Add one or more department URLs to ThredUp listing URLs.
- Set Max items (e.g., 500) and Max pages per URL (e.g., 5).
- Click Start and wait for the run to complete.
- Download your data as CSV, JSON, or Excel from the Dataset tab.
Input example:
{"startUrls": ["https://www.thredup.com/women"],"maxItems": 500,"maxPages": 5}
Option B: Scrape by category
Scrape a specific sub-category within a department:
- Navigate to ThredUp and browse to your desired category (e.g., Women > Dresses).
- Copy the URL from your browser (e.g.,
https://www.thredup.com/women/dresses). - Paste it into ThredUp listing URLs in the actor input.
- Start the run.
Input example:
{"startUrls": ["https://www.thredup.com/women/dresses","https://www.thredup.com/women/jeans","https://www.thredup.com/kids/shoes"],"maxItems": 1000,"maxPages": 10}
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
| startUrls | array | ["https://www.thredup.com/women"] | ThredUp category or listing page URLs to scrape |
| maxItems | integer | 200 | Maximum total items to scrape. Set 0 for unlimited. |
| maxPages | integer | 5 | Maximum pages per start URL. Each page has up to 120 items. |
| proxyConfig | object | {"useApifyProxy": true} | Proxy configuration. Datacenter proxies work fine. |
Full input JSON:
{"startUrls": ["https://www.thredup.com/women"],"maxItems": 200,"maxPages": 5,"proxyConfig": { "useApifyProxy": true }}
Output example
{"itemNumber": "234024280","title": "Weddington Way Cocktail Dress","brand": "Weddington Way","category": "Cocktail Dress","price": "78.99","msrp": "191","promoPrice": "39.49","discountPercent": "50","sizeDisplay": "Size 6","colors": "Gold","materials": "100% Polyester","condition": "excellent","newWithTags": "true","availability": "InStock","department": "women","styleTags": null,"favoriteCount": "2","isP2P": "false","clearance": "false","imageUrl": "https://cf-assets-thredup.thredup.com/assets/961435974/xlarge.jpg","url": "https://www.thredup.com/product/women-polyester-weddington-way-gold-cocktail-dress/234024280","searchTerm": "Long rose gold pleated evening gown with halter neck and waistband"}
Tips for best results
- Use category paths for precision. URLs like
/women/dressesreturn only dresses, while/womenreturns everything. Narrow your scope for relevant data. - Start small, then scale. Set maxItems to 200 for a test run, then increase once you confirm the data meets your needs.
- Each page returns up to 120 items. Set maxPages based on how many items you want: 5 pages = up to 600 items.
- ThredUp caps results at ~10,000 per query. For broader coverage, use multiple category URLs instead of one top-level department.
- Combine multiple categories. Add several URLs to startUrls to scrape dresses, shoes, and tops in a single run.
- Schedule regular runs. ThredUp's inventory changes constantly. Set up daily or weekly schedules to track pricing trends.
- Check the availability field. Items can sell between runs. Filter by
InStockto get only available items. - Use promoPrice for real pricing. Many items have active promotions. The promoPrice field shows the actual lowest price buyers see.
- The condition field matters. Filter by
excellentornewWithTags: trueto find the best-condition items. - Monitor favoriteCount for demand signals. Items with high favorite counts indicate buyer interest and competitive pressure.
Integrations
ThredUp Scraper works with all Apify integrations:
- Google Sheets - Automatically export scraped data to a Google Sheets spreadsheet after each run.
- Slack - Get notifications in your Slack channel when a scraping run completes.
- Zapier - Connect ThredUp data to 5,000+ apps. Trigger workflows when new items match your criteria.
- Make (Integromat) - Build automated pipelines that process ThredUp data and push it to your systems.
- Webhooks - Receive HTTP callbacks when runs finish. Push data to your own API endpoints.
- Scheduled runs - Set up hourly, daily, or weekly scraping schedules directly in the Apify console.
API usage
cURL
curl -X POST "https://api.apify.com/v2/acts/logiover~thredup-scraper/runs?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"startUrls": ["https://www.thredup.com/women/dresses"],"maxItems": 500}'
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_TOKEN' });const run = await client.actor('logiover/thredup-scraper').call({startUrls: ['https://www.thredup.com/women/dresses'],maxItems: 500,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_TOKEN")run = client.actor("logiover/thredup-scraper").call(run_input={"startUrls": ["https://www.thredup.com/women/dresses"],"maxItems": 500,})items = client.dataset(run["defaultDatasetId"]).list_items().itemsprint(items)
Use with AI agents (MCP)
ThredUp Scraper is available as an MCP tool for AI agents. Connect it to Claude, ChatGPT, or any MCP-compatible agent to let the AI scrape ThredUp data on demand. For example, prompt your agent: "Scrape the top 200 women's dresses on ThredUp and summarize which brands have the highest resale value compared to their MSRP."
FAQ
Is ThredUp Scraper free to use?
ThredUp Scraper is free to try on Apify's free tier. You get $5 of monthly compute credits, which is enough to scrape several thousand ThredUp listings. Larger-scale scraping requires a paid Apify plan.
What ThredUp categories can I scrape?
You can scrape any category that has a public ThredUp URL. This includes departments (women, kids), sub-categories (dresses, jeans, shoes, tops, jackets), and nested paths. If it has a URL on thredup.com, you can scrape it.
How many items can I scrape per run?
Each page returns up to 120 items, and ThredUp shows up to ~10,000 items per query. For larger datasets, use multiple category URLs. There is no hard limit in the scraper itself beyond the maxItems and maxPages settings.
Why do I get zero results for some URLs?
ThredUp's server-side rendering only works for standard category paths like /women, /women/dresses, or /kids/shoes. URLs with search query parameters (like ?search_tags=...) may return zero items because ThredUp loads search results client-side. Use category paths instead.
Why are some fields null?
Not every ThredUp listing has all fields populated. For example, styleTags is null when ThredUp hasn't tagged the item's style. promoPrice and discountPercent are null when no promotion applies. This is normal and reflects the source data.
Can I export data to CSV, Excel, or Google Sheets?
Yes. After a run completes, download results in CSV, JSON, Excel, or XML format from the Dataset tab. You can also set up automatic export to Google Sheets through Apify integrations.
How fast is the scraper?
Each page fetch takes 1-3 seconds. A typical run scraping 600 items (5 pages) completes in under 30 seconds. Larger runs with thousands of items take a few minutes.
Is scraping ThredUp legal?
ThredUp Scraper only accesses publicly available data on thredup.com. It does not bypass any authentication, log in to accounts, or access private user data. See the legality section below for details.
Does it scrape product detail pages?
Currently the scraper extracts data from listing/category pages, which already include 22 fields per item. The listing page data comes from ThredUp's server-side Apollo GraphQL cache and includes all key product fields.
How often is ThredUp's inventory updated?
ThredUp processes thousands of new items daily. If you need fresh data, schedule runs daily or even multiple times per day. The scraper always fetches the current live listings.
Can I filter by brand, size, or price?
ThredUp's category pages support some URL-based filtering. The most reliable approach is to use the specific category paths you find on thredup.com. The scraper extracts all items from the page, and you can filter the results by any field after scraping.
Are there related scrapers?
Check the Related scrapers section below for alternatives and complementary tools.
Is it legal?
ThredUp Scraper accesses only publicly available product listing data on thredup.com. No login credentials, API keys, or private user data are accessed or required. The scraper does not circumvent any access controls or anti-bot measures that would restrict public access. All data collected is the same information available to any visitor browsing thredup.com. Users are responsible for ensuring their use of scraped data complies with ThredUp's Terms of Service and applicable data protection regulations. This tool is provided for legitimate research, analysis, and business purposes.
Related scrapers
- Poshmark Scraper - Scrape Poshmark listings for secondhand fashion comparison.
- eBay Scraper - Extract product listings from eBay for pricing benchmarks.
- Amazon Product Scraper - Scrape Amazon product data including prices and reviews.
- Etsy Scraper - Extract Etsy product listings for handmade and vintage items.