# Serious Eats Scraper | Recipes and Cooking Techniques (`parseforge/seriouseats-scraper`) Actor

Pull recipes and detailed cooking guides from Serious Eats including ingredients, methods, prep and cook times, servings, author, ratings, equipment lists, and tips. Ideal for food bloggers, AI training, recipe apps, and culinary research projects requiring high-quality content.

- **URL**: https://apify.com/parseforge/seriouseats-scraper.md
- **Developed by:** [ParseForge](https://apify.com/parseforge) (community)
- **Categories:** E-commerce, Marketing, Other
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $19.00 / 1,000 results

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/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

![ParseForge Banner](https://github.com/ParseForge/apify-assets/blob/ad35ccc13ddd068b9d6cba33f323962e39aed5b2/banner.jpg?raw=true)

## 🍳 Serious Eats Recipe Scraper

> 🚀 **Export Serious Eats recipes to CSV, Excel, JSON, or XML in seconds.** Full ingredients, cooking times, nutrition, author, cuisine, and more - all in one structured dataset.

> 🕒 **Last updated:** 2026-05-22 · **📊 18 fields** per record · **thousands of recipes** · **global coverage**

The Serious Eats Recipe Scraper extracts structured recipe data from [SeriousEats.com](https://www.seriouseats.com) - one of the most trusted food publications on the internet, home to J. Kenji Lopez-Alt's The Food Lab and thousands of rigorously tested recipes. Data is scraped in real-time from JSON-LD schema embedded in each recipe page - the same data search engines use.

Serious Eats publishes over 10,000 recipes across cuisines including Italian, American, Asian, Mexican, and more. Each recipe goes through rigorous testing by professional cooks and food scientists.

| 🎯 Target Audience | 💡 Primary Use Cases |
|---|---|
| Food bloggers, nutritionists, meal planning apps, data scientists, home cooks, recipe aggregators | Competitive research and content inspiration, calorie and ingredient analysis at scale, build recipe databases with structured ingredient lists, train food AI models on labeled recipes, bulk-export recipes for offline access, power search and filter features with rich metadata |

---

### 📋 What the Serious Eats Scraper does

- Search recipes by keyword (pasta, chicken, chocolate, etc.)
- Extracts full ingredient lists from each recipe
- Captures prep time, cook time, and total time (ISO 8601)
- Gets author name, cuisine type, and recipe category
- Captures rating scores and recipe yield/servings
- Extracts caloric information from nutrition data
- Exports to CSV, Excel, JSON, or XML via Apify dataset

> 💡 **Why it matters:** Serious Eats recipes are scientifically tested. The structured data includes exact gram measurements, technique notes, and categorized tags - far richer than typical recipe sites.

### 🎬 Full Demo

🚧 Coming soon

### ⚙️ Input

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `searchQuery` | string | No | `pasta` | Keyword to search for recipes |
| `maxItems` | integer | No | `10` | Maximum number of recipes to return |

**Example - search pasta recipes:**
```json
{
    "searchQuery": "pasta",
    "maxItems": 50
}
````

**Example - search chicken recipes:**

```json
{
    "searchQuery": "chicken",
    "maxItems": 100
}
```

> ⚠️ **Good to Know:** Free users are limited to 10 recipes per run. [Upgrade to a paid plan](https://console.apify.com/sign-up?fpr=vmoqkp) for up to 1,000,000 recipes. Not all search result pages are recipe pages - the scraper automatically skips articles, guides, and reviews.

### 📊 Output

| Field | Type | Description |
|-------|------|-------------|
| 🖼 `imageUrl` | string | Recipe hero image URL |
| 📌 `title` | string | Recipe name |
| 📝 `description` | string | Short description |
| ⭐ `rating` | number | Aggregate rating (1-5) |
| 💬 `reviewCount` | integer | Number of reviews |
| 👤 `author` | string | Recipe author name |
| 🌍 `cuisine` | string | Cuisine type (e.g. Italian) |
| 🏷 `category` | string | Meal category (e.g. Mains) |
| 🔖 `tags` | array | Keywords and tags |
| 🥕 `ingredients` | array | Full ingredient list with measurements |
| ⏱ `prepTime` | string | Prep time (ISO 8601, e.g. PT15M) |
| 🍳 `cookTime` | string | Cook time (ISO 8601) |
| ⏰ `totalTime` | string | Total time (ISO 8601) |
| 🍽 `servings` | string | Number of servings |
| 🔥 `calories` | string | Calories per serving |
| 🔗 `url` | string | Recipe page URL |
| 🕒 `scrapedAt` | string | Timestamp of scrape |
| ❌ `error` | string | Error message if scraping failed |

**Sample records (from real run):**

```json
[
  {
    "imageUrl": "https://www.seriouseats.com/thmb/YBIrsP4sSMIWc2vJ76r9mz8MhRU=/1500x0/filters:no_upscale():max_bytes(150000):strip_icc()/SEA-pasta-primavera-spring-vegetables-asparagus-fava-pea-recipe-hero-04-dd0b8ea6808b4578a542d87e549d4273.jpg",
    "title": "Pasta Primavera (Pasta With Spring Vegetables)",
    "description": "Combining a mixture of bright spring produce and a light but creamy sauce, pasta primavera is the ideal dish for a warm May evening.",
    "rating": 5,
    "reviewCount": null,
    "author": "J. Kenji López-Alt",
    "cuisine": "Italian",
    "category": "Entree, Mains, Quick Dinners, Pasta",
    "tags": ["asparagus", "fava", "italian american", "pasta", "pasta primavera", "pea"],
    "ingredients": [
      "12 ounces fava beans in their pods, or 4 ounces shucked fava beans (120g shucked beans)",
      "Kosher salt",
      "8 ounces (225g) asparagus, woody ends removed, stalks cut on a sharp bias into 1-inch pieces",
      "1 pound (450g) fresh egg pasta, such as fettuccine, penne, or gemelli",
      "6 ounces (170ml) crème fraîche"
    ],
    "prepTime": "PT10M",
    "cookTime": "PT35M",
    "totalTime": "PT45M",
    "servings": "6",
    "calories": "582 kcal",
    "url": "https://www.seriouseats.com/pasta-primavera-spring-vegetables-asparagus-fava-pea-recipe",
    "scrapedAt": "2026-05-22T00:48:42.114Z",
    "error": null
  },
  {
    "imageUrl": "https://www.seriouseats.com/thmb/QXx_P7Ye97KJ0VwDuNqjQsexAuk=/1500x0/filters:no_upscale():max_bytes(150000):strip_icc()/pasta-e-fagioli-italian-bean-pasta-soup-recipe-photo-06-ebaa4a15e89246dcb274d500d037f5ed.JPG",
    "title": "Pasta e Fagioli (Italian Bean and Pasta Soup)",
    "description": "This Tuscan-style pasta e fagioli soup is all about the beans, which are cooked to creamy, tender, and plump perfection.",
    "rating": 4.5,
    "reviewCount": null,
    "author": "Daniel Gritzer",
    "cuisine": "Italian",
    "category": "Appetizers and Hors d'Oeuvres, Soups and Stews",
    "tags": ["bean", "comfort", "easy", "Italian", "pasta", "soup", "winter"],
    "ingredients": [
      "1 pound dried beans, such as kidney beans, cannellini beans, or chickpeas",
      "Kosher salt",
      "6 cloves garlic",
      "1/2 pound small pasta, such as ditalini, small shells, or orzo",
      "Extra-virgin olive oil, for drizzling"
    ],
    "prepTime": "PT5M",
    "cookTime": "PT105M",
    "totalTime": "PT110M",
    "servings": "8",
    "calories": "212 kcal",
    "url": "https://www.seriouseats.com/pasta-e-fagioli-italian-bean-pasta-soup-recipe",
    "scrapedAt": "2026-05-22T00:48:46.137Z",
    "error": null
  },
  {
    "imageUrl": "https://www.seriouseats.com/thmb/ienu8BPyuK5gaAF_6NeZOwqC_Qo=/1500x0/filters:no_upscale():max_bytes(150000):strip_icc()/__opt__aboutcom__coeus__resources__content_migration__serious_eats__seriouseats.com__2021__03__20210301-pasta-e-ceci-andrew-janjigian-27-a27ac28ff4984a72b09860ed0a14df4a.jpg",
    "title": "Pasta e Ceci (Pasta With Chickpeas)",
    "description": "Pasta with brothy chickpeas is Italian comfort food at its best.",
    "rating": 5,
    "reviewCount": null,
    "author": "Katie Leaird",
    "cuisine": "Italian",
    "category": "Entree, Mains, Quick and Easy, Quick Dinners",
    "tags": null,
    "ingredients": [
      "1/4 cup (60ml) extra-virgin olive oil",
      "4 medium garlic cloves (20g), lightly crushed",
      "1/4 teaspoon red pepper flakes",
      "3 cups cooked chickpeas or two 15-ounce cans low-sodium chickpeas",
      "8 ounces (225g) small tubular pasta, such as ditalini"
    ],
    "prepTime": null,
    "cookTime": "PT35M",
    "totalTime": "PT35M",
    "servings": "4",
    "calories": "687 kcal",
    "url": "https://www.seriouseats.com/pasta-e-ceci-pasta-with-chickpeas",
    "scrapedAt": "2026-05-22T00:48:43.361Z",
    "error": null
  }
]
```

### ✨ Why choose this Actor

- **JSON-LD precision** - parses the exact structured data search engines use, not brittle CSS selectors
- **Smart filtering** - skips guides, articles, and reviews - only returns actual recipe pages
- **Full ingredients** - captures complete ingredient lists with exact measurements and weights
- **Nutrition data** - calories per serving included when available
- **Pagination handled** - automatically walks through multiple search result pages
- **Colorful, readable logs** - clear progress reporting with emoji indicators
- **Pay-per-event ready** - charges only for successful recipe records

### 📈 How it compares to alternatives

| Feature | Serious Eats Scraper | Manual copy-paste | Generic web scraper |
|---------|---------------------|-------------------|---------------------|
| Ingredients list | Full, structured | Manual | Unreliable |
| Cooking times | ISO 8601 | Manual | Varies |
| Nutrition data | Yes | Manual | Rarely |
| Author attribution | Yes | Manual | No |
| Bulk export | 1,000+ recipes | Impractical | Code required |
| Non-recipe filtering | Automatic | Manual | No |

### 🚀 How to use

1. [Create a free Apify account](https://console.apify.com/sign-up?fpr=vmoqkp) (includes $5 credit)
2. Open the Serious Eats Recipe Scraper actor
3. Enter a search query (e.g. "pasta", "chicken soup", "chocolate cake")
4. Set `maxItems` to control how many recipes to collect
5. Click **Start** and wait for the run to complete
6. Download your dataset as CSV, Excel, JSON, or XML

### 💼 Business use cases

#### Meal planning and nutrition apps

Build searchable recipe databases for meal planning apps. Use the structured ingredient lists to calculate macros automatically. The calorie field gives you a quick nutrition preview without deep parsing.

#### Food content and SEO

Research what recipe types rank highly on Serious Eats. Analyze tags and categories to find content gaps in your niche. Study how expert recipe authors describe cooking times and techniques.

#### Recipe aggregation platforms

Power your recipe search with authoritative Serious Eats data. Filter by cuisine, category, or dietary tags. Show users prep and cook times at a glance using the ISO 8601 time fields.

#### Culinary data science and AI

Train recipe recommendation models on a corpus of tested, high-quality recipes. Use ingredient lists as features for food classification or substitution models. The author and cuisine fields help with metadata labeling.

### 🔌 Automating Serious Eats Scraper

Connect this actor to your workflows via:

- **Make (Integromat)** - trigger on schedule, send results to Google Sheets or Airtable
- **Zapier** - pipe dataset items to Notion, Slack, or a database
- **Apify API** - call from any backend with your API token
- **Webhooks** - receive a POST request when each run finishes

### 🌟 Beyond business use cases

#### Research and education

Food researchers can use the dataset to study recipe complexity, regional cuisine patterns, and how cooking techniques have evolved. Culinary schools can build searchable archives of professionally tested recipes.

#### Creative projects

Writers and photographers can use recipe metadata for food content calendars. Event planners can bulk-search recipes by cuisine for themed dinner parties.

#### Non-profit and community

Community kitchen programs can build recipe libraries for their volunteers. Nutrition outreach organizations can analyze caloric density across thousands of recipes.

#### Experimentation

Machine learning researchers can build ingredient-to-cuisine classifiers. Data journalists can analyze trends in cooking times or the rise of plant-based recipes in major food media.

### 🤖 Ask an AI assistant about this scraper

You can ask Claude, ChatGPT, or any AI assistant:

> "I have a dataset of Serious Eats recipes with fields: title, ingredients, prepTime, cookTime, calories, cuisine, author. How do I filter to only Italian recipes under 30 minutes total time?"

The structured JSON output is designed for downstream AI processing and spreadsheet analysis.

### ❓ Frequently Asked Questions

#### ❓ Does it require login?

No - all data is publicly available on SeriousEats.com without an account.

#### ❓ How many recipes can I get?

Free users: up to 10 per run. Paid users: up to 1,000,000 per run.

#### ❓ Why is `reviewCount` null on many recipes?

Serious Eats includes rating values in their JSON-LD but often omits the review count field. The rating score is still captured when available.

#### ❓ Why is `prepTime` null on some recipes?

Some recipes on Serious Eats don't publish a separate prep time - only a total time. This is reflected in the data as-is from the source.

#### ❓ What search queries work best?

Ingredient names (pasta, chicken, salmon), cuisine types (Italian, Thai), techniques (braised, grilled), or dish names (bolognese, risotto) all work well.

#### ❓ What format are the cooking times in?

Times are in ISO 8601 duration format: `PT30M` = 30 minutes, `PT1H30M` = 1 hour 30 minutes. You can parse these in any language.

#### ❓ Can I get all recipes on the site?

Yes - if you search a broad term or multiple queries, you can collect thousands of recipes. Serious Eats has 10,000+ recipes indexed.

#### ❓ Is the data real-time?

Yes - every run fetches live data directly from SeriousEats.com. No cached or stale responses.

#### ❓ What happens if a URL is not a recipe?

The scraper automatically detects and skips non-recipe pages (articles, guides, reviews) and moves to the next URL.

#### ❓ Can I run multiple search queries?

Currently one search query per run. Run the actor multiple times with different queries and merge the resulting datasets.

#### ❓ How fast is the scraper?

Roughly 2-3 seconds per recipe with a polite 500ms delay between requests. Estimate 100 recipes in about 5 minutes.

### 🔌 Integrate with any app

Export your dataset and integrate with:
Google Sheets - BigQuery - Airtable - Notion - PostgreSQL - MySQL - MongoDB - Snowflake - Tableau - Power BI - Zapier - Make - Slack - Discord - Email - Webhook - REST API - Python pandas - R - Excel

### 🔗 Recommended Actors

| Actor | Description |
|-------|-------------|
| [Epicurious Scraper](https://apify.com/parseforge/epicurious-scraper) | Scrape recipes from Epicurious with full ingredients and ratings |
| [AllRecipes Scraper](https://apify.com/parseforge/allrecipes-scraper) | Extract community-rated recipes from AllRecipes.com |
| [Open Food Facts Scraper](https://apify.com/parseforge/open-food-facts-scraper) | Full nutrition data for packaged food products |

> 💡 **Pro Tip:** browse the complete [ParseForge collection](https://apify.com/parseforge) for scrapers covering 100+ data sources.

***

*This actor is not affiliated with or endorsed by Serious Eats or Dotdash Meredith. It scrapes publicly available data in compliance with general web scraping best practices. Use responsibly and respect the source site's terms of service.*

# Actor input Schema

## `searchQuery` (type: `string`):

Search for recipes by keyword (e.g. 'pasta', 'chicken', 'chocolate cake'). Leave empty to scrape by category.

## `maxItems` (type: `integer`):

Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000

## Actor input object example

```json
{
  "searchQuery": "pasta",
  "maxItems": 10
}
```

# Actor output Schema

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

No description

# 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 = {
    "searchQuery": "pasta",
    "maxItems": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("parseforge/seriouseats-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 = {
    "searchQuery": "pasta",
    "maxItems": 10,
}

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

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

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

```

## CLI example

```bash
echo '{
  "searchQuery": "pasta",
  "maxItems": 10
}' |
apify call parseforge/seriouseats-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=parseforge/seriouseats-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Serious Eats Scraper | Recipes and Cooking Techniques",
        "description": "Pull recipes and detailed cooking guides from Serious Eats including ingredients, methods, prep and cook times, servings, author, ratings, equipment lists, and tips. Ideal for food bloggers, AI training, recipe apps, and culinary research projects requiring high-quality content.",
        "version": "0.1",
        "x-build-id": "rINr6uVocVANTunJD"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/parseforge~seriouseats-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-parseforge-seriouseats-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/parseforge~seriouseats-scraper/runs": {
            "post": {
                "operationId": "runs-sync-parseforge-seriouseats-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/parseforge~seriouseats-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-parseforge-seriouseats-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "searchQuery": {
                        "title": "Search Query",
                        "type": "string",
                        "description": "Search for recipes by keyword (e.g. 'pasta', 'chicken', 'chocolate cake'). Leave empty to scrape by category."
                    },
                    "maxItems": {
                        "title": "Max Items",
                        "minimum": 1,
                        "maximum": 1000000,
                        "type": "integer",
                        "description": "Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000"
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
