API pentru dezvoltatori
API REST gratuit cu răspunsuri JSON structurate. Cheie API necesară (gratuită). CORS activat. Perfect pentru aplicații, motoare de recomandare sau alimentarea LLM-urilor cu date despre parfumuri.
URL de bază
https://fraganty.aiToate endpointurile API necesită o cheie API gratuită. Include-o în fiecare cerere prin headerul X-API-Key sau parametrul api_key.
Header
X-API-Key: YOUR_API_KEYParametru de interogare
?api_key=YOUR_API_KEYSolicită cheia API gratuită la [email protected]
/api/perfumesListează și caută parfumuri
Parametri
| Nume | Tip | Descriere |
|---|---|---|
| q | string | Caută după nume |
| brand | string | Filtrează după slug-ul brandului |
| page | number | Număr pagină (implicit: 1) |
| limit | number | Rezultate pe pagină (implicit: 20, max: 100) |
Exemplu de cerere
Răspuns
{
"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/:slugObține detalii complete ale parfumului inclusiv note, acorduri, evaluări, sezoane și parfumuri similare
Exemplu de cerere
Răspuns
{
"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/brandsListează toate brandurile cu numărul de parfumuri
Parametri
| Nume | Tip | Descriere |
|---|---|---|
| q | string | Caută branduri după nume |
Exemplu de cerere
Răspuns
{
"data": [
{ "name": "Guerlain", "slug": "Guerlain", "count": 412 },
{ "name": "Dior", "slug": "Dior", "count": 312 },
{ "name": "Chanel", "slug": "Chanel", "count": 248 }
],
"total": 6619
}/api/notesListează toate notele olfactive cu frecvența
Parametri
| Nume | Tip | Descriere |
|---|---|---|
| limit | number | Limitează rezultatele (implicit: toate) |
Exemplu de cerere
Răspuns
{
"data": [
{ "name": "Musk", "count": 3097 },
{ "name": "Bergamot", "count": 2498 },
{ "name": "Rose", "count": 2460 }
],
"total": 981
}/api/perfumersListează toți parfumierii cu numărul de parfumuri
Exemplu de cerere
Răspuns
{
"data": [
{ "name": "Alberto Morillas", "slug": "alberto-morillas", "count": 45 },
{ "name": "Olivier Polge", "slug": "olivier-polge", "count": 38 }
],
"total": 358
}/api/perfumers/:slugObține detaliile parfumierului cu parfumurile sale (paginat)
Parametri
| Nume | Tip | Descriere |
|---|---|---|
| page | number | Număr pagină (implicit: 1) |
| limit | number | Rezultate pe pagină (implicit: 20) |
Exemplu de cerere
Răspuns
{
"name": "Alberto Morillas",
"slug": "alberto-morillas",
"perfumes": {
"data": [...],
"total": 45,
"page": 1,
"pages": 3
}
}