---
title: "thredUP API: JSON data, 2 endpoints, 1 credit per call"
description: "thredUP API for second-hand clothing search by brand, size, condition and price, with MSRP, discounts and product details as JSON. 1 credit per successful call."
url: https://perceptlayer.com/apis/thredup
---

[APIs](https://perceptlayer.com/apis) / [Marketplaces](https://perceptlayer.com/verticals/marketplaces) / thredUP

1 credit per call 2 endpoints 28 datapoints

# thredUP API

thredUP API for second-hand clothing search by brand, size, condition and price, with MSRP, discounts and product details as JSON. 1 credit per successful call.

[Get a free API key](https://perceptlayer.com/signup) Run it below

thredUP

GET /v1/thredup/search?query=gucci+bag&department=women&price\_max=500 

```
{
  "success": true,
  "items": [
    {
      "id": 236840087,
      "item_number": 237788067,
      "title": "Coach Factory Leather Hobo",
      "url": "https://www.thredup.com/product/women-coach-factory-coach-factory-leather-hobo/237788067",
      "brand": "Coach Factory",
      "brand_id": 31047,
      "category": "handbags",
      "category_tags": [
        "handbags"
      ],
      "department_tags": [
        "handbags",
        "women"
      ],
      "gender": "women",
      "colors": [
        "Pink"
      ],
      "materials": [
        "100% Leather"
      ],
      "size": {
        "label": "One size",
        "size_ids": [
          902
        ]
      },
      "condition": {
        "label": "Flawed gem",
        "value": "flawed-gems",
        "new_with_tags": false
      },
      "price": 149.99,
      "original_price": 404,
      "msrp": 404,
      "currency": "USD",
      "discount_percent": 62.9,
      "clearance": false,
      "final_sale": true,
      "is_peer_to_peer": false,
      "availability": "InStock",
      "state": "listed",
      "favorite_count": 47,
      "style_tags": [
        "hobos"
      ],
      "description": "Soft pink leather shoulder bag with gathered detail and silver hardware",
      "images": [
        "https://cf-assets-thredup.thredup.com/assets/974818564/xlarge.jpg",
        "https://cf-assets-thredup.thredup.com/assets/978941651/xlarge.jpg",
        "https://cf-assets-thredup.thredup.com/assets/974818722/xlarge.jpg"
      ]
    },
    {
      "id": 237793017,
      "item_number": 238670020,
      "title": "Coach Factory Tote",
      "url": "https://www.thredup.com/product/women-coach-factory-coach-factory-tote/238670020",
      "brand": "Coach Factory",
      "brand_id": 31047,
      "category": "handbags",
      "category_tags": [
        "handbags"
      ],
      "department_tags": [
        "handbags",
        "women"
      ],
      "gender": "women",
      "colors": [
        "Gray"
      ],
      "materials": [
        "No Fabric Content"
      ],
      "size": {
        "label": "One size",
        "size_ids": [
          902
        ]
      },
      "condition": {
        "label": "Flawed gem",
        "value": "flawed-gems",
        "new_with_tags": false
      },
      "price": 151.99,
      "original_price": 190,
      "msrp": 190,
      "currency": "USD",
      "discount_percent": 20,
      "clearance": false,
      "final_sale": true,
      "is_peer_to_peer": false,
      "availability": "InStock",
      "state": "listed",
      "favorite_count": 47,
      "style_tags": [
        "totes"
      ],
      "description": "Tote bag with a black and tan Coach signature canvas pattern and leather trim, featuring two shoulder straps and a silver logo emblem",
      "images": [
        "https://cf-assets-thredup.thredup.com/assets/980763255/xlarge.jpg",
        "https://cf-assets-thredup.thredup.com/assets/980747107/xlarge.jpg",
        "https://cf-assets-thredup.thredup.com/assets/980763274/xlarge.jpg"
      ]
    },
    {
      "id": 238946055,
      "item_number": 239742403,
      "title": "Coach Factory Leather Satchel",
      "url": "https://www.thredup.com/product/women-coach-factory-coach-factory-leather-satchel/239742403",
      "brand": "Coach Factory",
      "brand_id": 31047,
      "category": "handbags",
      "category_tags": [
        "handbags"
      ],
      "department_tags": [
        "handbags",
        "women"
      ],
      "gender": "women",
      "colors": [
        "Ivory"
      ],
      "materials": [
        "100% Leather"
      ],
      "size": {
        "label": "One size",
        "size_ids": [
          902
        ]
      },
      "condition": {
        "label": "Good",
        "value": "good",
        "new_with_tags": false
      },
      "price": 152.99,
      "original_price": 404,
      "msrp": 404,
      "currency": "USD",
      "discount_percent": 62.1,
      "clearance": false,
      "final_sale": true,
      "is_peer_to_peer": false,
      "availability": "InStock",
      "state": "listed",
      "favorite_count": 13,
      "style_tags": [
        "satchels"
      ],
      "description": "Light beige leather tote bag with adjustable shoulder strap and luggage tag",
      "images": [
        "https://cf-assets-thredup.thredup.com/assets/986309475/xlarge.jpg",
        "https://cf-assets-thredup.thredup.com/assets/986235732/xlarge.jpg",
        "https://cf-assets-thredup.thredup.com/assets/986309580/xlarge.jpg"
      ]
    }
  ],
  "pagination": {
    "page": 1,
    "per_page": 40,
    "total": 10001,
    "returned": 40,
    "filtered_out": 0,
    "has_next_page": true
  },
  "filters_applied": {
    "query": "gucci bag",
    "department": "women",
    "price_max": "500",
    "sort": "recommended"
  },
  "meta": {
    "endpoint_family": "search",
    "request_id": "req_3d0f25070375427c8e5bce92cbb9d614",
    "credits_charged": 1,
    "credits_remaining": 1913
  }
}
```

200 OK JSON X-Credits-Used: 1

Recorded from our API and shortened.

Sample data

## What one call returns

A recorded run of `search`: the fields and shapes you will get, shortened to 3 items.

| # | id integer | item\_number integer | title string | url url | brand string | brand\_id integer | category string | category\_tags string\[\] | department\_tags string\[\] | gender string | colors string\[\] | materials string\[\] | size object | condition object | price number | original\_price integer | msrp integer | currency string | discount\_percent number | clearance boolean | final\_sale boolean | is\_peer\_to\_peer boolean | availability string | state string | favorite\_count integer | style\_tags string\[\] | description string | images string\[\] |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| 1 | 236840087 | 237788067 | Coach Factory Leather Hobo | https://www.thredup.com/product/women-coach-factory-coach-factory-leather-hobo/237788067 | Coach Factory | 31047 | handbags | \[1 item\] | \[2 items\] | women | \[1 item\] | \[1 item\] | {2 fields} | {3 fields} | 149.99 | 404 | 404 | USD | 62.9 | false | true | false | InStock | listed | 47 | \[1 item\] | Soft pink leather shoulder bag with gathered detail and silver hardware | \[3 items\] |
| 2 | 237793017 | 238670020 | Coach Factory Tote | https://www.thredup.com/product/women-coach-factory-coach-factory-tote/238670020 | Coach Factory | 31047 | handbags | \[1 item\] | \[2 items\] | women | \[1 item\] | \[1 item\] | {2 fields} | {3 fields} | 151.99 | 190 | 190 | USD | 20 | false | true | false | InStock | listed | 47 | \[1 item\] | Tote bag with a black and tan Coach signature canvas pattern and leather trim, featuring two shoulder straps and a silver logo emblem | \[3 items\] |
| 3 | 238946055 | 239742403 | Coach Factory Leather Satchel | https://www.thredup.com/product/women-coach-factory-coach-factory-leather-satchel/239742403 | Coach Factory | 31047 | handbags | \[1 item\] | \[2 items\] | women | \[1 item\] | \[1 item\] | {2 fields} | {3 fields} | 152.99 | 404 | 404 | USD | 62.1 | false | true | false | InStock | listed | 13 | \[1 item\] | Light beige leather tote bag with adjustable shoulder strap and luggage tag | \[3 items\] |

Recorded from our API · 3 items shown · 28 datapoints per item GET /v1/thredup/search?query=gucci+bag&department=women&price\_max=500

28 datapoints

### Identity

-   id integer
-   title string
-   brand string
-   brand\_id integer
-   category string
-   category\_tags string\[\]

### Contact

-   url url

### Location

-   state string

### Reputation

-   images string\[\]

### Price

-   price number
-   original\_price integer
-   currency string
-   discount\_percent number

### Other

-   item\_number integer
-   department\_tags string\[\]
-   gender string
-   colors string\[\]
-   materials string\[\]
-   size object
-   condition object
-   msrp integer
-   clearance boolean
-   final\_sale boolean
-   is\_peer\_to\_peer boolean
-   availability string
-   favorite\_count integer
-   style\_tags string\[\]
-   description string

Playground

## Run this API

cURL shell 

```
curl "https://api.perceptlayer.com/v1/thredup/search?query=gucci+bag&department=women&price_max=500" \
  -H "X-API-Key: $API_KEY"
```

thredUP · 2 endpoints

## Endpoints

Every endpoint takes the same key. Open one for its parameters and an example request.

| Endpoint | Required parameters | Cost |
| --- | --- | --- |
| [GET `/v1/thredup/product`](https://perceptlayer.com/apis/thredup/product) | none +2 optional | 1 credit |
| [GET `/v1/thredup/search`](https://perceptlayer.com/apis/thredup/search) | none +12 optional | 1 credit |

Overview

## About the thredUP API

## What you can get

The thredUP API returns thredUP resale data as JSON through 2 endpoints.

-   **Search:** `search` takes a `query`, with `department` (women, girls or boys), `category`, `price_min`, `price_max`, `sort` (recommended, relevance, newest\_first, price\_low\_high, price\_high\_low or marked\_down\_at\_desc), `page` and `per_page`. `brand_id[]`, `size_id[]` and `color[]` are repeatable; `condition[]` is repeatable and takes excellent, very-good, good or flawed-gems.
-   **Products:** `product` takes an `item_number` or a `url`.

The recorded search for "gucci bag" with `department=women` and `price_max=500` returns `items`, each with `id`, `item_number`, `title`, `url`, `brand`, `brand_id`, `category`, `colors`, `materials`, `size`, `condition`, `price`, `original_price`, `msrp`, `discount_percent`, `clearance`, `final_sale`, `availability`, `favorite_count` and `images`. It also returns `pagination` with `has_next_page`, and `filters_applied`.

## How a call works

Search, then look up: `GET /v1/thredup/search?query=gucci bag&department=women&price_max=500` with your key in the `X-API-Key` header. Each result carries an `item_number`, which `product` takes, and a `brand_id`, which `brand_id[]` takes to search one brand. Every successful call costs 1 credit; failed calls cost nothing.

Marketplaces JSON REST MCP

### More marketplaces APIs

[About You](https://perceptlayer.com/apis/about-you) [adidas](https://perceptlayer.com/apis/adidas) [AliExpress](https://perceptlayer.com/apis/aliexpress) [Allegro](https://perceptlayer.com/apis/allegro) [Amazon](https://perceptlayer.com/apis/amazon) [ASOS](https://perceptlayer.com/apis/asos) [Billiger.de](https://perceptlayer.com/apis/billiger) [bol.com](https://perceptlayer.com/apis/bol) [Chrono24](https://perceptlayer.com/apis/chrono24) [Costco](https://perceptlayer.com/apis/costco) [Craigslist](https://perceptlayer.com/apis/craigslist) [DBA](https://perceptlayer.com/apis/dba)

Use cases

### Track second-hand prices for a brand against its \`msrp\`

`` Use the thredUP API to track second-hand prices for a brand against its `msrp` `` 

### Find markdowns with \`sort=marked\_down\_at\_desc\`

`` Use the thredUP API to find markdowns with `sort=marked_down_at_desc` `` 

### Compare prices by condition, from excellent to flawed-gems

`Use the thredUP API to compare prices by condition, from excellent to flawed-gems` 

### Watch new listings for a brand with \`sort=newest\_first\`

`` Use the thredUP API to watch new listings for a brand with `sort=newest_first` `` 

FAQ

## Questions

**How much does the thredUP API cost?**

Each successful call costs one credit, and each search page is one call. New accounts get free credits to start, and credit packs bring the price down as you scale.

**Can I search one brand?**

Yes. Take a \`brand\_id\` from a search result and pass it as \`brand\_id\[\]\`, which is repeatable.

**Do I need a thredUP account?**

No. You call this thredUP API with your Perceptlayer key in the \`X-API-Key\` header, with no thredUP login.

**What format are responses in?**

Every endpoint returns JSON, with no HTML parsing on your side.

**Should I build a thredUP scraper instead?**

You can, but a thredUP scraper is code you maintain: page changes break it, requests get blocked, and thredUP's terms govern how you collect data. The thredUP API gives you 2 endpoints of named JSON fields for 1 credit per successful call, and failed calls cost nothing. A scraper makes sense only for data these endpoints don't return, so check the response in the playground on this page first.

## Try the thredUP API with 100 free credits

No credit card. Failed calls are never billed.

[Get a free API key](https://perceptlayer.com/signup) [Read the docs](https://docs.perceptlayer.com)
