Turn messy recipe text
into clean structured JSON
RecipeParse extracts quantities, normalises units, resolves synonyms, and links method steps back to ingredients — all in a single API call. Build smarter recipe apps without the parsing headaches.
Launching soon — 100 free parse credits/month on the free tier.
One request. Clean data.
Send raw ingredient strings. Get back normalised, canonical JSON.
{
"ingredients_raw": [
"2¼ cups plain flour",
"1 tsp baking soda",
"115g unsalted butter, melted"
]
}
{
"parsed_ingredients": [
{
"raw_text": "2¼ cups plain flour",
"name": "flour",
"quantity": 2.25,
"unit": "cup",
"preparation": null,
"confidence": 0.97
},
{
"raw_text": "1 tsp baking soda",
"name": "baking_soda",
"quantity": 1.0,
"unit": "tsp",
"preparation": null,
"confidence": 0.99
},
{
"raw_text": "115g unsalted butter, melted",
"name": "butter",
"quantity": 115.0,
"unit": "g",
"preparation": "melted",
"confidence": 0.98
}
],
"meta": {
"duration_ms": 842,
"cached": false,
"model_used": "recipeparse-ai-v1"
}
}Everything you need to handle recipe data
RecipeParse handles the full ingredient processing pipeline — from raw text to enriched, structured data — so you can focus on building your app.
Ingredient parsing
Extracts quantity, unit, name, and preparation state from any free-text ingredient string — including fractions, unicode characters, and ambiguous measurements.
Step annotation
Links method steps back to parsed ingredients with character-level spans, so you know exactly where "butter" appears in "fold the butter gently".
Product enrichment
Match ingredients against a branded product catalogue with fuzzy matching. Returns exact, brand-family, generic, and fuzzy results ranked by confidence.
Smart caching
Parse results are cached by a SHA-256 key of the sorted ingredient list. Identical requests return instantly at zero cost, with no stale-data risk.
Multi-tenant & metered
Every customer gets their own API key, credit allowance, and rate limit. Usage is metered per request so you can build billing-aware pipelines on top.
Usage visibility
Query monthly usage summaries and paginated event logs via the API. Pipe data into your own dashboards or billing system.
How it works
Three steps from raw text to production-ready data.
Send raw recipe text
POST an array of ingredient strings — exactly as they appear in the recipe. Fractions, unicode quantities, parenthetical notes, all fine.
POST /api/v1/parse/ingredients
Authorization: Bearer rp_live_...
{
"ingredients_raw": [
"2¼ cups plain flour",
"115g unsalted butter, melted"
]
}AI extracts structure
Our AI model identifies quantities, units, ingredient names, and preparation states. A deterministic validator then normalises units, resolves synonyms, and scores confidence.
// Internally, RecipeParse: // 1. Sends the text to the AI model // 2. Validates + normalises the response // 3. Generates canonical snake_case IDs // 4. Scores confidence per ingredient // 5. Checks the parse cache first
Use the structured data
Get back clean JSON with canonical ingredient IDs, normalised units, confidence scores, and optional product matches. Pipe it straight into your app.
{
"name": "flour",
"quantity": 2.25,
"unit": "cup",
"preparation": null,
"confidence": 0.97
}Simple, transparent pricing
Start for free. Upgrade when you need more.
Free
Try it out with no commitment.
- 5 parse credits / month
- 5 enrich credits / month
- 10 requests / min
- API key management
- Usage dashboard
Starter
For indie developers and small projects.
- 50 parse credits / month
- 50 enrich credits / month
- 60 requests / min
- API key management
- Usage dashboard
- Email support
Pro
For production apps with serious volume.
- 500 parse credits / month
- 500 enrich credits / month
- 300 requests / min
- API key management
- Usage dashboard
- Priority support
Need higher limits? Talk to us about Enterprise
Ready to stop writing parsers?
RecipeParse is launching soon. Get notified when we open up sign-ups.