thredup.com APIthredup.com ↗
Search ThredUp's secondhand inventory, retrieve full product details, and get autocomplete suggestions. Filter by brand, category, condition, size, and more.
curl -X GET 'https://api.parse.bot/scraper/dd8f10c6-1a27-4d23-99c0-9037d6a1587d/search_products?page=1&limit=5&query=dress' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for secondhand fashion items with filters and sorting. Returns paginated results from ThredUp's catalog.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination |
| sort | string | Sort order: recommended, price_low, price_high, newest |
| brand | string | Brand name filter |
| limit | integer | Number of results per page |
| query | string | Search keyword (e.g., 'dress', 'nike shoes') |
| category | string | Category filter (e.g., 'dresses', 'tops', 'shoes') |
| condition | string | Item condition filter |
| department | string | Department filter: women, girls, boys |
{
"type": "object",
"fields": {
"page": "integer current page number",
"items": "array of item objects with brand, category, price, size, materials, photos, etc.",
"amount": "integer number of results requested",
"total_count": "integer total number of matching items",
"filters_applied": "object showing which filters were applied"
},
"sample": {
"data": {
"page": 1,
"items": [
{
"msrp": 223,
"brand": "AE77",
"price": "77.99",
"title": "Ae77 Cocktail Dress",
"category": "Cocktail Dress",
"photoIds": [
"867412128",
"867412172",
"867412267"
],
"materials": [
"100% COTTON"
],
"colorNames": [
"Green"
],
"itemNumber": 220010202,
"sizeDisplay": "Size S"
}
],
"amount": 5,
"total_count": 10001,
"filters_applied": {
"department_tags": [
"women"
]
}
},
"status": "success"
}
}About the thredup.com API
The ThredUp API provides 3 endpoints for searching and retrieving secondhand fashion data from ThredUp's catalog. The search_products endpoint returns paginated item arrays with fields like brand, price, size, materials, category, and photos, and supports filters for department, condition, and sort order. Use get_product_details to pull a full item record by item number or URL, including MSRP, colorNames, measurements, and photoIds.
Endpoints and Data Coverage
The search_products endpoint accepts a query string alongside optional filters: brand, category, department (women, girls, boys), condition, sort (recommended, price_low, price_high, newest), page, and limit. Each response includes a total_count integer for the full result set, a filters_applied object reflecting active filters, and an items array where each object carries brand, category, price, size, materials, and photo references.
Product Detail Fields
get_product_details accepts either an item_number string or a full product_url. The response includes msrp (estimated retail price as a number), price (current listed price), title, condition code, materials array, colorNames array, category, and photoIds. This endpoint is the right choice when you need the full record for a specific item rather than search-result summaries.
Autocomplete Suggestions
get_search_suggestions takes a single required query string and returns a suggested object containing a defaultResult and a results array of typeahead suggestions. Each suggestion carries segment tags indicating whether the match is a brand, category, or department — useful for building search interfaces that guide users toward well-formed queries before they hit the full search endpoint.
Pagination and Filtering Notes
Pagination is controlled by the page and limit parameters on search_products. The total_count field lets you calculate total pages on the client side. Filters are composable: you can combine brand, category, department, and condition in a single request, and filters_applied in the response confirms which were active.
- Build a price-comparison tool that tracks current ThredUp prices against
msrpfor specific brands and categories. - Create a secondhand deal-finder app filtering by
condition,price_lowsort, anddepartmentto surface the cheapest items. - Power a wardrobe resale tracker that pulls full product records via
get_product_detailsusing item numbers. - Implement a fashion search autocomplete UI using segment-tagged suggestions from
get_search_suggestions. - Aggregate inventory data by brand and category across multiple pages to analyze ThredUp's catalog depth.
- Monitor specific brand availability (e.g., set
brandfilter) for resale arbitrage research. - Build a materials-conscious fashion app filtering results and displaying
materialsarrays to highlight natural fibers or sustainable fabrics.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does ThredUp have an official public developer API?+
What does `get_product_details` return beyond what `search_products` provides?+
get_product_details returns the full item record including msrp (estimated retail price), photoIds array, colorNames, materials, condition code, and itemNumber as an integer. The search_products endpoint returns summarized item objects suitable for listing views, while get_product_details is suited for single-item detail pages where you need the complete field set.Can I filter search results by size or price range?+
search_products endpoint currently supports filters for brand, category, department, condition, sort, page, and limit. Explicit size and price-range filter parameters are not exposed in the current API. You can fork this API on Parse and revise it to add those filter parameters.Does the API cover seller profiles or user reviews for items?+
How does pagination work in `search_products`, and is there a maximum page depth?+
page integer and limit integer parameters. The response includes total_count so you can calculate the total number of pages client-side. No maximum page depth is documented in the API spec, but very high page numbers may return empty items arrays once the result set is exhausted.