Skip to main content

Perfume data

Perfumes are the central entity in WikiParfum. Each perfume record includes rich metadata — brand, olfactive family, ingredients, perfumers, imagery, and more — enabling product pages, comparison tools, and enriched catalog experiences.

Retrieve a single perfume

Fetch a perfume by its unique ID, URL-friendly slug, or EAN barcode.

By ID

query PerfumeById {
  findPerfumeById(id: "424", lang: "EN") {
    id
    name
    description
    brand {
      name
    }
    family {
      name
      color
    }
    secondaryFamily {
      name
    }
    gender
    year
    ingredients {
      id
      name
      proportion
      hero
    }
    image {
      urls {
        low
        mid
        high
      }
    }
    slug
  }
}

By slug

Useful for SEO-friendly URLs and deep linking.
query PerfumeBySlug {
  findPerfumeBySlug(slug: "good-girl", lang: "EN") {
    id
    name
    brand {
      name
    }
    family {
      name
    }
  }
}

By EAN

Look up a perfume using its barcode — ideal for scan-to-discover experiences.
query PerfumeByEAN {
  findPerfumeByEAN(ean: "8411061994351", lang: "EN") {
    id
    name
    brand {
      name
    }
  }
}
You can also look up multiple EANs at once:
query PerfumesByEANS {
  findPerfumesByEANS(
    eans: ["8411061994351", "0085715166067"]
    lang: "EN"
  ) {
    id
    name
    ean
  }
}

List and filter perfumes

Retrieve perfumes with full-text search, filters, sorting, and pagination.
query FilteredPerfumes {
  findPerfumes(search: {
    lang: "EN"
    search: "sauvage"
    page: "0,20"
    order_by: "name asc"
    filters: {
      gender: "M"
    }
  }) {
    id
    name
    brand {
      name
    }
    family {
      name
    }
    gender
    year
  }
}

Filter by brand

query PerfumesByBrand {
  findPerfumes(search: {
    lang: "EN"
    brand: "42"
    page: "0,20"
  }) {
    id
    name
    year
  }
}

Filter by perfumist

query PerfumesByPerfumist {
  findPerfumes(search: {
    lang: "EN"
    perfumistSlug: "francis-kurkdjian"
    page: "0,20"
  }) {
    id
    name
    brand {
      name
    }
  }
}
Get perfumes similar to one or more input perfumes, ranked by olfactive proximity. See the Recommendations guide for business context and advanced patterns.

By perfume ID

query RecommendedPerfumes {
  recommendedPerfumes(search: {
    perfumes: "424,1"
    lang: "EN"
    page: "0,10"
  }) {
    id
    name
    brand {
      name
    }
    family {
      name
      color
    }
    image {
      urls {
        low
        mid
      }
    }
  }
}

By EAN

Use EAN barcodes as input — ideal for scan-based or POS-integrated experiences where you have barcodes but not WikiParfum IDs.
query RecommendByEAN {
  recommendedPerfumes(search: {
    perfumeEans: "8411061994351,0085715166067"
    lang: "EN"
    page: "0,10"
  }) {
    id
    name
    brand {
      name
    }
  }
}

User-scoped

Pass a userId to incorporate the user’s interaction history into the ranking. Over time, recommendations become increasingly aligned with each user’s evolving taste profile. See Sessions and CRM Personalization for details.
query UserRecommendations {
  recommendedPerfumes(
    search: {
      perfumes: "424"
      lang: "EN"
      page: "0,10"
    }
    userId: "user-abc-123"
  ) {
    id
    name
    brand {
      name
    }
  }
}

Custom recommendation rules

Use customRecommendation to control which brands or perfumes appear in results. Essential for retailers who need recommendations limited to their own assortment, or brands that want to exclude competitors.
query CustomRecommendations {
  recommendedPerfumes(search: {
    perfumes: "424"
    lang: "EN"
    page: "0,10"
    customRecommendation: {
      enabled: true
      excludedBrands: [42, 87]
      includedBrands: [10, 25, 33]
      excludedPerfumes: [1]
    }
  }) {
    id
    name
    brand {
      name
    }
  }
}
FieldDescription
excludedBrandsBrand IDs to exclude from results
includedBrandsOnly return perfumes from these brands
excludedPerfumesSpecific perfume IDs to exclude
includedPerfumesSpecific perfume IDs to include

Filtered recommendations

Recommendations can be narrowed using standard filters. See Filtering & Pagination for all available filter options.
query FilteredRecommendations {
  recommendedPerfumes(search: {
    perfumes: "424"
    lang: "EN"
    page: "0,10"
    filters: {
      gender: "F"
      classification: "prestige"
    }
  }) {
    id
    name
    gender
  }
}

Key perfume fields

FieldDescription
namePerfume name
brandBrand information
family / secondaryFamilyOlfactive family classification (primary and secondary)
genderTarget gender: "F", "M", or "U" (unisex)
year / monthRelease date
ingredientsList of ingredients with proportion and hero flag
classificationMarket segment: "prestige" or "mass"
slugURL-friendly identifier
ean / eansBarcode(s)
imageResized image URLs (small, medium, large)
perfumersPerfumers who created the fragrance
intensityOlfactive intensity score
discontinuedWhether the perfume is discontinued