Skip to main content

Fragrance discovery

Most users arrive at a fragrance platform without a specific product in mind. They may know they like “something fresh” or “something like the perfume my friend wears” — but they can’t articulate it in product catalog terms. Without guidance, they browse aimlessly and leave without buying. WikiParfum turns this open-ended exploration into a structured, guided experience — helping users move from vague preferences to concrete fragrance options through multiple complementary entry points.

What you can build

  • Search-as-you-type interfaces across perfumes, brands, and ingredients
  • Ingredient-driven browsing — “show me perfumes with oud”
  • Olfactive family navigation — visual maps and family-based filtering
  • Guided questionnaires that progressively narrow down fragrance matches

Search across the catalog

The unified search query lets users type freely and get results across perfumes, ingredients, brands, families, and perfumists — ideal for building an omnibox or search bar. Results are scored by relevance and grouped by entity type.
query Search {
  search(q: "dior", lang: "EN", types: [perfumes], limit: 10) {
    totals {
      perfumes
    }
    results {
      perfumes {
        id
        score
      }
    }
  }
}
Search works across all supported languages — pass the appropriate lang parameter for localized results. Use limit_catalog: true to restrict results to your Product Feed. See Search for the full query reference, including multi-type search, catalog scoping, and multi-language support.

Browse by ingredient

One of the most engaging discovery paths. Users who enjoy a particular note — oud, vanilla, bergamot — can explore all perfumes built around it. This bridges the gap between how consumers think about fragrance (in terms of notes and sensations) and how catalogs are structured (by brand and product name).
query PerfumesByIngredient {
  findPerfumeByIngredient(
    ingredientSlug: "vanilla-2"
    lang: "EN"
    page: "0,10"
  ) {
    id
    name
    brand {
      name
    }
    family {
      name
      color
    }
    ingredients {
      name
      proportion
      hero
    }
  }
}
You can also require multiple ingredients simultaneously — for example, finding perfumes that feature both rose and oud:
query PerfumesWithMultipleIngredients {
  findPerfumeByIngredient(
    ingredient: "42,87"
    lang: "EN"
    and: true
    page: "0,10"
  ) {
    id
    name
  }
}
Families — Floral, Woody, Ambery, Citrus, and their subfamilies — are the top-level taxonomy of fragrance. They provide a natural browsing structure for users who think in terms of scent character rather than specific products. See Olfactive Classification for the full classification guide.
query PrimaryFamilies {
  findFamilies(search: { lang: "EN", isPrimary: true }) {
    id
    name
    slug
    color
    description
    image {
      urls {
        low
        mid
      }
    }
  }
}
Each family includes a color and imagery, making it easy to build visual navigation grids. See Families for the full entity reference.

Guided discovery

The discoverPerfumes query powers step-by-step questionnaire flows. Users answer a series of preference questions and receive a curated set of matching perfumes — no fragrance knowledge required. This is the technology behind the Fragrance Profiler product.
query GuidedDiscovery {
  discoverPerfumes(
    questions: [
      { id: "gender", value: 1 }
      { id: "family", value: 3 }
    ]
    lang: "EN"
  ) {
    id
    name
    brand {
      name
    }
    family {
      name
    }
  }
}
This is particularly effective for onboarding new users or building interactive gift-finder experiences.