# Text-to-JSON Structured Extractor (`moving_beacon-owner1/my-actor-68`) Actor

A versatile Apify actor that converts unstructured text and HTML into clean, structured JSON. Supports four extraction modes with auto-detection, URL fetching, and batch processing.

- **URL**: https://apify.com/moving\_beacon-owner1/my-actor-68.md
- **Developed by:** [Jamshaid Arif](https://apify.com/moving_beacon-owner1) (community)
- **Categories:** Automation, Developer tools, Integrations
- **Stats:** 1 total users, 0 monthly users, 0.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $10.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.

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

## Text-to-JSON Structured Extractor

A versatile Apify actor that converts unstructured text and HTML into clean, structured JSON. Supports four extraction modes with auto-detection, URL fetching, and batch processing.

---

### 🎯 What It Does

| Mode | Input | Output |
|------|-------|--------|
| **Resume** | Plain-text resume/CV | Contact info, experience, education, skills, certifications |
| **E-Commerce** | Product page HTML | Product name, price, brand, SKU, rating, images, availability |
| **Blog SEO** | Blog/article HTML | SEO score (A–F), meta tags, headings, links, content stats, recommendations |
| **Chat Log** | Chat exports (WhatsApp, Slack, Discord, IRC) | Messages, participants, topics, shared links, statistics |
| **Auto** | Any of the above | Detects the best extractor automatically |

---

### 🚀 Quick Start

#### Minimal Input (uses defaults)

```json
{
    "extractionMode": "auto",
    "inputType": "raw_text",
    "rawInput": "Jane Smith\njane@email.com\n\nExperience\nEngineer at Google..."
}
````

#### Fetch from URLs

```json
{
    "extractionMode": "ecommerce",
    "inputType": "urls",
    "urls": [
        "https://example.com/products/widget-pro",
        "https://example.com/products/widget-lite"
    ],
    "outputFormat": "compact",
    "maxConcurrency": 10
}
```

#### Blog SEO Audit

```json
{
    "extractionMode": "blog_seo",
    "inputType": "urls",
    "urls": ["https://myblog.com/latest-post"],
    "outputFormat": "full"
}
```

***

### 📥 Input Schema

| Field | Type | Default | Description |
|-------|------|---------|-------------|
| `extractionMode` | enum | `"auto"` | `resume`, `ecommerce`, `blog_seo`, `chat_log`, or `auto` |
| `inputType` | enum | `"raw_text"` | `raw_text`, `urls`, or `key_value_store` |
| `rawInput` | string | *(sample resume)* | Direct text/HTML input |
| `urls` | string\[] | `[]` | URLs to fetch content from |
| `kvStoreKeys` | string\[] | `[]` | Keys to read from KV store |
| `chatLogFormat` | enum | `"auto"` | `auto`, `whatsapp`, `slack`, `discord`, `irc`, `generic`, `simple` |
| `outputFormat` | enum | `"full"` | `full`, `compact`, or `flat` |
| `includeSourceText` | boolean | `false` | Include original text in output |
| `maxConcurrency` | integer | `5` | Parallel URL fetches (1–20) |
| `proxyConfiguration` | object | Apify Proxy | Proxy settings for URL fetching |
| `requestTimeoutSecs` | integer | `30` | URL fetch timeout (5–120) |

***

### 📤 Output Format

Each dataset record looks like:

```json
{
    "source": "raw_input",
    "extraction_mode": "resume",
    "output_format": "full",
    "success": true,
    "error": null,
    "data": { ... }
}
```

#### Output Modes

- **full** — All extracted fields, deeply nested
- **compact** — Key fields only (great for dashboards)
- **flat** — Single-level dict with underscore-separated keys (great for spreadsheets)

***

### 🔍 Extraction Details

#### Resume Extractor

Detects and parses: name, email, phone, LinkedIn, GitHub, location, summary, work history with bullet points, education with GPA, categorized skills, projects, certifications, and languages.

#### E-Commerce Extractor

Three-priority pipeline: (1) JSON-LD Schema.org, (2) Open Graph meta tags, (3) HTML class-based parsing. Extracts product name, description, price with currency, brand, SKU, availability, rating, review count, and images.

#### Blog SEO Extractor

Produces a complete SEO audit with a score (0–100, grade A–F) based on 14 weighted checks. Analyzes title, meta description, Open Graph, Twitter Card, heading hierarchy, image alt text, internal/external links, structured data, content length, and more.

#### Chat Log Extractor

Auto-detects format from WhatsApp, Slack, Discord, IRC, and generic patterns. Builds participant profiles (message count, word average), extracts shared links with context, identifies topics via keyword frequency, and counts media messages.

***

### 🧪 Running Locally

```bash
## Install dependencies
pip install -r requirements.txt

## Run with Apify CLI
apify run --input-file=INPUT.json
```

***

### 📋 Example Output (Compact Resume)

```json
{
    "name": "John Doe",
    "email": "johndoe@email.com",
    "phone": "(555) 123-4567",
    "location": "New York, NY",
    "summary": "Full-stack developer with 5+ years...",
    "skills": ["Python", "JavaScript", "TypeScript", "React", "Django", "AWS"],
    "experience_count": 2,
    "education_count": 1,
    "certifications": ["AWS Solutions Architect Associate", "Certified Kubernetes Administrator"],
    "languages": ["English (Native)", "French (Conversational)"]
}
```

# Actor input Schema

## `extractionMode` (type: `string`):

Which extractor to use for processing the input.

## `inputType` (type: `string`):

How the source content is provided.

## `rawInput` (type: `string`):

Paste your resume text, e-commerce HTML, blog HTML, or chat log directly here. Used when Input Type is 'Raw Text / HTML'.

## `urls` (type: `array`):

List of URLs to fetch and extract data from. Used when Input Type is 'Fetch from URLs'.

## `kvStoreKeys` (type: `array`):

Keys to read from the default Key-Value Store. Used when Input Type is 'Read from Key-Value Store'.

## `chatLogFormat` (type: `string`):

Helps the chat log extractor parse correctly. Use 'auto' to let the extractor detect the format automatically.

## `outputFormat` (type: `string`):

How to structure the output dataset records.

## `includeSourceText` (type: `boolean`):

Whether to include the original input text/HTML in each output record.

## `maxConcurrency` (type: `integer`):

Maximum number of URLs to fetch concurrently (only for URL mode).

## `proxyConfiguration` (type: `object`):

Proxy settings for fetching URLs. Leave empty to use direct connection.

## `requestTimeoutSecs` (type: `integer`):

Timeout in seconds when fetching URLs.

## Actor input object example

```json
{
  "extractionMode": "auto",
  "inputType": "raw_text",
  "rawInput": "John Doe\njohndoe@email.com | (555) 123-4567\nlinkedin.com/in/johndoe | github.com/johndoe\nNew York, NY\n\nSummary\nFull-stack developer with 5+ years of experience in building web applications using Python, JavaScript, and cloud technologies.\n\nExperience\n\nSenior Developer at Acme Corp\nNew York, NY — March 2021 – Present\n• Architected microservices platform handling 2M+ daily requests\n• Led team of 4 engineers on payment integration project\n• Reduced API latency by 40% through caching strategy\n\nSoftware Developer at StartupIO\nBoston, MA — June 2018 – February 2021\n• Built React dashboard used by 500+ enterprise clients\n• Implemented CI/CD pipelines with GitHub Actions and Docker\n• Designed PostgreSQL schema supporting multi-tenant SaaS\n\nEducation\n\nMIT\nBachelor of Science in Computer Science\nSeptember 2014 – June 2018\nGPA: 3.75/4.0\n\nSkills\nLanguages: Python, JavaScript, TypeScript, SQL, Go\nFrameworks: React, Django, FastAPI, Express.js\nCloud: AWS (EC2, Lambda, S3, RDS), Docker, Kubernetes\nDatabases: PostgreSQL, MongoDB, Redis\n\nCertifications\n- AWS Solutions Architect Associate\n- Certified Kubernetes Administrator\n\nLanguages\n- English (Native)\n- French (Conversational)",
  "urls": [],
  "kvStoreKeys": [],
  "chatLogFormat": "auto",
  "outputFormat": "full",
  "includeSourceText": false,
  "maxConcurrency": 5,
  "proxyConfiguration": {
    "useApifyProxy": true
  },
  "requestTimeoutSecs": 30
}
```

# 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 = {
    "extractionMode": "auto",
    "inputType": "raw_text",
    "rawInput": `John Doe
johndoe@email.com | (555) 123-4567
linkedin.com/in/johndoe | github.com/johndoe
New York, NY

Summary
Full-stack developer with 5+ years of experience in building web applications using Python, JavaScript, and cloud technologies.

Experience

Senior Developer at Acme Corp
New York, NY — March 2021 – Present
• Architected microservices platform handling 2M+ daily requests
• Led team of 4 engineers on payment integration project
• Reduced API latency by 40% through caching strategy

Software Developer at StartupIO
Boston, MA — June 2018 – February 2021
• Built React dashboard used by 500+ enterprise clients
• Implemented CI/CD pipelines with GitHub Actions and Docker
• Designed PostgreSQL schema supporting multi-tenant SaaS

Education

MIT
Bachelor of Science in Computer Science
September 2014 – June 2018
GPA: 3.75/4.0

Skills
Languages: Python, JavaScript, TypeScript, SQL, Go
Frameworks: React, Django, FastAPI, Express.js
Cloud: AWS (EC2, Lambda, S3, RDS), Docker, Kubernetes
Databases: PostgreSQL, MongoDB, Redis

Certifications
- AWS Solutions Architect Associate
- Certified Kubernetes Administrator

Languages
- English (Native)
- French (Conversational)`,
    "urls": [],
    "kvStoreKeys": [],
    "chatLogFormat": "auto",
    "outputFormat": "full",
    "includeSourceText": false,
    "maxConcurrency": 5,
    "proxyConfiguration": {
        "useApifyProxy": true
    },
    "requestTimeoutSecs": 30
};

// Run the Actor and wait for it to finish
const run = await client.actor("moving_beacon-owner1/my-actor-68").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 = {
    "extractionMode": "auto",
    "inputType": "raw_text",
    "rawInput": """John Doe
johndoe@email.com | (555) 123-4567
linkedin.com/in/johndoe | github.com/johndoe
New York, NY

Summary
Full-stack developer with 5+ years of experience in building web applications using Python, JavaScript, and cloud technologies.

Experience

Senior Developer at Acme Corp
New York, NY — March 2021 – Present
• Architected microservices platform handling 2M+ daily requests
• Led team of 4 engineers on payment integration project
• Reduced API latency by 40% through caching strategy

Software Developer at StartupIO
Boston, MA — June 2018 – February 2021
• Built React dashboard used by 500+ enterprise clients
• Implemented CI/CD pipelines with GitHub Actions and Docker
• Designed PostgreSQL schema supporting multi-tenant SaaS

Education

MIT
Bachelor of Science in Computer Science
September 2014 – June 2018
GPA: 3.75/4.0

Skills
Languages: Python, JavaScript, TypeScript, SQL, Go
Frameworks: React, Django, FastAPI, Express.js
Cloud: AWS (EC2, Lambda, S3, RDS), Docker, Kubernetes
Databases: PostgreSQL, MongoDB, Redis

Certifications
- AWS Solutions Architect Associate
- Certified Kubernetes Administrator

Languages
- English (Native)
- French (Conversational)""",
    "urls": [],
    "kvStoreKeys": [],
    "chatLogFormat": "auto",
    "outputFormat": "full",
    "includeSourceText": False,
    "maxConcurrency": 5,
    "proxyConfiguration": { "useApifyProxy": True },
    "requestTimeoutSecs": 30,
}

# Run the Actor and wait for it to finish
run = client.actor("moving_beacon-owner1/my-actor-68").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 '{
  "extractionMode": "auto",
  "inputType": "raw_text",
  "rawInput": "John Doe\\njohndoe@email.com | (555) 123-4567\\nlinkedin.com/in/johndoe | github.com/johndoe\\nNew York, NY\\n\\nSummary\\nFull-stack developer with 5+ years of experience in building web applications using Python, JavaScript, and cloud technologies.\\n\\nExperience\\n\\nSenior Developer at Acme Corp\\nNew York, NY — March 2021 – Present\\n• Architected microservices platform handling 2M+ daily requests\\n• Led team of 4 engineers on payment integration project\\n• Reduced API latency by 40% through caching strategy\\n\\nSoftware Developer at StartupIO\\nBoston, MA — June 2018 – February 2021\\n• Built React dashboard used by 500+ enterprise clients\\n• Implemented CI/CD pipelines with GitHub Actions and Docker\\n• Designed PostgreSQL schema supporting multi-tenant SaaS\\n\\nEducation\\n\\nMIT\\nBachelor of Science in Computer Science\\nSeptember 2014 – June 2018\\nGPA: 3.75/4.0\\n\\nSkills\\nLanguages: Python, JavaScript, TypeScript, SQL, Go\\nFrameworks: React, Django, FastAPI, Express.js\\nCloud: AWS (EC2, Lambda, S3, RDS), Docker, Kubernetes\\nDatabases: PostgreSQL, MongoDB, Redis\\n\\nCertifications\\n- AWS Solutions Architect Associate\\n- Certified Kubernetes Administrator\\n\\nLanguages\\n- English (Native)\\n- French (Conversational)",
  "urls": [],
  "kvStoreKeys": [],
  "chatLogFormat": "auto",
  "outputFormat": "full",
  "includeSourceText": false,
  "maxConcurrency": 5,
  "proxyConfiguration": {
    "useApifyProxy": true
  },
  "requestTimeoutSecs": 30
}' |
apify call moving_beacon-owner1/my-actor-68 --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=moving_beacon-owner1/my-actor-68",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Text-to-JSON Structured Extractor",
        "description": "A versatile Apify actor that converts unstructured text and HTML into clean, structured JSON. Supports four extraction modes with auto-detection, URL fetching, and batch processing.",
        "version": "0.0",
        "x-build-id": "fcyoMLqXn8etf93Dd"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/moving_beacon-owner1~my-actor-68/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-moving_beacon-owner1-my-actor-68",
                "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/moving_beacon-owner1~my-actor-68/runs": {
            "post": {
                "operationId": "runs-sync-moving_beacon-owner1-my-actor-68",
                "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/moving_beacon-owner1~my-actor-68/run-sync": {
            "post": {
                "operationId": "run-sync-moving_beacon-owner1-my-actor-68",
                "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",
                "required": [
                    "extractionMode",
                    "inputType"
                ],
                "properties": {
                    "extractionMode": {
                        "title": "Extraction Mode",
                        "enum": [
                            "resume",
                            "ecommerce",
                            "blog_seo",
                            "chat_log",
                            "auto"
                        ],
                        "type": "string",
                        "description": "Which extractor to use for processing the input.",
                        "default": "auto"
                    },
                    "inputType": {
                        "title": "Input Type",
                        "enum": [
                            "raw_text",
                            "urls",
                            "key_value_store"
                        ],
                        "type": "string",
                        "description": "How the source content is provided.",
                        "default": "raw_text"
                    },
                    "rawInput": {
                        "title": "Raw Text / HTML Input",
                        "type": "string",
                        "description": "Paste your resume text, e-commerce HTML, blog HTML, or chat log directly here. Used when Input Type is 'Raw Text / HTML'.",
                        "default": "John Doe\njohndoe@email.com | (555) 123-4567\nlinkedin.com/in/johndoe | github.com/johndoe\nNew York, NY\n\nSummary\nFull-stack developer with 5+ years of experience in building web applications using Python, JavaScript, and cloud technologies.\n\nExperience\n\nSenior Developer at Acme Corp\nNew York, NY — March 2021 – Present\n• Architected microservices platform handling 2M+ daily requests\n• Led team of 4 engineers on payment integration project\n• Reduced API latency by 40% through caching strategy\n\nSoftware Developer at StartupIO\nBoston, MA — June 2018 – February 2021\n• Built React dashboard used by 500+ enterprise clients\n• Implemented CI/CD pipelines with GitHub Actions and Docker\n• Designed PostgreSQL schema supporting multi-tenant SaaS\n\nEducation\n\nMIT\nBachelor of Science in Computer Science\nSeptember 2014 – June 2018\nGPA: 3.75/4.0\n\nSkills\nLanguages: Python, JavaScript, TypeScript, SQL, Go\nFrameworks: React, Django, FastAPI, Express.js\nCloud: AWS (EC2, Lambda, S3, RDS), Docker, Kubernetes\nDatabases: PostgreSQL, MongoDB, Redis\n\nCertifications\n- AWS Solutions Architect Associate\n- Certified Kubernetes Administrator\n\nLanguages\n- English (Native)\n- French (Conversational)"
                    },
                    "urls": {
                        "title": "URLs to Fetch",
                        "type": "array",
                        "description": "List of URLs to fetch and extract data from. Used when Input Type is 'Fetch from URLs'.",
                        "items": {
                            "type": "string"
                        },
                        "default": []
                    },
                    "kvStoreKeys": {
                        "title": "Key-Value Store Keys",
                        "type": "array",
                        "description": "Keys to read from the default Key-Value Store. Used when Input Type is 'Read from Key-Value Store'.",
                        "items": {
                            "type": "string"
                        },
                        "default": []
                    },
                    "chatLogFormat": {
                        "title": "Chat Log Format Hint",
                        "enum": [
                            "auto",
                            "whatsapp",
                            "slack",
                            "discord",
                            "irc",
                            "generic",
                            "simple"
                        ],
                        "type": "string",
                        "description": "Helps the chat log extractor parse correctly. Use 'auto' to let the extractor detect the format automatically.",
                        "default": "auto"
                    },
                    "outputFormat": {
                        "title": "Output Format",
                        "enum": [
                            "full",
                            "compact",
                            "flat"
                        ],
                        "type": "string",
                        "description": "How to structure the output dataset records.",
                        "default": "full"
                    },
                    "includeSourceText": {
                        "title": "Include Source Text in Output",
                        "type": "boolean",
                        "description": "Whether to include the original input text/HTML in each output record.",
                        "default": false
                    },
                    "maxConcurrency": {
                        "title": "Max Concurrency",
                        "minimum": 1,
                        "maximum": 20,
                        "type": "integer",
                        "description": "Maximum number of URLs to fetch concurrently (only for URL mode).",
                        "default": 5
                    },
                    "proxyConfiguration": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Proxy settings for fetching URLs. Leave empty to use direct connection.",
                        "default": {
                            "useApifyProxy": true
                        }
                    },
                    "requestTimeoutSecs": {
                        "title": "Request Timeout (seconds)",
                        "minimum": 5,
                        "maximum": 120,
                        "type": "integer",
                        "description": "Timeout in seconds when fetching URLs.",
                        "default": 30
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
