Biffi Scraper — Luxury Fashion Products & Style Codes avatar

Biffi Scraper — Luxury Fashion Products & Style Codes

Pricing

from $1.20 / 1,000 result scrapeds

Go to Apify Store
Biffi Scraper — Luxury Fashion Products & Style Codes

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

Studio Amba

Maintained by Community

Actor 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.json until 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 carries styleCodeLength + styleCodeIsFull so downstream joins never assume a fixed shape
  • Per-size stock ladder — every size with its own SKU, price, and stock status
  • Nullable 3-state availabilityinStock / outOfStock / null when 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

FieldTypeRequiredDescription
maxResultsIntegerNoMaximum number of products to return (default: 500)
proxyConfigurationObjectNoProxy 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:

FieldTypeExample
brandString"Veja"
productNameString"CAMPO SNEAKERS"
styleCodeString | null"CP0501215BLACK"
styleCodeRawString | null"CP0501215BLACK"
styleCodeLengthInteger | null14
styleCodeIsFullBooleantrue
priceNumber | null140
currencyString"EUR"
availabilityString | null"inStock"
sizesArrayPer-size stock ladder: {size, sku, price, inStock}
compositionString | nullMaterial composition, where the product description states it
countryOfOriginString | nullManufacturing country, where the product description states it
imageUrlString | nullPrimary product image URL
productUrlStringFull product page URL
isPreOwnedBooleanAlways false — Biffi sells new goods only
sourceString"biffi.com"
scrapedAtStringISO 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

  1. Go to this actor's page on the Apify Store.
  2. Click Try for free to open it in Apify Console.
  3. 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.
  4. Click Start and wait for the run to finish — a full catalog run typically finishes in under a minute.
  5. 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.
  • composition and countryOfOrigin are 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. Use styleCode to 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.

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.