Good bottles.
Useful data.
The same 500 sauces and 153 makers you see in the Sauce Matrix, ready for your own tools.
One catalog. Three ways in.
Use the filterable table for browsing, the HTTP API for structured pulls, or the MCP tools for agent conversations. Filters and sorting share the same implementation. These endpoints expose the public sauce catalog only.
| Endpoint | What it returns |
|---|---|
GET /api/v1/sauces | Filtered, sorted, paginated sauce records. |
GET /api/v1/sauces/{id} | One full record using its stable catalog id. |
GET /api/v1/sauces/schema | Valid filter values, global counts and field definitions. |
GET /api/v1/openapi.json | OpenAPI 3.1 documentation for clients and integrations. |
The public HTTP API needs no API key, supports browser CORS, and caches responses for up to five minutes. It provides reads only. Invalid filters return a descriptive 400 response; an unknown sauce id returns 404.
Start with a useful pull.
Fruity habanero sauces from Medium to Hot, ordered by heat:
curl 'https://hellspantry.com/api/v1/sauces?pepper=habanero&minHeat=2&maxHeat=3&flavors=fruity&sort=heat&limit=25'Open this example Pull the whole catalog
Follow the returned next URL until it is null. Each page includes total, count, limit and offset.
let url = 'https://hellspantry.com/api/v1/sauces?limit=100';
const sauces = [];
while (url) {
const response = await fetch(url);
if (!response.ok) throw new Error('Catalog request failed');
const page = await response.json();
sauces.push(...page.items);
url = page.next;
}For a spreadsheet, add format=csv. The Matrix’s export buttons include every filtered match, up to 500, even when the table displays one page. CSV arrays use | separators; empty score cells mean unknown. Cells that could be interpreted as spreadsheet formulas are prefixed with an apostrophe.
Filters & sorting
| Parameter | Meaning |
|---|---|
q | Text search across sauce, maker, pepper and tasting notes. Accents are optional. |
maker | Exact maker id, such as queen-majesty. Find ids in the schema endpoint. |
pepper | Pepper id, such as habanero, ghost-pepper or carolina-reaper. |
minHeat / maxHeat | Inclusive heat tiers from 1 to 5. Defaults: 1 and 5. |
flavors | Comma-separated ids: smoky, fruity, garlicky, sweet, tangy, savory, vinegary, citrus, fermented. All selected notes must match. |
texture | thin, pourable, thick or chunky. Only documented textures match. |
style | Exact style from the schema endpoint. |
reviewed | true to require a linked independent review; otherwise false. |
sort / order | Sort by maker, name, heat, sweet, acid, smoke, garlic, fruit or savory. Order asc or desc. Defaults: maker, asc. Unknown scores always sort last. |
limit / offset | Page size and zero-based offset. HTTP default 50, maximum 500. MCP default 25, maximum 100. |
format | json (default) or csv. Both formats honor the same filters, sort, limit and offset. |
Use one instance of each query parameter. Maker ids and pepper ids come from the catalog schema. Unsupported values are rejected so a typo cannot quietly widen your results.
Read-only MCP tools
The site owner can connect these tools in ChatGPT through the generated Hell’s Pantry plugin under Plugins → Personal → Created by you. The underlying endpoint is POST /mcp, with stateless JSON-RPC discovery for MCP 2026-07-28 and a compatibility initialization response for 2025-06-18 clients. Site access rules still apply.
| Tool | Use it for |
|---|---|
search_sauces | The same filters as the table. Returns compact summaries, ids and flavor scores. Pass flavors as an array. Use offset to page through up to 100 results at a time. |
get_sauce | A complete record and its source links. Takes one sauce id. |
get_catalog_schema | Filter options and the meaning of each field. No arguments. |
Try: “Find fruity habanero sauces with medium heat, then show me the sources for the top three.” Use the HTTP API for bulk downloads. MCP tools cannot change reviews, access pantries, or read email subscriptions.
Know what the numbers mean.
Heat tiers are ordinal categories from Mild (1) to Superhot (5), not measured Scoville units. Flavor scores estimate intensity from 0 to 5 using linked product descriptions and reviews. They are not taste-test results or quality ratings. The optional profileResearch field gives per-axis evidence for newly researched scores, distinguishes described flavors from ingredient-based inference, and records unresolved gaps. Its date applies to the flavor audit, not a fresh verification of every product fact. A null score is unknown; a zero is a documented value.
Records include provenance links, ISO-format research dates (YYYY-MM-DD) where available, and ingredient or texture evidence where documented. lastResearchedAt is the latest dated record in the catalog, not a claim that every bottle was checked that day. Follow the original maker for current ingredients and availability.
Please attribute Hell’s Pantry and link back to the sauce profiles when using our catalog. Source reviews and product photos belong to their respective owners; their inclusion here does not grant reuse rights. No private account or community-submitted data is included in these exports.
Read our research approach