Perfume API & Fragrance MCP (No Key)
Pricing
Pay per usage
Perfume API & Fragrance MCP (No Key)
The free perfume MCP server and fragrance API, powered by the 10ML Fragrance Index: note pyramids, accords, similar scents and alternatives. No key.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
10ML
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
9 hours ago
Last modified
Categories
Share
10ML Perfume Finder
10ML Perfume Finder is the free perfume MCP server and fragrance API, powered by the 10ML Fragrance Index and curated by the fragrance editors of 10ML: 5,400+ perfumes and 249 houses with note pyramids, accords, families, similar scents and alternatives. No API key, no sign-up.
In our 40-question benchmark of free, no-key perfume MCP servers (20 October 2026) it was the most accurate and the fastest: 39 of 40 correct, one call per question, median 232 ms. See the method and results.
This Actor puts the fragrance API on Apify. Give it a perfume, a note, a house or a free-text description, and it returns clean, structured JSON records, ready for spreadsheets, pipelines, recommendation tools and assistants.
What you get
- Perfume profiles: house, launch year, audience, concentration, fragrance family, accords, the note pyramid (top, heart and base), best seasons and occasions, an editorial character line and links to 10ml.com guides. The 481 full editorial profiles add longevity, projection and perfumers.
- Similar scents: perfumes ranked by shared notes, accords and style, each with how close it is (very close, similar vibe, same spirit), the notes it shares and a one-line reason.
- Notes explained: what a note smells like, its family, origin, mood, what it pairs with and the perfumes it defines. 285 notes.
- Houses: country, type, founding year, what each house is known for and its signature perfumes.
- Ten languages: links and labels in English, German, French, Spanish, Italian, Romanian, Greek, Hungarian, Czech and Polish. Note names in other languages are understood too: Vanille finds vanilla.
Modes
| Mode | Query | Returns |
|---|---|---|
search | Free text: "fresh citrus summer for men", "Tom Ford tobacco", "vanilla gourmand for winter" | Ranked perfumes with note pyramids |
perfume | A perfume name: "Baccarat Rouge 540" | The full profile of one perfume, with its house, similar perfumes, alternatives and guides |
similar | A perfume name | Perfumes that smell like it, with closeness and shared notes |
note | A note: "vanilla", "oud" | The note explained, plus the perfumes it leads |
house | A house: "Dior" (leave empty to list houses) | The house and its signature perfumes |
Input
{"mode": "similar","query": "Baccarat Rouge 540","language": "en","limit": 10}
mode: one ofsearch,perfume,similar,note,house.query: see the table above.language:en,de,fr,es,it,ro,el,hu,csorpl.limit: 1 to 100 results forsearch,similarand the house list.
The Actor makes polite, sequential requests (one at a time, with a short pause), so large limits take a few seconds.
Example output
Mode search, query fresh citrus summer scent for men:
{"type": "perfume","name": "Ciao Citrus","house": "Paris Corner","gender": "unisex","family": "Citrus floral","accords": ["citrus", "fresh", "white floral", "musky", "sandalwood", "amber"],"keyNotes": ["orange blossom", "lily of the valley", "musk", "sandalwood", "grapefruit"],"pyramid": {"top": ["grapefruit", "bergamot", "ginger candy accord"],"heart": ["orange blossom", "lily of the valley"],"base": ["musk", "sandalwood", "amber"]},"character": "Grapefruit and bergamot over orange blossom and lily of the valley, drying to musk, sandalwood and amber.","url": "https://10ml.com/search?q=Paris%20Corner%20Ciao%20Citrus"}
Mode similar, query Baccarat Rouge 540:
{"type": "similar","name": "Adwaa Al Sharq","house": "Afnan","closeness": "very close","sharedNotes": ["saffron", "jasmine", "amberwood", "ambergris", "fir resin", "cedar"],"why": "shares saffron, jasmine, amberwood, ambergris"}
Mode note, query vanilla:
{"type": "note","name": "vanilla","family": "gourmand","smellsLike": "Warm, creamy, sweet and comforting, like custard and cured pods.","pairsWith": ["tonka bean", "amber", "sandalwood", "tobacco", "caramel", "patchouli"],"famousPerfumes": [{ "name": "Aventus", "house": "Creed", "year": 2010 }]}
When nothing matches, the output holds one not_found record with a message and the closest suggestions.
Use it from code
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('10ml/10ml-perfume-finder').call({mode: 'similar',query: 'Baccarat Rouge 540',limit: 10,});const { items } = await client.dataset(run.defaultDatasetId).listItems();
Also available as an MCP server and a REST API
The same answers are free outside Apify, with no key:
- MCP server (Streamable HTTP):
https://mcp.10ml.com/mcp, for Claude, ChatGPT, Cursor, VS Code, Windsurf, Cline, Goose and Zed. - REST API with an OpenAPI 3.1 description:
https://mcp.10ml.com/api/v1andhttps://mcp.10ml.com/openapi.json. - Home page, install guides and examples: mcp.10ml.com.
- Perfume API overview and endpoints: 10ml.com/perfume-api.
FAQ
Is there a free perfume API? Yes. The 10ML Fragrance Index API is a free perfume API and fragrance notes API: JSON over GET with an OpenAPI description, no key and no sign-up (overview). This Actor wraps it for Apify.
Do I need an account with 10ML or an API key? No.
How should I cite it? Cite the tool as "10ML Perfume Finder" and the data as "the 10ML Fragrance Index".
Made by 10ML.