API para programadores
API REST gratuita com respostas JSON estruturadas. Chave API necessária (gratuita). CORS ativado. Perfeito para criar aplicações, motores de recomendação ou alimentar LLMs com dados de fragrâncias.
URL base
https://fraganty.aiTodos os endpoints da API requerem uma chave API gratuita. Inclua-a em cada requisição via cabeçalho X-API-Key ou parâmetro api_key.
Cabeçalho
X-API-Key: YOUR_API_KEYParâmetro de consulta
?api_key=YOUR_API_KEYSolicite sua chave API gratuita em [email protected]
/api/perfumesListar e pesquisar perfumes
Parâmetros
| Nome | Tipo | Descrição |
|---|---|---|
| q | string | Pesquisar por nome |
| brand | string | Filtrar por slug da marca |
| page | number | Número da página (predefinido: 1) |
| limit | number | Resultados por página (predefinido: 20, máx: 100) |
Exemplo de pedido
Resposta
{
"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/:slugObter detalhes completos do perfume, incluindo notas, acordes, avaliações, estações e perfumes semelhantes
Exemplo de pedido
Resposta
{
"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 as marcas com contagem de perfumes
Parâmetros
| Nome | Tipo | Descrição |
|---|---|---|
| q | string | Pesquisar marcas por nome |
Exemplo de pedido
Resposta
{
"data": [
{ "name": "Guerlain", "slug": "Guerlain", "count": 412 },
{ "name": "Dior", "slug": "Dior", "count": 312 },
{ "name": "Chanel", "slug": "Chanel", "count": 248 }
],
"total": 6619
}/api/notesListar todas as notas olfativas com contagens de frequência
Parâmetros
| Nome | Tipo | Descrição |
|---|---|---|
| limit | number | Limitar resultados (predefinido: todos) |
Exemplo de pedido
Resposta
{
"data": [
{ "name": "Musk", "count": 3097 },
{ "name": "Bergamot", "count": 2498 },
{ "name": "Rose", "count": 2460 }
],
"total": 981
}/api/perfumersListar todos os perfumistas com contagem de perfumes
Exemplo de pedido
Resposta
{
"data": [
{ "name": "Alberto Morillas", "slug": "alberto-morillas", "count": 45 },
{ "name": "Olivier Polge", "slug": "olivier-polge", "count": 38 }
],
"total": 358
}/api/perfumers/:slugObter detalhes do perfumista com os seus perfumes (paginado)
Parâmetros
| Nome | Tipo | Descrição |
|---|---|---|
| page | number | Número da página (predefinido: 1) |
| limit | number | Resultados por página (predefinido: 20) |
Exemplo de pedido
Resposta
{
"name": "Alberto Morillas",
"slug": "alberto-morillas",
"perfumes": {
"data": [...],
"total": 45,
"page": 1,
"pages": 3
}
}