# HelloFresh Recipes Scraper - Ingredients, Calories $2/1K (`om_kh/hellofresh-recipes-scraper`) Actor

Scrape HelloFresh recipes in 18 countries by keyword: ingredients with quantities, calories and full nutrition, allergens, utensils, step-by-step instructions, prep and total time, difficulty, cuisine, tags, rating and image. No login. $2 per 1,000 recipes.

- **URL**: https://apify.com/om_kh/hellofresh-recipes-scraper.md
- **Developed by:** [Khandji Omar](https://apify.com/om_kh) (community)
- **Categories:** E-commerce, AI, Other
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.50 / 1,000 recipes

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## HelloFresh Recipes Scraper - Ingredients, Calories $2/1K

Get **HelloFresh recipes** in **18 countries** by keyword: **ingredients with quantities**, **calories and full nutrition**, allergens, utensils, **step-by-step instructions**, prep and total time, difficulty, cuisine, tags, rating and photo. Up to 1,000 recipes per keyword and country, **$2 per 1,000 recipes**, no login.

- **Countries:** US, UK, Canada, Australia, New Zealand, Ireland, Germany, Austria, Switzerland, Netherlands, Belgium, France, Luxembourg, Denmark, Sweden, Norway, Italy, Spain, each in its own language and units.
- **Ingredients with quantities** for one serving size (usually 2 servings), plus which ones HelloFresh ships in the box.
- **Nutrition per serving:** calories, fat, saturated fat, carbohydrate, sugar, fiber, protein, sodium... and allergens.
- **Filters:** full recipes only (no ready-to-heat meals or add-ons), maximum total time, maximum calories.

### Free tier — 10 results free on every run

**The first 10 results of every run are free**, on every run you ever make — not a one-off trial. One guard: the free allowance never covers more than half of a run, so the offer stays sustainable.

### Price

| | Price |
|---|---|
| Recipe | **$2 per 1,000** ($0.002 each) |

Set **Max cost per run** and the run stops before it spends more. Searches that fail and recipes your filters drop are never charged.

No other Actor in Apify Store read HelloFresh on 2026-10-22.

### Measured, not promised

Run on Apify on 2026-10-22: keywords salmon, chicken and "vegetarian pasta" in the US, the UK and Germany, 50 per search: **249 recipes in 26 seconds** (US 75, GB 100, DE 74), **every one with ingredient quantities and calories**, platform cost $0.0004. "vegetarian pasta" found nothing: HelloFresh's search matches the words as one phrase, so search one dish or ingredient per keyword.

### Input example

```json
{
  "searchQueries": ["salmon", "pasta", "chicken"],
  "countries": ["us", "gb"],
  "maxRecipesPerSearch": 200,
  "maxTotalTimeMinutes": 30,
  "maxCalories": 700
}
```

### Output example

One real row from the run above (shortened lists):

A real row from this Actor's latest run on Apify (2026-10-23; long texts are cut and people's names hidden here, your dataset has them in full):

```json
{
  "status": "ok",
  "type": "recipe",
  "recipeId": "6ab5620d8a36ef62cf58c018",
  "name": "(hidden here)",
  "headline": "with Potatoes, Thyme & Old Bay Croutons",
  "url": "https://www.hellofresh.com/recipes/chesapeake-2x-salmon-and-corn-chowder-6ab5620d8a36ef62cf58c018",
  "imageUrl": "https://d3hvwccx09j84u.cloudfront.net/0,0/image/HFUSRC_R18949-1_Hero_ChesapeakeTilapiaAndCornChowder_W49_71_2026_Web-32738bf9.jpg",
  "country": "us",
  "category": "Seafood",
  "cuisines": [
    "North American"
  ],
  "tags": [
    "pescatarian"
  ],
  "difficulty": 2,
  "prepTimeMinutes": 40,
  "totalTimeMinutes": 10,
  "ratingsCount": 0,
  "favorites": 0,
  "servings": 2,
  "ingredients": [
    {
      "name": "(hidden here)",
      "amount": 1,
      "unit": "unit",
      "shipped": true
    },
    {
      "name": "(hidden here)",
      "amount": 1,
      "unit": "unit",
      "shipped": true
    }
  ],
  "allergens": [
    "Fish",
    "Shellfish"
  ],
  "nutrition": {
    "Calories": {
      "amount": 1360,
      "unit": "kcal"
    },
    "Fat": {
      "amount": 83,
      "unit": "g"
    },
    "Saturated Fat": {
      "amount": 29,
      "unit": "g"
    },
    "Carbohydrate": {
      "amount": 77,
      "unit": "g"
    },
    "Sugar": {
      "amount": 10,
      "unit": "g"
    },
    "Dietary Fiber": {
      "amount": 6,
      "unit": "g"
    },
    "Protein": {
      "amount": 70,
      "unit": "g"
    },
    "Cholesterol": {
      "amount": 275,
      "unit": "mg"
    },
    "Sodium": {
      "amount": 1920,
      "unit": "mg"
    }
  },
  "calories": 1360,
  "steps": [
    "Wash and dry produce. Measure 2 cups water (4 cups for 4 servings) and set aside. Halve, peel, and finely dice shallot . Trim and thinly...",
    "Heat a drizzle of oil and 1 TBSP butter ( 2 TBSP for 4 servings) in a medium pot (large pot for 4) over medium-high heat. Once foaming ha..."
  ],
  "description": "This Chesapeake Bay–inspired chowder simmers diced tilapia and sweet corn in a creamy, thyme-scented broth with tender potatoes mashed to...",
  "createdAt": "2026-09-24T19:56:14+00:00",
  "recipeCode": "R18949-DS-01-1",
  "searchQuery": "salmon",
  "searchTotalResults": 1804
}
```

#### Every field

| Field | What it holds |
|---|---|
| `recipeId` | HelloFresh recipe ID |
| `name` | recipe name |
| `headline` | subtitle |
| `url` | recipe page |
| `imageUrl` | photo |
| `country` | country |
| `category` | category |
| `cuisines` | cuisines |
| `tags` | tags |
| `difficulty` | difficulty (1 to 3) |
| `prepTimeMinutes` | prep time (minutes) |
| `totalTimeMinutes` | total time (minutes) |
| `ratingsCount` | ratings |
| `favorites` | favorites |
| `servings` | servings the quantities are for |
| `ingredients` | ingredients with amount and unit |
| `allergens` | allergens |
| `nutrition` | nutrition per serving |
| `calories` | calories per serving |
| `steps` | cooking steps |
| `description` | description |
| `createdAt` | date added |
| `recipeCode` | recipe code |
| `searchQuery` | your search |
| `searchTotalResults` | recipes for the search |

### Compared with studio-amba/hellofresh-scraper

Read on the Store on 2026-10-23 (HelloFresh Scraper — Belgian Meal Kit Recipes & Nutrition). Where it does better, this section says so.

- **Built on the site's own data**, not a resold scraper: no second Actor between you and the source.
- **Free results on every run** and a hard cost cap (`maxTotalChargeUsd`).
- **Price:** $2 per 1,000 here, $2 there.

### Use cases

- **Recipe and meal-planning apps:** a ready catalogue with quantities, steps, photos and nutrition.
- **Nutrition and diet tools:** calories, macros and allergens per serving, filtered by time and calories.
- **AI cooking assistants:** clean structured recipes for retrieval and generation.
- **Food and grocery market research:** which dishes, cuisines and ingredients HelloFresh puts forward in each country.

### Why use it

1. **Try before you pay.** The first 10 results of every run are free.
2. **Pay only for data delivered.** Failed searches and filtered recipes are never billed.
3. **Hard cost cap.** Set `maxTotalChargeUsd` and a run never costs more than you allow.
4. **Ready to use.** JSON, CSV or Excel, the Apify API, n8n, Make, Zapier, or as an MCP tool for AI agents.

### How to use it in 3 steps

1. Click **Try for free**; the form opens with a ready example in **Search keywords**.
2. Optional: choose countries, a maximum time or calories.
3. Click **Start** and download the results as JSON, CSV or Excel, or read them from the API.

### FAQ

**Do I need a HelloFresh account?** No. The Actor uses the public guest access the HelloFresh website gives every visitor.

**Why do some keywords return nothing?** HelloFresh's search matches the keyword as one phrase. Use one dish or ingredient per keyword (salmon, pasta, tacos).

**Can I call it from code?** Yes: Apify API, Python and JavaScript clients, Make, Zapier, n8n, or as an MCP tool.

# Actor input Schema

## `searchQueries` (type: `array`):

Dishes, ingredients or styles, as on hellofresh.com/recipes.

## `countries` (type: `array`):

HelloFresh countries to search, each in its own language and units. Default: us.

## `maxRecipesPerSearch` (type: `integer`):

Up to 1,000 recipes per keyword and country.

## `fullRecipesOnly` (type: `boolean`):

Leave out ready-to-heat meals and add-ons that have no cooking steps.

## `maxTotalTimeMinutes` (type: `integer`):

Only recipes ready in this time or less.

## `maxCalories` (type: `integer`):

Only recipes at or below this many kcal per serving.

## `maxTotalChargeUsd` (type: `number`):

The run stops before it would cost more than this.

## Actor input object example

```json
{
  "searchQueries": [
    "salmon",
    "pasta"
  ],
  "countries": [
    "us"
  ],
  "maxRecipesPerSearch": 100,
  "fullRecipesOnly": true
}
```

# Actor output Schema

## `report` (type: `string`):

A visual summary of delivery, charges, changes, and source issues.

## `results` (type: `string`):

Business-ready results in a sortable table. No JSON knowledge required.

## `csv` (type: `string`):

Results ready for spreadsheets, CRMs, and analytics tools.

## `excel` (type: `string`):

Results as an Excel workbook for non-technical teams.

## `runSummary` (type: `string`):

Machine-readable delivery, billing, and source diagnostics.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "searchQueries": [
        "salmon",
        "pasta"
    ],
    "countries": [
        "us"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("om_kh/hellofresh-recipes-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "searchQueries": [
        "salmon",
        "pasta",
    ],
    "countries": ["us"],
}

# Run the Actor and wait for it to finish
run = client.actor("om_kh/hellofresh-recipes-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "searchQueries": [
    "salmon",
    "pasta"
  ],
  "countries": [
    "us"
  ]
}' |
apify call om_kh/hellofresh-recipes-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,om_kh/hellofresh-recipes-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/1g3yKBAB6dvDbEsz2/builds/AIuqGqK6JNFs7alvQ/openapi.json
