Fragrantica APIfragrantica.com ↗
Access Fragrantica perfume data via API: search 9 endpoints for notes pyramids, accords, ratings, trending rankings, new releases, and brand directories.
What is the Fragrantica API?
The Fragrantica API exposes 9 endpoints covering perfume search, detailed fragrance profiles, brand directories, note catalogs, and trend rankings. The get_perfume_details endpoint returns the full notes pyramid (top, middle, base), main accords with intensity scores, average rating, and description text for any perfume page. Developers can also pull trending rankings with configurable time windows and noise parameters, browse new releases, and retrieve user reviews with per-reviewer longevity, sillage, and seasonal preference data.
curl -X GET 'https://api.parse.bot/scraper/d2c369a4-db4f-46ae-829d-562361126109/search_perfumes?page=0&limit=5&query=rose' \ -H 'X-API-Key: $PARSE_API_KEY'
Full-text search over Fragrantica's perfume database via Algolia. Returns paginated results with perfume name, designer, year, rating, gender, and thumbnail. The API key is fetched dynamically from the site on first call.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number (0-based) |
| limit | integer | Results per page (max 100) |
| queryrequired | string | Search keyword (e.g. 'chanel', 'rose', 'dior') |
{
"type": "object",
"fields": {
"hits": "array of perfume objects with naslov (name), dizajner (designer), godina (year), rating, slug, id, spol (gender), thumbnail",
"page": "integer current page number",
"nbHits": "integer total number of matching perfumes",
"nbPages": "integer total number of pages",
"hitsPerPage": "integer results per page"
},
"sample": {
"data": {
"hits": [
{
"id": 40069,
"slug": "Chanel/Chanel-No-5-Eau-de-Parfum",
"spol": "female",
"godina": 1986,
"naslov": "Chanel No 5 Eau de Parfum",
"rating": 3.5883,
"dizajner": "Chanel",
"thumbnail": "https://fimgs.net/mdimg/perfume/m.40069.jpg"
}
],
"page": 0,
"nbHits": 391,
"nbPages": 20,
"hitsPerPage": 20
},
"status": "success"
}
}About the Fragrantica API
Search and Perfume Lookup
The search_perfumes endpoint runs a full-text query against Fragrantica's perfume database and returns paginated results — up to 100 per page — including naslov (name), dizajner (designer), godina (release year), rating, spol (gender), and a thumbnail URL. The 0-based page parameter lets you walk through all matching results. For a more targeted lookup, find_perfume accepts brand and name parameters and returns a resolved perfume record with top_notes, heart_notes, base_notes, concentration (e.g. "Eau de Parfum"), and fragrance_family — useful when you know the specific perfume but not its Fragrantica URL.
Perfume Detail and Reviews
get_perfume_details takes a full Fragrantica URL and returns the complete fragrance profile: the notes object with top, middle, and base arrays, main_accords with per-accord intensity values, rating_value, rating_count, brand, and a description string. get_perfume_reviews fetches user reviews from the same URL and surfaces per-review data including author, rating (1–5), longevity, sillage, season flags, time-of-day flags, and gender. The section parameter selects between all reviews, popular positive reviews, or popular negative reviews.
Trends, New Releases, and Popularity
get_trending_perfumes returns up to 300 entries from Fragrantica Pulse ordered by trend rank. The period parameter accepts 7, 30, or 90-day windows, and temperature (1–100) shifts results between mainstream popular picks and hidden-gem or anticipated releases. An optional gender filter narrows the list. list_new_perfumes returns the current new-release carousel as the site orders it, while list_popular_perfumes returns the roughly 24-entry homepage ranking with rank, id, title, and thumbnail per entry.
Brands and Notes Catalog
list_brands accepts a single letter parameter (A–Z) and returns brand name and url pairs for all designers starting with that character — useful for building a complete brand index. list_notes requires no input and returns the full notes taxonomy grouped by category (Citrus, Flowers, Woods, etc.), with each note's name, url, and image included.
The Fragrantica API is a managed, monitored endpoint for fragrantica.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when fragrantica.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official fragrantica.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a fragrance recommendation engine using notes pyramid data from
get_perfume_detailsto match user scent preferences. - Track which perfumes are gaining traction week-over-week using
get_trending_perfumeswith 7-day and 30-day period comparisons. - Populate a perfume database with brand directories by iterating
list_brandsacross all 26 letters. - Enrich a retail product catalog with
concentrationandfragrance_familyfields viafind_perfumelookups. - Analyze community sentiment by aggregating
longevityandsillagescores fromget_perfume_reviewsacross multiple perfumes. - Surface newly-launched fragrances in a newsletter or feed using
list_new_perfumeson a recurring schedule. - Index the full notes taxonomy from
list_notesto power faceted search filters in a fragrance discovery app.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Fragrantica offer an official developer API?+
What does `get_perfume_reviews` return, and how do I filter by review type?+
author username, rating (1–5, or 0 if not rated), longevity and sillage numeric scores, binary season and time-of-day flags, and the review text. The section parameter controls which panel is returned: all reviews ordered by date, popular positive reviews, or popular negative reviews.Does `get_trending_perfumes` support filtering by fragrance family or note?+
gender. The returned items include name, brand, url, thumbnail, and rank, but not notes or fragrance family. You can fork the API on Parse and revise it to add a notes-based filter by chaining calls to get_perfume_details.Is pagination supported across all search and listing endpoints?+
search_perfumes supports pagination via the page (0-based) and limit (max 100) parameters, and returns nbHits and nbPages for cursor control. list_new_perfumes and list_popular_perfumes do not paginate — they return whatever the site's homepage currently shows, which is typically 24 entries for popular and a carousel-sized set for new releases. list_brands and list_notes are also single-response endpoints with no pagination.