fragrantica.it APIfragrantica.it ↗
Search Fragrantica fragrances and retrieve notes, accords, perfumer, ratings, and olfactory family via a simple REST API.
curl -X GET 'https://api.parse.bot/scraper/14198d37-e4ad-4f4e-a605-188b0e7b2735/search_fragrances?limit=3&query=Sauvage' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for fragrances by keyword using the site's Algolia-powered search. Returns a list of matching fragrances with their names, brands, and Italian site URLs.
| Param | Type | Description |
|---|---|---|
| limit | integer | Maximum number of results to return. |
| queryrequired | string | Search keyword (e.g., 'Sauvage', 'Chanel No 5'). |
{
"type": "object",
"fields": {
"results": "array of fragrance objects with name, brand, url, image, and year"
},
"sample": {
"data": {
"results": [
{
"url": "https://www.fragrantica.it/perfume/Dior/Sauvage-31861.html",
"name": "Sauvage",
"year": 2015,
"brand": "Dior",
"image": "https://fimgs.net/mdimg/perfume/375x500.31861.jpg"
}
]
},
"status": "success"
}
}About the fragrantica.it API
The Fragrantica API provides access to fragrance data from fragrantica.it across 2 endpoints, returning up to 11 structured fields per perfume. Use search_fragrances to find fragrances by keyword and get matching names, brands, release years, and page URLs, then pass any URL to get_fragrance_details to retrieve top, heart, and base notes, main accords with strength percentages, the perfumer name, olfactory family classification, and community rating.
Endpoints
search_fragrances accepts a required query string (e.g. 'Sauvage' or 'Chanel No 5') and an optional limit integer. It returns an array of fragrance objects, each with name, brand, url, image, and year. The url field is the canonical fragrantica.it perfume page URL and is the required input for the detail endpoint.
Fragrance Details
get_fragrance_details takes a full fragrantica.it perfume page URL and returns a structured object with name, brand, year_of_release, olfactory_family, and perfumer as scalar fields. The notes object contains three arrays — top, heart, and base — each listing individual note names. The main_accords array contains objects with a name and strength_percent field, indicating how prominently each accord registers in community votes. The rating object exposes both the average score and the total votes count.
Coverage and Limitations
The API covers the Italian-language edition of Fragrantica (fragrantica.it). Search results depend on Fragrantica's own index, so very obscure or recently added fragrances may not appear. User-submitted reviews, seasonal or situational tags (e.g. longevity, sillage), and fragrance variation/flanker listings are not part of the current response shape.
- Build a perfume discovery app that filters by olfactory family and base notes
- Aggregate community ratings and vote counts across a brand's full catalog
- Map accord strength percentages to visualize a fragrance's scent profile
- Identify the perfumer behind a fragrance for nose-focused research or editorial content
- Track year_of_release data to analyze fragrance release trends by decade
- Cross-reference top and heart notes across multiple fragrances to find similar scents
- Populate a personal fragrance journal app with structured note and accord data
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Fragrantica have an official developer API?+
What does the notes field in get_fragrance_details actually contain?+
notes object contains three arrays: top, heart, and base. Each array lists individual note names as strings (e.g. 'bergamot', 'sandalwood'). Notes are returned as Fragrantica lists them on the Italian-language perfume page. If a perfume lacks a declared note tier, that array may be empty.Does the API return longevity, sillage, or seasonal ratings from the community?+
rating (average score and vote count) and main_accords with strength percentages. Longevity, sillage, projection, and seasonal/situational community votes are not exposed. You can fork this API on Parse and revise it to add those fields.Does search_fragrances support filtering by brand, note, or accord directly?+
search_fragrances endpoint accepts a free-text query and an optional limit. It does not support structured filters by brand, note, or accord. You can fork this API on Parse and revise it to add filtered search parameters.Are flankers or fragrance variations returned as separate results?+
search_fragrances if indexed separately. The API does not group or link related variations together.