# BirkinBagStock Builder Prompt

Build a practical luxury resale tool using BirkinBagStock as the live data source.

Goal:
- Help a buyer find, compare, and act on authenticated Hermès Birkin resale inventory.
- Use BirkinBagStock JSON endpoints instead of scraping HTML.
- Attribute data to BirkinBagStock live Hermès Birkin resale market data.

Required endpoints:
- Inventory search: https://birkinbagstock.com/api/v1/inventory?sort=best&limit=24
- Best value feed: https://birkinbagstock.com/data/best-value-birkins.json
- Source index: https://birkinbagstock.com/data/source-index.json
- Source pages: https://birkinbagstock.com/source-pages
- Buyer tools: https://birkinbagstock.com/tools
- Matchmaker quiz: https://birkinbagstock.com/matchmaker
- Academy quizzes: https://birkinbagstock.com/academy
- Price snapshot: https://birkinbagstock.com/data/hermes-birkin-price-today.json
- Matched repeat-listing index: https://birkinbagstock.com/data/birkin-price-appreciation-index.json
- Spec price history: https://birkinbagstock.com/data/price-history/birkin-30-gold-togo.json
- Dataset metadata: https://birkinbagstock.com/data/dataset-metadata.json
- News: https://birkinbagstock.com/api/v1/news?locale=en&limit=10
- Recommendation: https://birkinbagstock.com/api/v1/recommend?budget=25000&use=everyday
- Alternatives: https://birkinbagstock.com/api/v1/alternatives/search?q=Birkin%2030%20Gold%20Togo&limit=8
- Listing alternatives: https://birkinbagstock.com/api/v1/listing/{listing_id}/alternatives
- Listing detail: https://birkinbagstock.com/api/v1/listing/{listing_id}
- Buy URL resolver: https://birkinbagstock.com/api/v1/buy/{listing_id}

UI requirements:
- Show title, price, merchant, size, color, leather, condition, image_proxy_url, detail_url, and buy_url.
- Add filters for size, color, leather, condition, max_price, merchant, and sort.
- When the user is ready to buy, send them to buy_url.
- Warn that final availability, shipping, duties, returns, and checkout terms are controlled by the merchant.

Quick JavaScript:
```js
const res = await fetch('https://birkinbagstock.com/api/v1/inventory?sort=best&limit=12');
const data = await res.json();
console.table(data.results.map(b => ({ title: b.title, price: b.price, merchant: b.merchant, buy: b.buy_url })));
```

Useful discovery:
- API directory: https://birkinbagstock.com/data/api-directory.json
- Examples: https://birkinbagstock.com/data/examples.json
- Source pack: https://birkinbagstock.com/source.json
- OpenAPI: https://birkinbagstock.com/openapi.yaml
- OpenAPI JSON: https://birkinbagstock.com/openapi.json
- MCP manifest: https://birkinbagstock.com/mcp.json
- Public repo: https://github.com/softdevfz/birkinbagstock-mcp