# Recipe Profile
**Source:** [Google Recipe structured data](https://developers.google.com/search/docs/appearance/structured-data/recipe)
## Supported Types
- `Recipe`
## Required Fields
| `name` | Recipe name |
| `image` | Recipe photo URL |
## Recommended Fields
| `author` | Recipe author |
| `description` | Recipe description |
| `prepTime` | Preparation time (ISO 8601 duration) |
| `cookTime` | Cooking time (ISO 8601 duration) |
| `totalTime` | Total time (ISO 8601 duration) |
| `recipeIngredient` | List of ingredients |
| `recipeInstructions` | Cooking instructions |
| `nutrition.calories` | Calorie information |
## Nested Requirements: HowToStep (instructions)
When `recipeInstructions` contains `HowToStep` entities:
| `text` | Required | Step description |
## Eligible Example
```json
{
"@type": "Recipe",
"name": "Widget Soup",
"image": "https://example.com/soup.jpg",
"author": { "@type": "Person", "name": "Chef Widget" },
"description": "A delicious widget-based soup",
"prepTime": "PT15M",
"cookTime": "PT30M",
"recipeIngredient": ["2 cups widgets", "1 tbsp oil"],
"recipeInstructions": [
{
"@type": "HowToStep",
"text": "Heat oil in a large pot"
},
{
"@type": "HowToStep",
"text": "Add widgets and cook for 30 minutes"
}
],
"nutrition": {
"@type": "NutritionInformation",
"calories": "250 calories"
}
}
```