API para desarrolladores
API REST gratuita con respuestas JSON estructuradas. Clave API requerida (gratuita). CORS habilitado. Perfecto para crear aplicaciones, motores de recomendación o alimentar LLMs con datos de fragancias.
URL base
https://fraganty.aiTodos los endpoints de la API requieren una clave API gratuita. Inclúyela en cada solicitud mediante la cabecera X-API-Key o el parámetro api_key.
Cabecera
X-API-Key: YOUR_API_KEYParámetro de consulta
?api_key=YOUR_API_KEYSolicita tu clave API gratuita en [email protected]
/api/perfumesListar y buscar perfumes
Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
| q | string | Buscar por nombre |
| brand | string | Filtrar por slug de marca |
| page | number | Número de página (por defecto: 1) |
| limit | number | Resultados por página (por defecto: 20, máx: 100) |
Ejemplo de petición
Respuesta
{
"data": [
{
"id": "rose-goldea-kathleen-kye-edition",
"name": "Rose Goldea Kathleen Kye Edition",
"brand": "Bvlgari",
"year": 2021,
"rating": 4.62,
"concentration": null,
"image": "https://img.fraganty.ai/perfume/64818.jpg",
"buyUrl": "https://fraganty.ai/goto/rose-goldea-kathleen-kye-edition",
"accords": [
{ "name": "Rose", "strength": 100, "color": "#C4647C" },
{ "name": "Floral", "strength": 79, "color": "#9E3B52" }
]
}
],
"total": 2460,
"page": 1,
"pages": 492
}/api/perfumes/:slugObtener detalles completos del perfume, incluyendo notas, acordes, valoraciones, estaciones y perfumes similares
Ejemplo de petición
Respuesta
{
"id": "bleu-de-chanel-eau-de-parfum",
"name": "Bleu de Chanel Eau de Parfum",
"brand": "Chanel",
"year": 2014,
"rating": 4.21,
"concentration": "Eau de Parfum",
"gender": "masculine",
"description": "...",
"buyUrl": "https://fraganty.ai/goto/bleu-de-chanel-eau-de-parfum",
"notes": {
"top": [{ "name": "Lemon", "intensity": 80 }],
"middle": [{ "name": "Cedar", "intensity": 90 }],
"base": [{ "name": "Sandalwood", "intensity": 85 }]
},
"accords": [...],
"seasons": { "winter": 45, "spring": 60, "summer": 30, "fall": 65 },
"dayNight": { "day": 55, "night": 70 },
"similarPerfumes": [...],
"perfumers": [{ "name": "Olivier Polge" }]
}/api/brandsListar todas las marcas con cantidad de perfumes
Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
| q | string | Buscar marcas por nombre |
Ejemplo de petición
Respuesta
{
"data": [
{ "name": "Guerlain", "slug": "Guerlain", "count": 412 },
{ "name": "Dior", "slug": "Dior", "count": 312 },
{ "name": "Chanel", "slug": "Chanel", "count": 248 }
],
"total": 6619
}/api/notesListar todas las notas de fragancias con recuentos de frecuencia
Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
| limit | number | Limitar resultados (por defecto: todos) |
Ejemplo de petición
Respuesta
{
"data": [
{ "name": "Musk", "count": 3097 },
{ "name": "Bergamot", "count": 2498 },
{ "name": "Rose", "count": 2460 }
],
"total": 981
}/api/perfumersListar todos los perfumistas con cantidad de perfumes
Ejemplo de petición
Respuesta
{
"data": [
{ "name": "Alberto Morillas", "slug": "alberto-morillas", "count": 45 },
{ "name": "Olivier Polge", "slug": "olivier-polge", "count": 38 }
],
"total": 358
}/api/perfumers/:slugObtener detalles del perfumista con sus perfumes (paginado)
Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
| page | number | Número de página (por defecto: 1) |
| limit | number | Resultados por página (por defecto: 20) |
Ejemplo de petición
Respuesta
{
"name": "Alberto Morillas",
"slug": "alberto-morillas",
"perfumes": {
"data": [...],
"total": 45,
"page": 1,
"pages": 3
}
}