Home / Blog

Hermes Birkin Resale Price: Real Asking Prices Across Resale Sites

There is no single Hermes Birkin resale price. The price of a second hand Birkin depends on its size, leather, color, hardware and condition, and the same bag can be listed at very different prices on Vestiaire Collective, Rebag, Fashionphile and 1stDibs. The reliable answer is to pull the current public asking prices for the exact bag you care about from several sites, group comparable bags, and look at the spread.

This guide shows how to do that by hand, with your own script, or with a hosted tool, and how to turn one-off checks into a Birkin price tracker with a price history.

Why one "Birkin price" does not exist

People type "hermes birkin resale price" hoping for one number. Resellers know that number is useless without the details. Two Birkins that look alike in a photo can belong to different price groups because of:

  • Size: 25, 30, 35 and so on.
  • Leather: Togo, Epsom, Clemence, Swift, exotic skins.
  • Color: neutral colors and rare colors trade in different ranges.
  • Hardware: gold or palladium.
  • Condition: never worn, excellent, very good, and lower grades.

A fair comparison only puts a bag next to bags that match on all of these. For example, one real row from a test run of our arbitrage tool was a Birkin 35 in beige Togo leather listed on Vestiaire Collective at 24,500 USD. That price tells you something about beige Togo 35s, and very little about a black Epsom 25.

Keep one more distinction in mind: most resale sites show asking prices, not final sale prices. An asking price is what a seller hopes to get. Vestiaire Collective also shows public sold results, which get you closer to what bags actually sold for, but the displayed sold price is still not the private final amount.

Is there an official Birkin price API?

Hermes does not publish a public resale price API that we could confirm, and we could not confirm a public price-data API from Vestiaire Collective, Rebag, Fashionphile or 1stDibs either. Prices are visible on their public listing pages, which is why people end up copying them into spreadsheets or collecting them with a scraper.

Your options for tracking Birkin and Kelly resale prices

OptionWhat it takesMain weakness
By handOpen each site, search each model, copy title, size, leather, condition and price into a sheetSlow, hard to repeat, easy to miss a listing priced below the market
DIY scriptWrite and maintain a scraper per site, normalize attributes yourselfEach site has its own page structure, blocking and data gaps
Hosted toolRun an Apify actor that returns one clean tableYou pay per result and still need to check each bag yourself

By hand

Fine for one bag, once. It breaks down as soon as you follow several sizes or colors every day, because the attribute matching is the hard part, not the copying.

DIY script

A script gives you full control. You will need to handle four different sites, map "noir" and "black" to the same color, read hardware from titles, and turn condition labels from each site into one scale. That last step is where most home-made trackers give wrong comparisons.

Hosted tool

The Hermes Birkin and Kelly resale price comparison tool reads public Birkin, Kelly and Chanel Classic Flap listings on Vestiaire Collective, Rebag, Fashionphile and 1stDibs, then puts model, size, color, leather, hardware, condition and price into one consistent table. It groups comparable bags with a matchKey, then computes the price gap between sites before costs and an estimated return after fees, shipping, repair and FX buffers.

For deeper history on a single marketplace, the Vestiaire Collective sold items scraper collects active listings and public sold-search results, with price, currency, condition, brand, model and seller country.

Step by step: compare Birkin resale prices across 4 sites

  1. Open the cross-platform Birkin price tool and start it on Apify.
  2. Keep all four marketplaces selected: vestiaire, rebag, fashionphile, 1stdibs.
  3. Choose the bag families: birkin, kelly, and classic_flap if you also follow Chanel.
  4. For a first run, keep the targeting mode on broad scan with a small cap per marketplace. The README suggests 20 listings and 1 page per marketplace.
  5. Run it, then open the dataset in this order: run_summary (did each site work), spread_candidate (gaps worth a manual check), arbitrage_opportunity (strict comps that passed the spread and return thresholds).
  6. Adjust the cost assumptions (shipping, repair buffer, FX buffer, commissions) to your own numbers, since the estimated return depends on them.
  7. If you hunt one specific bag, switch to strict target mode and enter it, for example Birkin 25, black, Togo, gold hardware, excellent condition or better.

Python example with apify-client

Install the client with pip install apify-client, then run the actor with the example input and read the rows:

from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")

run_input = {
    "platforms": ["vestiaire", "rebag", "fashionphile", "1stdibs"],
    "models": ["birkin", "kelly", "classic_flap"],
}

run = client.actor("kazkn/hermes-birkin-kelly-arbitrage").call(run_input=run_input)

for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    if item.get("recordType") == "spread_candidate":
        print(item.get("matchKey"), item.get("grossSpreadPercent"),
              item.get("estimatedNetRoiPercent"))
    elif item.get("model") == "birkin":
        print(item.get("platform"), item.get("size"), item.get("colorBucket"),
              item.get("materialBucket"), item.get("price"), item.get("currency"),
              item.get("url"))

The Apify Python client documentation covers pagination and other options. You can also export any dataset to CSV, Excel or JSON, as described in the Apify dataset documentation.

What you get: the output fields

FieldWhat it holds
recordTypeRow type, for example normalized_listing, spread_candidate, arbitrage_opportunity or run_summary
platformMarketplace the listing came from
titleListing title as published
modelBag family: birkin, kelly or classic_flap
sizeNormalized size, such as 25, 30 or medium
colorBucketNormalized color group
materialBucketNormalized leather or material
hardwareBucketHardware finish, such as gold or palladium, or unknown
conditionBucketCondition grouped into levels like excellent or very_good
pricePublic asking price as a number
currencyCurrency of the asking price
urlLink to the listing page
matchKeyCombined model, size, color, material, hardware and condition used to group comparable bags
grossSpreadPercentPrice gap between buy and sell side before costs
estimatedNetRoiPercentEstimated return after fees, shipping, repair and FX buffers

A masked listing row looks like this:

{
  "title": "Hermès Birkin 35 leather handbag",
  "brand": "hermes",
  "model": "birkin",
  "price": "24,500",
  "currency": "USD",
  "size": "35",
  "platform": "vestiaire",
  "colorRaw": "Beige",
  "colorBucket": "beige",
  "materialBucket": "togo"
}

Building a Birkin price history

A single run is a snapshot. To get a Birkin price history, schedule the same input daily with Apify schedules and keep the datasets. The arbitrage tool also has a monitoring mode that only emits new or changed rows after a first baseline run. On Vestiaire Collective, the sold items scraper records price changes across runs in a priceHistory field when you reuse the same tracking store name, and it labels a listing that disappears as missing or likely_sold, never as a confirmed sale.

What a run costs

Both tools are billed per result, so you pay for rows delivered, not for time.

  • Cross-platform Birkin and Kelly tool: 3.00 USD per 1,000 listing results, so 0.003 USD per normalized listing. The README also lists a 0.01 USD start event, so a snapshot with 80 listings comes to about 0.25 USD. Rows that carry a deal signal are priced separately: on the free tier, a review candidate is 0.25 USD and a strict arbitrage opportunity is 1.00 USD. Check the pricing tab before scaling.
  • Vestiaire Collective sold items scraper: 25.00 USD per 1,000 results, so 0.025 USD per active listing on the free tier. 200 listings cost about 5.00 USD, plus a small charge per search page. Sold observations are priced a little higher at 0.030 USD each.

Start with a capped test run, look at the rows, then raise the limits only if the output fits your workflow.

This is general information, not legal advice.

  • Public data: both tools read public listing pages only. They do not log in, buy, reserve items, or message sellers.
  • Site terms: each marketplace has its own terms of use, and some restrict automated access. You are responsible for reading them and deciding whether your use fits.
  • Personal data and GDPR: listings can include seller names, seller country or location hints. If you are in the EU or handle data about people in the EU, that is personal data under GDPR. Collect only what you need for price research, keep it no longer than needed, and do not use it to contact or profile sellers without a lawful basis.
  • Brands: neither tool is affiliated with Hermes, Chanel or any of the marketplaces. Neither tool authenticates bags, and the estimated return is not a profit guarantee.

FAQ

What is a Hermes Birkin second hand price today?

It depends on the exact size, leather, color, hardware and condition. Pull current asking prices for that exact bag from several resale sites and compare like for like instead of trusting one average.

Is there a free Birkin price tracker?

You can track prices by hand in a spreadsheet for free. A hosted tool charges per result: the cross-platform tool costs 3.00 USD per 1,000 listing results, and a scheduled run turns it into a tracker.

Does the tool show sold prices or asking prices?

The cross-platform tool returns public asking prices of live listings. For sold results, the Vestiaire Collective scraper collects public sold-search rows, whose displayed price is not the private final amount.

How do I spot a Birkin listed below the market?

Compare it only with bags that share the same matchKey. A row with a high grossSpreadPercent that keeps a positive estimatedNetRoiPercent after your own cost assumptions is worth a manual check of photos, seller and authenticity.

Does it cover the Kelly and Chanel Classic Flap too?

Yes. The models input accepts birkin, kelly and classic_flap, and all three use the same normalized fields.