Biffi Scraper — Luxury Fashion Products & Style Codes
Pricing
from $1.20 / 1,000 result scrapeds
Biffi Scraper — Luxury Fashion Products & Style Codes
Scrape luxury fashion products, prices, sizes, stock, and manufacturer style codes from Biffi.com, the Italian multi-brand designer boutique. Supports full-catalog scraping via Shopify's JSON API.
Pricing
from $1.20 / 1,000 result scrapeds
Rating
0.0
(0)
Developer
Studio Amba
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
Biffi Scraper
Scrape the full product catalog of Biffi.com — the Italian multi-brand luxury boutique carrying Veja, Timberland, Polo Ralph Lauren, Birkenstock, and dozens of other designer and premium labels. No cookies or login required.
Why use this actor?
Biffi's storefront doesn't publish a machine-readable feed, but the underlying Shopify platform exposes a public products.json endpoint with every product, variant, price, and stock level. This actor pulls that feed and does the work a raw JSON dump never does: it extracts the manufacturer's own style code from the variant SKU, normalizes it, and structures the catalog into a clean, joinable dataset.
Luxury fashion has no EAN/barcode standard across retailers — the manufacturer style code (the same code on the garment's hangtag) is the only reliable way to match the same physical product across different shops. This actor surfaces that code directly.
Features
- Full-catalog scraping — pages through
products.jsonuntil the feed is exhausted - Manufacturer style-code extraction by regex boundary — Biffi's variant SKU is
<code><colour>-<size>(e.g.CP0501215BLACK-41). The actor strips everything after the LAST hyphen (the trailing size token) rather than assuming a fixed code length — real stripped lengths vary from roughly 10 to 22+ characters depending on the brand and colour-name length, and every record carriesstyleCodeLength+styleCodeIsFullso downstream joins never assume a fixed shape - Per-size stock ladder — every size with its own SKU, price, and stock status
- Nullable 3-state availability —
inStock/outOfStock/nullwhen the signal is genuinely unknown, never silently coerced to false - Fast, API-based — no HTML parsing, no browser, no anti-bot fight
- Residential proxy by default — Shopify rate-limits Apify's shared datacenter IPs; this actor defaults to residential proxy to run reliably
Input
| Field | Type | Required | Description |
|---|---|---|---|
maxResults | Integer | No | Maximum number of products to return (default: 500) |
proxyConfiguration | Object | No | Proxy settings. Defaults to Apify Residential (Italy) — required for reliable runs, see Limitations |
Leave the input empty ({}) to pull a 500-product slice using the defaults above.
Output
Each result contains:
| Field | Type | Example |
|---|---|---|
brand | String | "Veja" |
productName | String | "CAMPO SNEAKERS" |
styleCode | String | null | "CP0501215BLACK" |
styleCodeRaw | String | null | "CP0501215BLACK" |
styleCodeLength | Integer | null | 14 |
styleCodeIsFull | Boolean | true |
price | Number | null | 140 |
currency | String | "EUR" |
availability | String | null | "inStock" |
sizes | Array | Per-size stock ladder: {size, sku, price, inStock} |
composition | String | null | Material composition, where the product description states it |
countryOfOrigin | String | null | Manufacturing country, where the product description states it |
imageUrl | String | null | Primary product image URL |
productUrl | String | Full product page URL |
isPreOwned | Boolean | Always false — Biffi sells new goods only |
source | String | "biffi.com" |
scrapedAt | String | ISO 8601 timestamp |
Example output
{"brand": "Veja","productName": "CAMPO SNEAKERS","styleCode": "CP0501215BLACK","styleCodeRaw": "CP0501215BLACK","styleCodeLength": 14,"styleCodeIsFull": true,"price": 140,"currency": "EUR","availability": "inStock","sizes": [{"size": "41", "sku": "CP0501215BLACK-41", "price": 140, "inStock": true},{"size": "42", "sku": "CP0501215BLACK-42", "price": 140, "inStock": true},{"size": "43", "sku": "CP0501215BLACK-43", "price": 140, "inStock": true},{"size": "44", "sku": "CP0501215BLACK-44", "price": 140, "inStock": true},{"size": "45", "sku": "CP0501215BLACK-45", "price": 140, "inStock": true}],"composition": null,"countryOfOrigin": null,"imageUrl": "https://cdn.shopify.com/s/files/1/0950/3745/6723/files/FW26---Veja---CP0501215BLACK_1-P0.jpg","productUrl": "https://www.biffi.com/products/campo-sneakers-cp0501215-black","isPreOwned": false,"source": "biffi.com","scrapedAt": "2026-07-31T09:58:19.670Z"}
Cost estimate
This actor scrapes roughly 250 products per request against Shopify's native JSON API — no HTML parsing, no browser. A full catalog scrape (~4,500-5,000 products) uses well under 0.1 compute units and completes in under a minute.
How to scrape Biffi data
- Go to this actor's page on the Apify Store.
- Click Try for free to open it in Apify Console.
- Set
maxResults(leave the default for a quick sample, or raise it to pull the full catalog), and leave the proxy settings on their default. - Click Start and wait for the run to finish — a full catalog run typically finishes in under a minute.
- Download your data in JSON, CSV, Excel, or connect it to your workflow via API.
You can also schedule regular runs to track price and stock changes over time, set up webhooks for real-time notifications, or integrate the results directly into your application using the Apify API.
How it works
Biffi, like many designer boutiques, runs on Shopify. The actor pages through products.json?limit=250&page=N until an empty page signals the end of the catalog. For the style code, it takes the first variant's SKU (e.g. CP0501215BLACK-41) and strips everything from the last hyphen onward — that hyphen always separates the manufacturer's own code+colourway from the trailing size token. This is a boundary strip, not a fixed-length slice: styleCodeLength is computed per record so nothing downstream has to assume a length that doesn't hold across brands.
Limitations
- Shopify's products.json endpoint hard-caps at 250 items per page regardless of a higher
limit=parameter — the actor accounts for this and paginates accordingly. - Shopify rate-limits repeated requests from the same IP (observed live: 429s on Apify's shared datacenter proxy pool, even though Biffi itself has no anti-bot protection). The actor retries with exponential backoff and defaults to residential proxy to avoid this.
compositionandcountryOfOriginare best-effort, extracted from free-text product descriptions. Biffi's feed has no structured field for either, so coverage is genuinely low (roughly 1-5% for composition, ~25-30% for country in observed runs) — this reflects what Biffi actually publishes, not an extraction gap. UsestyleCodeto enrich these fields from another source if needed.- Data is scraped from the public feed and may change without notice; prices and stock reflect the moment of the run.
Related scrapers
Studio AMBA runs a wider fleet of European fashion and marketplace scrapers, including Antonioli Scraper and Nugnes1920 Scraper — two more Italian multi-brand luxury boutiques with the same normalized style-code output, so results join cleanly across all three.