Fragrantica Scraper
Pricing
from $2.99 / 1,000 results
Go to Apify Store
Fragrantica Scraper
Scrape Fragrantica perfume search and product pages — notes, accords, ratings, brands, and reviews.
Turn Fragrantica perfume pages into structured JSON. Search by keyword or paste search / perfume URLs, then collect brand, notes pyramid, main accords, ratings, images, seasonal vote breakouts, and optional review snippets.
Features
- Search by
queryand/orstartUrls(search pages + perfume detail URLs) - Perfume id, title, description, brand, gender, launch year (when present)
- Main accords with relative strength and color
- Notes pyramid: top / middle / base
- User rating average and vote counts
- Longevity, sillage, price-value, and seasonal vote breakouts when shown
- Primary image + extra gallery URLs
- Optional review text collection with a per-perfume cap
omitFieldsto drop heavy slices (e.g.reviews,images) from the output
Input
| Field | Type | Default | Description |
|---|---|---|---|
query | string | — | Keyword search (provide query and/or startUrls) |
startUrls | array | — | Search URLs and/or /perfume/...-123.html detail URLs |
maxItems | integer | 10 | Max perfume detail pages to scrape |
allReviews | boolean | false | Try to load more review content per perfume |
maxItemsReviews | integer | 50 | Cap on review snippets per perfume |
omitFields | array | — | Output keys to remove from each item |
proxyConfiguration | object | — | Residential proxies recommended for production |
Search example
{"query": "Chanel","maxItems": 10,"allReviews": false}
Detail URLs example
{"startUrls": ["https://www.fragrantica.com/perfume/Chanel/Chanel-No-5-Eau-de-Parfum-40069.html"],"maxItems": 1,"omitFields": ["reviews", "peopleWhoLikeThisAlsoLike"]}
Search URL + reviews
{"startUrls": ["https://www.fragrantica.com/search/?query=Avon"],"maxItems": 5,"allReviews": true,"maxItemsReviews": 30}
Output
One Dataset item per perfume:
| Field | Description |
|---|---|
id | Numeric perfume id from the URL |
url / title / description | Page identity and blurb |
brandName / brandUrl / brandLogo | Designer fields |
primaryImageUrl / images | Bottle / marketing images |
mainAccords | { accord, value, color, rgb, hex }[] |
pyramid | { top, middle, base } note arrays |
perfumeRating / ratingCount / reviewCount | Community scores |
ratingBreakout | love / like / ok / dislike / hate counts when present |
longevityBreakout / sillageBreakout / priceValueBreakout | Vote histograms |
seasonBreakout | winter / spring / summer / fall / day / night |
gender / year | Audience and launch year when detected |
perfumers | Nose credits when listed |
peopleWhoLikeThisAlsoLike | Related perfume links |
reviews | Text snippets (optional) |
error | Present when a single perfume failed |
scrapedAt | ISO timestamp |
Example shape
{"id": "40069","title": "Chanel No 5 Eau de Parfum Chanel for women","brandName": "Chanel","perfumeRating": 3.57,"ratingCount": 12509,"gender": "women","mainAccords": [{ "accord": "woody", "value": 100, "hex": "#774414" },{ "accord": "aldehydic", "value": 85.26 }],"pyramid": {"top": ["Aldehydes", "Ylang-Ylang", "Neroli", "Bergamot", "Peach"],"middle": ["Iris", "Jasmine", "Rose", "Lily-of-the-Valley"],"base": ["Sandalwood", "Oakmoss", "Vanilla", "Patchouli", "Vetiver"]},"primaryImageUrl": "https://fimgs.net/mdimg/perfume-thumbs/375x500.40069.jpg"}
Use cases
- Build fragrance catalogs and recommendation datasets
- Competitive research across designers and notes
- Enrich e-commerce listings with accords / pyramid metadata
Scope notes
- Search pages are scrolled to discover perfume links up to
maxItems; very deep catalogs may need multiple queries. - Review extraction is best-effort text snippets from the page — not a full threaded forum export.
- Vote breakout labels depend on what the page currently renders; missing sections stay empty objects / null.
- Pros / cons community lists are not always present on every perfume page.
Tips
- Start with
maxItems: 3and one brand query to validate proxies. - Residential proxies are recommended for production.
- Use
omitFields: ["reviews", "images"]for lighter rows when you only need accords and ratings. - Prefer direct perfume URLs in
startUrlswhen you already know the targets.