Mädchenflohmarkt API & Scraper
Mädchenflohmarkt is a German second-hand marketplace for women's fashion, and this API reads it as JSON.
🤖 Using an AI assistant? Copy this link into ChatGPT / Claude / Cursor — it reads every endpoint and parameter instantly and tells you if this API fits your use case.
`search` covers the live catalogue (374,043 items on 2026-10-14) with the site's own filters: free text, one category, several brands, several sizes, several colours, one condition grade, a price range in whole euros, sale items only and items checked and shipped by Mädchenflohmarkt itself, sorted by newest, relevance, price or likes. Every row carries brand, size, colours, condition grade, material, the current price in euros, the crossed-out original price and discount when there is one, shipping, likes, the first photo and the seller account. `product` returns one item in full: the written description with measurements, every photo, payment methods and the full seller profile. `similar` lists the items the site itself shows as similar. `seller`, `seller_listings` and `seller_reviews` read a seller's profile with its four rating scores, their closet and the reviews buyers wrote. `filters`, `categories` and `suggest` return the ids the filters take.
What a Mädchenflohmarkt field actually contains
Fields that read differently from how they look. Every row was measured against live Mädchenflohmarkt responses on 2026-10-14.
| Field | What it holds |
|---|---|
| id | The item's number, the same one at the end of its web address (…/22017250.html). Pass it unchanged to product or similar; a web URL works too. |
| price_eur, original_price_eur | price_eur is what the item costs now. original_price_eur is the crossed-out "Statt" price the item page prints, present only on discounted items; both matched the item page on 8 of 8 discounted items checked. discount_label is the site's own text ("-38%"), discount_pct_computed is ours from the two prices; they agreed on all 61 discounted rows among 250 sampled. |
| size, size_id | The size as the site stores it ("38", "40.5", "One Size"). The item page adds a letter size ("EU 38 / M"); the number matched on 10 of 10 items. One size id serves clothing and shoes alike (5 is dress 38 and shoe 38), so filter size together with a category. Items whose size the site lists as unknown return null. |
| condition | One of five grades: new_with_tags, new_without_tags, excellent, good, flawed. condition_label is the German grade the item shows ("Hervorragend") and the product action adds the site's description of it. |
| shipping_eur, shipping_text | Shipping as the item states it. It was 0.00 on all 700 rows we sampled across seven slices on 2026-10-14. |
| seller | The account the item is sold from. On 2026-10-14 every item we sampled (800 rows) came from three accounts: Mädchenflohmarkt itself, stuffle and buddyandselly. Private people who hand their clothes to Mädchenflohmarkt keep a public closet, but the item shows Mädchenflohmarkt as the seller; their own items are reachable through seller_listings. |
| shipped_by_maedchenflohmarkt | true when Mädchenflohmarkt checked the item and ships it itself (256,098 of 374,045 items). |
| published_at | The date the site attaches to the item. Sorting by newest follows the site's own index and placed 1 of 20 items out of this order. |
| total | The site's exact count for your filters: the five top-level categories add up to the unfiltered total. |
brand, size and colour take several values at once and count additively (brand 605 gives 81 items, brand 73 gives 1,540, both give 1,621); category and condition take one value, because the site applies only one. Prices are whole euros: the site ignores decimals. When the site does not apply a filter you sent, the response says so in meta.warnings.
Real request and response JSON
Captured from the indexed primary action, search, on .
{
"method": "POST",
"url": "https://api.reefapi.com/maedchenflohmarkt/v1/search",
"headers": {
"x-api-key": "$REEF_KEY",
"content-type": "application/json"
},
"body": {
"query": "gucci",
"size": [
5
],
"sort": "price_asc",
"limit": 24
}
}{
"ok": true,
"meta": {
"api": "maedchenflohmarkt",
"endpoint": "search",
"mode": "live",
"latency_ms": 1386.1,
"record_count": 24,
"bytes": 126657,
"cache_hit": false,
"total": 86,
"upstream_requests": 1,
"charged_credits": 3,
"version": "1.0.0",
"request_id": "1b3939ccd6b848f2",
"queue_ms": 1,
"fetched_at": "2026-10-14T18:57:27.158Z"
},
"data": {
"total": 86,
"total_label": "86",
"page": 1,
"limit": 24,
"has_more": true,
"applied": {
"query": "gucci",
"category": null,
"brand": null,
"size": [
5
],
"color": null,
"condition": null,
"min_price": null,
"max_price": null,
"sale": null,
"shipped_by_maedchenflohmarkt": null,
"sort": "price_asc",
"title": "gucci"
},
"items": [
{
"id": 21082400,
"url": "https://www.maedchenflohmarkt.de/produkt/21082400.html",
"title": "Gucci High-Waist Hose schwarz Casual-Look",
"brand_id": 282,
"brand_name": "Gucci",
"category": {
"id": 11,
"name": "High-Waist Hosen",
"parent_id": 2,
"path_ids": [
"[trimmed-depth]",
"[trimmed-depth]",
"[trimmed-depth]"
]
},
"size_id": 5,
"size": "38",
"size_label": "Größe 38",
"colours": [
{
"id": "[trimmed-depth]",
"name": "[trimmed-depth]",
"hex": "[trimmed-depth]"
}
],
"condition": "excellent",
"condition_id": 5,
"condition_label": "Hervorragend",
"material": "Viskose",
"price_eur": 85.04,
"original_price_eur": 112.54,
"discount_label": "-24%",
"discount_pct_computed": 24.4,
"currency": "EUR",
"shipping_eur": 0,
"shipping_text": "ab +0€ -Versand",
"shipped_by_maedchenflohmarkt": true,
"available": true,
"like_count": 6,
"published_at": "2026-10-01T00:57:18+02:00",
"badges": [
"-24%",
"SALE"
],
"image": "https://b.mfcdn.de/product/1958x2600/gucci-high-waist-hose-schwarz-casual-look-30e809.jpeg",
"images_count": 4,
"seller_id": 273188,
"seller": {
"id": 273188,
"username": "Mädchenflohmarkt",
"profile_url": "https://www.maedchenflohmarkt.de/kleiderschrank/273188/maedchenflohmarkt",
"rating_total": 1315936,
"rating_positive": 1309207,
"item_count": 256167
}
},
{
"id": 22374849,
"url": "https://www.maedchenflohmarkt.de/produkt/22374849.html",
"title": "Gucci Stoffhose hellgrau-wollweiß Karomuster Casual-Look",
"brand_id": 282,
"brand_name": "Gucci",
"category": {
"id": 509,
"name": "Stoffhosen",
"parent_id": 2,
"path_ids": [
"[trimmed-depth]",
"[trimmed-depth]",
"[trimmed-depth]"
]
},
"size_id": 5,
"size": "38",
"size_label": "Größe 38",
"colours": [
{
"id": "[trimmed-depth]",
"name": "[trimmed-depth]",
"hex": "[trimmed-depth]"
},
{
"id": "[trimmed-depth]",
"name": "[trimmed-depth]",
"hex": "[trimmed-depth]"
}
],
"condition": "excellent",
"condition_id": 5,
"condition_label": "Hervorragend",
"material": "keine Materialangabe vorhanden",
"price_eur": 94.94,
"original_price_eur": 103.74,
"discount_label": "-8%",
"discount_pct_computed": 8.5,
"currency": "EUR",
"shipping_eur": 0,
"shipping_text": "ab +0€ -Versand",
"shipped_by_maedchenflohmarkt": true,
"available": true,
"like_count": 1,
"published_at": "2026-10-01T01:23:18+02:00",
"badges": [
"-8%",
"SALE"
],
"image": "https://b.mfcdn.de/product/1950x2600/0-gucci-stoffhose-14ef91.jpeg",
"images_count": 3,
"seller_id": 273188,
"seller": {
"id": 273188,
"username": "Mädchenflohmarkt",
"profile_url": "https://www.maedchenflohmarkt.de/kleiderschrank/273188/maedchenflohmarkt",
"rating_total": 1315936,
"rating_positive": 1309207,
"item_count": 256167
}
},
{
"id": 22805873,
"url": "https://www.maedchenflohmarkt.de/produkt/22805873.html",
"title": "Pumps von Gucci in Schwarz Gr. 38 EUR",
"brand_id": 282,
"brand_name": "Gucci",
"category": {
"id": 431,
"name": "Pumps",
"parent_id": 406,
"path_ids": [
"[trimmed-depth]",
"[trimmed-depth]"
]
},
"size_id": 5,
"size": "38",
"size_label": "Größe 38",
"colours": [
{
"id": "[trimmed-depth]",
"name": "[trimmed-depth]",
"hex": "[trimmed-depth]"
}
],
"condition": "good",
"condition_id": 3,
"condition_label": "Gut",
"material": "Leder",
"price_eur": 99.19,
"original_price_eur": null,
"discount_label": null,
"discount_pct_computed": null,
"currency": "EUR",
"shipping_eur": 0,
"shipping_text": "ab +0€ -Versand",
"shipped_by_maedchenflohmarkt": false,
"available": true,
"like_count": 1,
"published_at": "2026-09-25T15:01:58+02:00",
"badges": [],
"image": "https://b.mfcdn.de/product/2200x2200/pumps-von-gucci-in-schwarz-gr-38-eur-a1aec6.jpeg",
"images_count": 4,
"seller_id": 3907935,
"seller": {
"id": 3907935,
"username": "buddyandselly",
"profile_url": "https://www.maedchenflohmarkt.de/kleiderschrank/3907935/buddyandselly",
"rating_total": 1797,
"rating_positive": 1712,
"item_count": 36501
}
}
]
}
}What the Mädchenflohmarkt API does
| Action | Description | Concrete use case | Key params |
|---|---|---|---|
| search | Search or browse the live catalogue (~374,000 items). Every filter was measured biting against the unfiltered total in the same run, and the engine checks the source's own echo of what it applied: a filter the source did not apply is reported in meta.warnings. brand, size and colour take several values (OR); category and condition take one. Prices are whole euros. `total` is the source's exact count; there is no paging ceiling. | Pricing teams call search to search or browse the live catalogue (~374,000 items). | query, category, brand, size, color, ... |
| product | One item, complete: everything a search row has plus the full description (measurements and details as the source writes them), every photo with its size, payment methods, the condition text, the brand block and the full seller profile. Pass `id` (from any row) or a product `url`. | Marketplace operators call product to get one item, complete. | id, url, include_pii |
| similar | Items the source itself lists as similar to one item (measured: 13 for a leather belt). | Catalog enrichment teams call similar to get items the source itself lists as similar to one item (measured. | id, url, limit, include_pii |
| seller | A seller account's public profile: username, active-since date, about text, item count, followers, rating total, positive count, the four rating scores (article, communication, shipping time, shipping) and, for business accounts, the business block. | Retail analysts call seller to get a seller account's public profile. | seller_id, include_pii |
| seller_listings | A seller's closet: the items listed from that account. For private sellers whose items Mädchenflohmarkt checks and ships, this is the only place their items are tied to them (on the item itself the seller shown is Mädchenflohmarkt). | Pricing teams call seller_listings to get a seller's closet. | seller_id, sort, page, limit, include_pii |
| seller_reviews | Written buyer reviews of a seller (positive/negative + comment + date). `rating_total` is the source's count of ALL ratings; the source lists fewer of them as rows (measured 63 rows for 551, 9 for 71). | Marketplace operators call seller_reviews to get written buyer reviews of a seller (positive/negative + comment + date). | seller_id, page, limit, include_pii |
| filters | The filter vocabulary the source publishes, optionally for one category: brand ids (the source cuts the list at 1,000, A-Z), size ids, colour keys, condition grades, price range buckets and sort options. | Catalog enrichment teams call filters to get the filter vocabulary the source publishes, optionally for one category. | category, include_pii |
| categories | The category tree (787 nodes under 5 roots) with ids for `search.category`. | Retail analysts call categories to get the category tree (787 nodes under 5 roots) with ids for `search.category`.. | parent, depth, include_pii |
| suggest | The storefront's autocomplete: brand and category suggestions for a prefix, each with the id to pass to `search`. | Pricing teams call suggest to get the storefront's autocomplete. | query, include_pii |
Call search from your stack
curl -X POST https://api.reefapi.com/maedchenflohmarkt/v1/search \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"query":"gucci","size":[5],"sort":"price_asc","limit":24}'import requests
r = requests.post(
"https://api.reefapi.com/maedchenflohmarkt/v1/search",
headers={"x-api-key": REEF_KEY},
json={
"query": "gucci",
"size": [
5
],
"sort": "price_asc",
"limit": 24
},
)
print(r.json()["data"])const res = await fetch("https://api.reefapi.com/maedchenflohmarkt/v1/search", {
method: "POST",
headers: {
"x-api-key": process.env.REEF_KEY,
"content-type": "application/json",
},
body: JSON.stringify({
"query": "gucci",
"size": [
5
],
"sort": "price_asc",
"limit": 24
}),
});
const { ok, data, meta, error } = await res.json();Ask your MCP-connected assistant: call reefapi.maedchenflohmarkt.search with {"query":"gucci","size":[5],"sort":"price_asc","limit":24}.Who uses this API and why
- Price second-hand designer pieces in Germany: search a brand and condition, sort by price and track euro prices and discounts over time.
- Measure how deep discounts go: compare original_price_eur with price_eur across a brand or category.
- Compare resale supply between Mädchenflohmarkt, Sellpy and Vinted for the same brand and size.
- Alert on new arrivals of one brand in one size under a price you set, sorted newest first.
- Study which brands and categories collect the most likes on a German resale marketplace.
Questions developers ask before integrating
Do I need a Mädchenflohmarkt account?
No. Everything is read logged out, and you call reefapi.com from anywhere.
How do I get from a search row to the full item?
Pass the row's id to product, or the item's web address as url. On 10 of 10 rows we checked, the full item had the same id, title, price, size and condition as the search row.
How do I filter by brand?
Brand filters take numeric ids. suggest turns a name into its id ("zara" gives Zara, Zara Basic, Zara Trafaluc, Zara Woman with their ids) and filters lists the first 1,000 brands A to Z. Several ids can be passed at once.
Can I filter by size, colour, condition and price?
Yes, and each filter was checked against the unfiltered count in the same run: 373,976 items → black 97,255, black or red 115,149, new with tags 17,533, size 38 88,508, from 100 € 15,561, up to 10 € 5,533, on sale 230,595. Size 38 inside shoes alone gives 4,820.
How deep can I page?
All the way. Up to 100 items a page and no page limit: the last page of the full catalogue answered with its last 43 items.
Can I read a seller's profile and reviews?
Yes. seller returns username, active-since date, about text, item count, followers, the number of ratings, the positive share and four scores (article, communication, shipping time, shipping). seller_reviews returns written reviews with positive or negative, date and comment; the site lists fewer reviews than its rating count (63 written reviews for a seller with 551 ratings), so both numbers are returned.
Do you return sold items or sale prices?
No. The site only shows items that are still for sale, so sold items and what they sold for are not available.
Which sizes can I filter by?
Size ids from filters, several at once. One id serves clothing and shoes alike (id 5 is dress size 38 and shoe size 38), so add a category: size 38 alone gives 88,508 items, size 38 inside shoes 4,820.
What is the Mädchenflohmarkt API?
Mädchenflohmarkt API is a ReefAPI endpoint group for germany's second-hand women's fashion marketplace: items with brand, size, condition, euro price, the original price, discount and seller. It returns live JSON through POST requests under /maedchenflohmarkt/v1.
Is the Mädchenflohmarkt API free to try?
Yes. ReefAPI starts with 1,000 free credits, no card required. Mädchenflohmarkt calls use the same shared credit balance as every other ReefAPI engine.
Do I need a Mädchenflohmarkt login or account?
No login to Mädchenflohmarkt is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.
How fresh is the Mädchenflohmarkt data?
The page example is captured from a live search call, and production requests fetch live data through ReefAPI rather than a static sample.
How many credits does the Mädchenflohmarkt API use?
Mädchenflohmarkt actions currently cost 1-3 credits per successful call. Failed or blocked calls are free. All APIs draw from one credit pool.
Can I call Mädchenflohmarkt from an AI assistant or MCP client?
Yes. Connect ReefAPI once through MCP and your assistant can call maedchenflohmarkt actions with the same key, credit pool and JSON envelope used by normal REST requests.