# Linkedin Company Employees Scraper Pro (`simpleapi/linkedin-company-employees-scraper-pro`) Actor

- **URL**: https://apify.com/simpleapi/linkedin-company-employees-scraper-pro.md
- **Developed by:** [SimpleAPI](https://apify.com/simpleapi) (community)
- **Categories:** Automation, Lead generation, Social media
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

$19.99/month + usage

To use this Actor, you pay a monthly rental fee to the developer. The rent is subtracted from your prepaid usage every month after the free trial period.You also pay for the Apify platform usage, which gets cheaper the higher Apify subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#rental-actors

## 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

## LinkedIn Company Employees Scraper

A powerful Apify Actor that scrapes LinkedIn employee profiles from company pages, extracting comprehensive professional data including contact information, work history, recommendations, courses, and more. Built with intelligent proxy fallback mechanisms to ensure reliable data collection at scale.

### Why Choose Us?

- **🔄 Intelligent Proxy Management**: Automatically switches from no proxy → datacenter → residential proxies when blocked, ensuring maximum success rates
- **📊 Comprehensive Data Extraction**: Captures 20+ data fields per profile including location, companies, recommendations, courses, and contact elements
- **🚀 High Performance**: Async/await architecture for fast, concurrent scraping
- **🛡️ Anti-Blocking**: Built-in retry logic with exponential backoff and automatic proxy rotation
- **🌍 Global Coverage**: Supports geocoding for accurate location data worldwide
- **📈 Scalable**: Process multiple companies and thousands of profiles efficiently
- **✅ Production-Ready**: Robust error handling, detailed logging, and live data saving

### Key Features

#### 🔍 Multi-Source Employee Discovery
- Scrapes company pages (`/company/`, `/people/`, `/about/`)
- Google search integration for additional employee discovery
- Supports company URLs, slugs, usernames, and keywords

#### 📋 Rich Profile Data Extraction
- **Basic Info**: Full name, headline, profile picture, public identifier
- **Location**: City, country, full address with geocoding support
- **Company Data**: Current company, all detected companies with URLs
- **Professional Content**: Recommendations received, LinkedIn Learning courses
- **Contact Elements**: Personal websites, platform metadata, language settings
- **Timestamps**: Creation timestamp for data freshness tracking

#### 🛡️ Advanced Proxy Fallback System
1. **Default**: Starts with no proxy (direct connection)
2. **Datacenter Proxy**: Automatically switches if blocked
3. **Residential Proxy**: Falls back to residential if datacenter fails
4. **Sticky Residential**: Once residential is activated, uses it for all remaining requests
5. **Smart Retries**: 3 automatic retries with residential proxy on failures

#### 📊 Real-Time Monitoring
- Detailed progress logs for each profile
- Proxy transition notifications
- Success/error statistics per company
- Live data saving to Apify dataset

### Input

#### JSON Example

```json
{
  "targets": [
    {
      "url": "https://www.linkedin.com/company/microsoft"
    },
    {
      "url": "https://www.linkedin.com/company/google"
    },
    "apple",
    "software engineer"
  ],
  "sort_order": "relevance",
  "max_comments": 0,
  "proxyConfiguration": {
    "useApifyProxy": false
  },
  "maxEmployees": 20
}
````

#### Input Fields

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `targets` | Array | ✅ Yes | List of LinkedIn company URLs, slugs, usernames, or keywords. Supports bulk input. |
| `sort_order` | String | ❌ No | Sort strategy: `"relevance"`, `"recent"`, or `"connections"`. Default: `"relevance"`. |
| `max_comments` | Integer | ❌ No | Placeholder for compatibility (LinkedIn doesn't expose comments). Default: `0`. |
| `proxyConfiguration` | Object | ❌ No | Proxy settings. Default: `{"useApifyProxy": false}` (no proxy initially). |
| `maxEmployees` | Integer | ❌ No | Maximum employees to scrape per company. Range: 1-1000. Default: `20`. |

#### Input Examples

**Company URL:**

```json
{
  "targets": [{"url": "https://www.linkedin.com/company/microsoft"}]
}
```

**Company Slug:**

```json
{
  "targets": [{"url": "microsoft"}]
}
```

**Keyword Search:**

```json
{
  "targets": [{"url": "software engineer"}]
}
```

**Multiple Targets:**

```json
{
  "targets": [
    {"url": "https://www.linkedin.com/company/microsoft"},
    {"url": "google"},
    {"url": "apple"}
  ],
  "maxEmployees": 50
}
```

### Output

#### Output Format

The actor saves data to the Apify dataset. Each record represents one employee profile with the following structure:

#### JSON Example

```json
{
  "company_url": "https://www.linkedin.com/company/microsoft?trk=public_profile_topcard-current-company",
  "profile_url": "https://www.linkedin.com/in/johndoe",
  "fullname": "John Doe",
  "first_name": "John",
  "last_name": "Doe",
  "headline": "Senior Software Engineer at Microsoft · Experience: Microsoft · Location: Seattle, Washington, United States",
  "public_identifier": "/in/johndoe",
  "profile_picture_url": "https://media.licdn.com/dms/image/...",
  "location": {
    "country": "United States",
    "city": "Seattle",
    "full": "Seattle, Washington, United States",
    "country_code": "US"
  },
  "is_creator": false,
  "is_influencer": false,
  "is_premium": false,
  "created_timestamp": 1763554288,
  "show_follower_count": true,
  "current_company": "Microsoft",
  "companies_detected": [
    {
      "name": "Microsoft",
      "slug": "microsoft",
      "url": "https://www.linkedin.com/company/microsoft?trk=..."
    }
  ],
  "personal_website": "https://johndoe.com",
  "recommendations_received": [
    {
      "text": "John is an excellent engineer...",
      "author": "Jane Smith",
      "author_url": "https://www.linkedin.com/in/janesmith"
    }
  ],
  "other_contact_details": {
    "course_links": [
      "https://www.linkedin.com/learning/advanced-python",
      "https://www.linkedin.com/learning/cloud-architecture"
    ]
  },
  "contact_elements": {
    "profile_identity": {
      "profile_identifier": "https://www.linkedin.com/in/johndoe",
      "profile_picture": "https://media.licdn.com/dms/image/...",
      "profile_name_display": "John Doe"
    },
    "auth_points": {
      "email_phone_input_present": true,
      "password_input_present": true,
      "login_form_action": "https://www.linkedin.com/uas/login-submit"
    },
    "learning_content": {
      "course_details": [
        {
          "title": "Advanced Python Programming",
          "duration": "2h 30m",
          "url": "https://www.linkedin.com/learning/advanced-python",
          "image": "https://media.licdn.com/dms/image/..."
        }
      ],
      "course_titles": ["Advanced Python Programming", "Cloud Architecture"],
      "all_courses_link": "https://www.linkedin.com/learning/"
    },
    "platform": {
      "corporate_logo_url": "",
      "copyright": "© 2024 LinkedIn Corporation",
      "policy_links": [],
      "about_links": [],
      "privacy_links": [],
      "user_agreement_links": []
    },
    "language": {
      "selector_present": true,
      "locales": ["en_US", "es_ES", "fr_FR", "de_DE"]
    }
  }
}
```

#### Output Fields

| Field | Type | Description |
|-------|------|-------------|
| `company_url` | String | URL of the company page where employee was found |
| `profile_url` | String | Full LinkedIn profile URL |
| `fullname` | String | Complete name of the employee |
| `first_name` | String | First name |
| `last_name` | String | Last name |
| `headline` | String | Professional headline/description |
| `public_identifier` | String | LinkedIn public identifier (e.g., `/in/username`) |
| `profile_picture_url` | String | URL to profile picture |
| `location` | Object | Location data with city, country, full address, and country code |
| `is_creator` | Boolean | Whether user is a LinkedIn creator |
| `is_influencer` | Boolean | Whether user is a LinkedIn influencer |
| `is_premium` | Boolean | Whether user has LinkedIn Premium |
| `created_timestamp` | Integer | Unix timestamp when data was scraped |
| `show_follower_count` | Boolean | Whether follower count is visible |
| `current_company` | String | Name of current company |
| `companies_detected` | Array | List of all companies detected on profile |
| `personal_website` | String | Personal website URL if available |
| `recommendations_received` | Array | List of recommendations with text, author, and URLs |
| `other_contact_details` | Object | Additional contact info including course links |
| `contact_elements` | Object | Detailed contact and platform metadata |

### 🚀 How to Use the Actor (via Apify Console)

1. **Log in** to [Apify Console](https://console.apify.com) and navigate to **Actors**
2. **Find** the `linkedin-company-employees-scraper` actor and click it
3. **Configure inputs**:
   - Add company URLs, slugs, or keywords in the `targets` field
   - Set `maxEmployees` to control how many profiles to scrape per company
   - Configure `proxyConfiguration` (default: no proxy, auto-fallback enabled)
   - Adjust `sort_order` if needed
4. **Run the actor** by clicking the **Start** button
5. **Monitor progress** in real-time through the **Log** tab
6. **Access results** in the **Dataset** tab once scraping completes
7. **Export results** to JSON, CSV, Excel, or integrate via API

#### Using Apify CLI

```bash
## Install Apify CLI (if not already installed)
npm install -g apify-cli

## Navigate to actor directory
cd Linkedin-Company-Employees-Scraper

## Push actor to Apify
apify push

## Run actor with input
apify call -m input.json
```

#### Example Input File (`input.json`)

```json
{
  "targets": [
    {"url": "https://www.linkedin.com/company/microsoft"}
  ],
  "maxEmployees": 50,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

### Best Use Cases

#### 🎯 Recruiting & Talent Acquisition

- Build candidate databases for specific companies
- Identify potential hires with specific skills or backgrounds
- Research company team structures and hierarchies

#### 📊 Market Research & Competitive Intelligence

- Analyze competitor employee profiles and expertise
- Track industry talent movements and trends
- Understand company organizational structures

#### 🔗 Lead Generation & Sales

- Find decision-makers at target companies
- Build prospect lists with verified LinkedIn profiles
- Identify contacts for B2B outreach campaigns

#### 📈 HR Analytics & Benchmarking

- Compare employee profiles across companies
- Analyze skills and certifications in the market
- Track professional development trends

#### 🎓 Academic Research

- Study professional networks and career paths
- Analyze industry talent distribution
- Research organizational structures

### Frequently Asked Questions

#### How does the proxy fallback work?

The actor starts with **no proxy** for maximum speed. If LinkedIn blocks the request:

1. Automatically switches to **datacenter proxy**
2. If still blocked, switches to **residential proxy**
3. Once residential is activated, it **sticks to residential** for all remaining requests
4. All proxy transitions are logged clearly

#### What happens if a profile is blocked?

The actor automatically retries up to **3 times** with residential proxy. If still blocked after retries, the profile is saved with an error message in the dataset, and scraping continues with other profiles.

#### Can I scrape private profiles?

No. The actor only scrapes **publicly available** LinkedIn profile data. Private profiles or profiles requiring login cannot be accessed.

#### How many employees can I scrape?

The `maxEmployees` parameter controls this (default: 20, max: 1000 per company). You can process multiple companies in a single run.

#### Does the actor respect rate limits?

Yes. The actor includes:

- Random delays between requests (2-4 seconds)
- Exponential backoff on retries
- Respectful scraping practices to avoid overwhelming LinkedIn servers

#### What data is extracted from each profile?

Each profile includes:

- Basic info (name, headline, profile picture)
- Location (with geocoding)
- Current and past companies
- Recommendations received
- LinkedIn Learning courses
- Personal websites
- Platform metadata

#### Can I use this for bulk scraping?

Yes! The actor supports bulk input via the `targets` array. You can process hundreds of companies in a single run.

#### How long does scraping take?

Scraping time depends on:

- Number of companies
- `maxEmployees` setting
- Network conditions
- Proxy usage

Approximate time: **~5-10 seconds per profile** (including delays and retries).

#### Is the data saved in real-time?

Yes! Data is saved to the Apify dataset **immediately** after each profile is scraped. If the actor crashes, already-scraped data remains available.

#### Can I filter by location or job title?

Currently, the actor scrapes all employees found. Filtering can be done post-scraping using the dataset export or API.

### Support and Feedback

- **Issues**: Report bugs or request features via Apify Console
- **Documentation**: Check [Apify Docs](https://docs.apify.com) for platform guides
- **Community**: Join [Apify Discord](https://discord.gg/apify) for discussions

### Cautions

⚠️ **Important Legal and Ethical Considerations:**

- **Public Data Only**: This actor collects data only from **publicly available** LinkedIn profiles. No private or password-protected content is accessed.
- **Compliance**: Users are responsible for ensuring compliance with:
  - **GDPR** (General Data Protection Regulation) in EU
  - **CCPA** (California Consumer Privacy Act) in California
  - **Local privacy laws** in your jurisdiction
  - **LinkedIn Terms of Service**
- **Rate Limiting**: The actor includes delays to respect LinkedIn's servers. Excessive scraping may result in IP blocks.
- **Data Usage**: Use scraped data responsibly. Do not use for:
  - Spam or unsolicited communications
  - Harassment or stalking
  - Violation of privacy rights
  - Any illegal activities
- **Terms of Service**: Ensure your use case complies with LinkedIn's Terms of Service and User Agreement.

**Disclaimer**: The actor developer and Apify are not responsible for how scraped data is used. Users must ensure their use case is legal and ethical in their jurisdiction.

***

**Built with ❤️ using Apify Platform**

# Actor input Schema

## `targets` (type: `array`):

Bulk input: LinkedIn company URLs or slugs, profile usernames, or keywords. Can be URLs (e.g., 'https://www.linkedin.com/company/microsoft') or plain text (e.g., 'microsoft', 'google', 'software engineer').

## `sort_order` (type: `string`):

Optional sort strategy for employee discovery (not required by LinkedIn, kept for compatibility).

## `max_comments` (type: `integer`):

Placeholder for compatibility; LinkedIn public pages do not expose comments in this actor.

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

Default: No proxy. If blocked, fallback datacenter → residential; stick to residential thereafter.

## `maxEmployees` (type: `integer`):

Maximum number of employee profiles to scrape per company. Range: 1-1000. Default: 20.

## Actor input object example

```json
{
  "targets": [
    "https://www.linkedin.com/company/microsoft"
  ],
  "sort_order": "relevance",
  "max_comments": 0,
  "proxyConfiguration": {
    "useApifyProxy": false
  },
  "maxEmployees": 20
}
```

# 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 = {
    "targets": [
        "https://www.linkedin.com/company/microsoft"
    ],
    "proxyConfiguration": {
        "useApifyProxy": false
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("simpleapi/linkedin-company-employees-scraper-pro").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 = {
    "targets": ["https://www.linkedin.com/company/microsoft"],
    "proxyConfiguration": { "useApifyProxy": False },
}

# Run the Actor and wait for it to finish
run = client.actor("simpleapi/linkedin-company-employees-scraper-pro").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 '{
  "targets": [
    "https://www.linkedin.com/company/microsoft"
  ],
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}' |
apify call simpleapi/linkedin-company-employees-scraper-pro --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Linkedin Company Employees Scraper Pro",
        "version": "0.1",
        "x-build-id": "e2HC8DxVSds4zZt7V"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/simpleapi~linkedin-company-employees-scraper-pro/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-simpleapi-linkedin-company-employees-scraper-pro",
                "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/simpleapi~linkedin-company-employees-scraper-pro/runs": {
            "post": {
                "operationId": "runs-sync-simpleapi-linkedin-company-employees-scraper-pro",
                "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/simpleapi~linkedin-company-employees-scraper-pro/run-sync": {
            "post": {
                "operationId": "run-sync-simpleapi-linkedin-company-employees-scraper-pro",
                "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": [
                    "targets"
                ],
                "properties": {
                    "targets": {
                        "title": "URLs / usernames / keywords",
                        "type": "array",
                        "description": "Bulk input: LinkedIn company URLs or slugs, profile usernames, or keywords. Can be URLs (e.g., 'https://www.linkedin.com/company/microsoft') or plain text (e.g., 'microsoft', 'google', 'software engineer').",
                        "items": {
                            "type": "string"
                        }
                    },
                    "sort_order": {
                        "title": "Sort order",
                        "enum": [
                            "relevance",
                            "recent",
                            "connections"
                        ],
                        "type": "string",
                        "description": "Optional sort strategy for employee discovery (not required by LinkedIn, kept for compatibility).",
                        "default": "relevance"
                    },
                    "max_comments": {
                        "title": "Max comments",
                        "minimum": 0,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Placeholder for compatibility; LinkedIn public pages do not expose comments in this actor.",
                        "default": 0
                    },
                    "proxyConfiguration": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Default: No proxy. If blocked, fallback datacenter → residential; stick to residential thereafter."
                    },
                    "maxEmployees": {
                        "title": "Max employees per company",
                        "minimum": 1,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Maximum number of employee profiles to scrape per company. Range: 1-1000. Default: 20.",
                        "default": 20
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
