Dynamic recipe API