# LinkedIn Profile Scraper – No Login, Public Data (`scrapepilot/linkedin-profile-scraper---no-login-public-data`) Actor

Extract public LinkedIn profile data without login. Name, headline, company, location, about, skills. Auth wall detection + Google Knowledge Panel fallback. Residential proxy required. Bulk usernames or full names supported. JSON/CSV.

- **URL**: https://apify.com/scrapepilot/linkedin-profile-scraper---no-login-public-data.md
- **Developed by:** [Scrape Pilot](https://apify.com/scrapepilot) (community)
- **Categories:** Lead generation, Jobs, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

$20.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 Profile Scraper v3 — Public Data, No Login, Auth Wall Bypass

**Extract public LinkedIn profile data without logging in.**  
Fetches name, headline, current position, company, location, connections count, about section, experience summary, education, and skills. Uses multiple URL variants (no‑www, www, mobile) to avoid auth walls. When blocked, falls back to Google Knowledge Panel extraction. **Residential proxy required** (LinkedIn blocks datacenter IPs).

---

### 💡 What is LinkedIn Profile Scraper v3?

LinkedIn Profile Scraper v3 is a professional Apify actor that extracts **publicly visible information** from LinkedIn profiles – no account, no login, no cookies. It works around LinkedIn’s soft authentication walls by:

1. Trying multiple URL formats: `linkedin.com/in/{username}`, `www.linkedin.com/in/{username}`, and `m.linkedin.com/in/{username}`.
2. Detecting “Welcome to your professional community” auth walls by checking OG title and HTML content.
3. Falling back to **Google Knowledge Panel** extraction when all LinkedIn pages are blocked.
4. Supporting **full name input** – automatically searches Google to find the correct LinkedIn username.

The result is a clean JSON object with the profile data that is publicly accessible, plus a `search_status` field indicating whether the data is complete (`FOUND`), partial (`PARTIAL` from Google KP), or blocked (`AUTH_REQUIRED`).

---

### 📦 What Data Can You Extract?

| 🧩 Data Type           | 📋 Description |
|------------------------|----------------|
| 👤 Name                | Full name from the profile. |
| 🔗 Profile URL         | LinkedIn profile URL (canonical). |
| 📌 Headline            | Current title / tagline (e.g., “Chairman and CEO at Microsoft”). |
| 💼 Current Position    | Job title (parsed from headline or meta). |
| 🏢 Company             | Current employer. |
| 📍 Location            | City, state, country (if public). |
| 👥 Connections         | Number of connections (often shown as “500+” if high). |
| 📝 About               | Summary / bio section (if public). |
| 📋 Experience Summary  | First few experience entries (truncated). |
| 🎓 Education           | Degrees and institutions (if public). |
| 🛠️ Skills              | List of skills (when available in page). |
| 🔍 Search Status       | `FOUND`, `PARTIAL` (Google KP), or `AUTH_REQUIRED`. |
| 🛡️ Data Quality        | `Public`, `Partial`, or note. |
| ⏱️ Scraped At          | ISO timestamp. |

---

### ⚙️ Key Features

- **No Login Required** – Uses only public web pages.
- **Auth Wall Detection** – Recognises LinkedIn login/signup prompts and switches strategy.
- **Multiple URL Fallbacks** – Tries `linkedin.com/in`, `www`, and mobile versions.
- **Google Knowledge Panel Fallback** – Extracts profile data from Google search results when LinkedIn blocks.
- **Full Name Support** – Enter a person’s name (e.g., “Satya Nadella”) and the actor will find their LinkedIn username via Google.
- **Residential Proxy Ready** – LinkedIn aggressively blocks datacenter IPs; residential proxies are **required**.
- **Bulk Processing** – Scrape up to 20+ profiles in one run.
- **Keyword Filtering** – Filter results by keyword in headline, company, or about text.
- **Clean JSON Output** – Ready for CRM, lead enrichment, or analytics.

---

### 📥 Input Parameters

The actor accepts a JSON object with the following fields:

| Parameter            | Type                | Required | Default | Description |
|----------------------|---------------------|----------|---------|-------------|
| `profile_urls`       | array or string     | No       | –       | List of LinkedIn usernames or full profile URLs. Can be newline‑separated string. |
| `profile_url`        | string              | No       | –       | Single username or URL (alternative to `profile_urls`). |
| `username`           | string              | No       | –       | Same as above. |
| `keyword`            | string              | No       | –       | Filter results by keyword in headline/company/about. |
| `max_results`        | integer             | No       | `20`    | Maximum number of profiles to process. |
| `proxyConfiguration` | object              | No       | –       | Apify proxy configuration. **Residential proxies are required.** |

> **Note:** You can provide either a LinkedIn username (e.g., `satyanadella`), a full LinkedIn URL (e.g., `https://linkedin.com/in/satyanadella/`), or a person’s name (e.g., `Satya Nadella`). The actor will handle all formats.

#### Example Input (Usernames)

```json
{
  "profile_urls": ["satyanadella", "sundarpichai", "tim-cook"],
  "max_results": 10,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": ["RESIDENTIAL"]
  }
}
````

#### Example Input (Full Name)

```json
{
  "profile_url": "Elon Musk",
  "keyword": "Tesla",
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": ["RESIDENTIAL"]
  }
}
```

***

### 📤 Output Fields

Each profile returns an object. Fields may be omitted if not publicly available.

| Field                 | Type   | Description |
|-----------------------|--------|-------------|
| `name`                | string | Full name. |
| `profile_url`         | string | LinkedIn profile URL. |
| `url_used`            | string | Which URL variant succeeded (e.g., `https://linkedin.com/in/...`). |
| `headline`            | string | Current title / tagline. |
| `current_position`    | string | Job title (extracted). |
| `company`             | string | Current employer. |
| `company_url`         | string | LinkedIn company page URL (if found). |
| `location`            | string | City, state, country. |
| `connections`         | string | Connection count (e.g., `500+`). |
| `about`               | string | Summary / bio. |
| `experience_summary`  | string | First few experience entries (truncated). |
| `education`           | string | Degrees and institutions. |
| `skills`              | array  | List of skills (if available). |
| `search_status`       | string | `FOUND`, `PARTIAL` (from Google KP), or `AUTH_REQUIRED`. |
| `data_quality`        | string | `Public`, `Partial`, or note. |
| `security`            | string | `No Login Required`. |
| `source_input`        | string | Original input value. |
| `scraped_at`          | string | ISO timestamp. |

#### Example Output (Successful)

```json
[
  {
    "name": "Satya Nadella",
    "profile_url": "https://www.linkedin.com/in/satyanadella",
    "url_used": "https://linkedin.com/in/satyanadella/",
    "headline": "Chairman and CEO at Microsoft",
    "current_position": "Chairman and CEO",
    "company": "Microsoft",
    "company_url": "https://www.linkedin.com/company/microsoft",
    "location": "Redmond, Washington, United States",
    "connections": "500+",
    "about": "Satya Nadella is the Chairman and CEO of Microsoft...",
    "experience_summary": "Chairman and CEO at Microsoft (2014-present); Executive Vice President at Microsoft (2000-2014)",
    "education": "MS in Computer Science - University of Wisconsin-Milwaukee; MBA - University of Chicago Booth School of Business",
    "skills": ["Leadership", "Cloud Computing", "AI", "Strategy"],
    "search_status": "FOUND",
    "data_quality": "Public",
    "security": "No Login Required",
    "source_input": "satyanadella",
    "scraped_at": "2026-04-12T12:00:00Z"
  }
]
```

#### Example Output (Partial – Google Knowledge Panel)

```json
[
  {
    "name": "Satya Nadella",
    "profile_url": "https://www.linkedin.com/in/satyanadella",
    "headline": "Chairman and CEO at Microsoft",
    "company": "Microsoft",
    "about": "Indian-American business executive...",
    "connections": "500+",
    "search_status": "PARTIAL",
    "data_source": "Google Knowledge Panel",
    "source_input": "Satya Nadella",
    "scraped_at": "2026-04-12T12:00:00Z"
  }
]
```

#### Example Output (Blocked)

```json
[
  {
    "name": null,
    "profile_url": "https://www.linkedin.com/in/privateprofile",
    "search_status": "AUTH_REQUIRED",
    "note": "LinkedIn requires login. Try again with a different RESIDENTIAL proxy IP.",
    "source_input": "privateprofile",
    "scraped_at": "2026-04-12T12:00:00Z"
  }
]
```

***

### 🛠 How to Use on Apify

1. **Create a task** with this actor.
2. **Provide input** – one or more LinkedIn usernames, URLs, or full names.
3. **Enable residential proxies** – **required** (LinkedIn blocks datacenter IPs). Select `RESIDENTIAL` proxy group.
4. **Run** – the actor will try multiple strategies and return results.
5. **Export** – download results as JSON, CSV, or Excel.

#### Running via API

```bash
curl -X POST "https://api.apify.com/v2/acts/your-username~linkedin-profile-scraper/runs" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -d '{
    "profile_urls": ["satyanadella", "sundarpichai"],
    "proxyConfiguration": {
      "useApifyProxy": true,
      "apifyProxyGroups": ["RESIDENTIAL"]
    }
  }'
```

***

### 🎯 Use Cases

- **Lead Enrichment** – Add LinkedIn profile data to your CRM (name, company, title).
- **Sales Intelligence** – Prospect decision makers by extracting their current roles.
- **Recruitment** – Quickly gather public profile information of potential candidates.
- **Competitive Research** – Monitor leadership changes at competitor companies.
- **Data Enrichment** – Augment existing datasets with LinkedIn public fields.
- **Investor Research** – Background checks on startup founders.

***

### ❓ Frequently Asked Questions

#### Q1. Do I need a LinkedIn account?

No. The actor does not require login. It uses only public pages.

#### Q2. Why do I need residential proxies?

LinkedIn aggressively blocks datacenter IP addresses (AWS, Google Cloud, etc.). Residential proxies mimic real users and are essential to avoid `999` or `403` errors.

#### Q3. What does `search_status: PARTIAL` mean?

The actor could not fetch the full LinkedIn page (likely blocked), but it extracted some information from Google Knowledge Panel (name, headline, company, about). This data is usually accurate but less detailed.

#### Q4. Why is `connections` always `500+`?

For high‑profile profiles, LinkedIn often shows “500+ connections” without the exact number. The actor returns that string as is. For lower‑connection profiles, the exact number may appear.

#### Q5. Can I extract email addresses or phone numbers?

No. Those are not public on LinkedIn.

#### Q6. What if I enter a full name (e.g., “Elon Musk”)?

The actor will Google `site:linkedin.com/in "Elon Musk"` to find the correct username. If found, it will then scrape that profile. If not found, it will fall back to Google Knowledge Panel.

#### Q7. How accurate is the data from Google Knowledge Panel?

It is usually accurate for public figures (CEOs, founders, famous people). For less known individuals, the panel may be missing.

#### Q8. Why does the actor sometimes return `AUTH_REQUIRED`?

Even with residential proxies, some profiles are set to “private” or require login to view any information. The actor cannot bypass that.

***

### 📝 Technical Notes

- **Dependencies**: `curl_cffi` (for TLS fingerprint spoofing) and `BeautifulSoup4`. Both are bundled.
- **Auth wall detection**: Looks for phrases like “welcome to your professional community”, “sign in to linkedin”, etc. in the first 5000 chars and OG title.
- **Fallback order**:
  1. `https://linkedin.com/in/{username}/` (no‑www)
  2. `https://www.linkedin.com/in/{username}/` (www)
  3. `https://m.linkedin.com/in/{username}/` (mobile)
  4. Google Knowledge Panel extraction
- **Proxy**: The actor uses `Actor.create_proxy_configuration()` to get the proxy URL. You **must** select `RESIDENTIAL` group.
- **Rate limiting**: The actor adds a 2–4 second random delay between profiles to avoid being blocked.
- **Error handling**: If a profile fails completely, the actor returns a minimal object with `search_status: AUTH_REQUIRED` and continues.

***

### 🔍 SEO Keywords

`LinkedIn scraper`, `LinkedIn profile extractor`, `LinkedIn public data`, `LinkedIn no login`, `LinkedIn auth wall bypass`, `Google Knowledge Panel LinkedIn`, `LinkedIn lead generation`, `Apify LinkedIn actor`, `sales intelligence tool`, `LinkedIn username finder`

***

# Actor input Schema

## `profile_urls` (type: `string`):

LinkedIn usernames or profile URLs, one per line.

Accepted formats:
satyanadella
@sundarpichai
https://linkedin.com/in/tim-cook
Satya Nadella (full name — will search Google)
linkedin.com/in/jeffweiner

## `profile_url` (type: `string`):

Single LinkedIn @username or profile URL

## `keyword` (type: `string`):

Only return profiles where headline, company or about contains this keyword. E.g: 'CEO', 'engineer', 'marketing'

## `max_results` (type: `integer`):

Maximum profiles to scrape

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

RESIDENTIAL proxy is required — LinkedIn blocks all datacenter IPs.

## Actor input object example

```json
{
  "profile_urls": "satyanadella\nsundarpichai\ntim-cook",
  "max_results": 20,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# 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 = {
    "profile_urls": `satyanadella
sundarpichai
tim-cook`,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapepilot/linkedin-profile-scraper---no-login-public-data").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 = {
    "profile_urls": """satyanadella
sundarpichai
tim-cook""",
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("scrapepilot/linkedin-profile-scraper---no-login-public-data").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 '{
  "profile_urls": "satyanadella\\nsundarpichai\\ntim-cook",
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}' |
apify call scrapepilot/linkedin-profile-scraper---no-login-public-data --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=scrapepilot/linkedin-profile-scraper---no-login-public-data",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "LinkedIn Profile Scraper – No Login, Public Data",
        "description": "Extract public LinkedIn profile data without login. Name, headline, company, location, about, skills. Auth wall detection + Google Knowledge Panel fallback. Residential proxy required. Bulk usernames or full names supported. JSON/CSV.",
        "version": "0.0",
        "x-build-id": "gHltDzurOXy6tHe4U"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scrapepilot~linkedin-profile-scraper---no-login-public-data/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scrapepilot-linkedin-profile-scraper---no-login-public-data",
                "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/scrapepilot~linkedin-profile-scraper---no-login-public-data/runs": {
            "post": {
                "operationId": "runs-sync-scrapepilot-linkedin-profile-scraper---no-login-public-data",
                "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/scrapepilot~linkedin-profile-scraper---no-login-public-data/run-sync": {
            "post": {
                "operationId": "run-sync-scrapepilot-linkedin-profile-scraper---no-login-public-data",
                "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": {
                    "profile_urls": {
                        "title": "LinkedIn Profiles (batch)",
                        "type": "string",
                        "description": "LinkedIn usernames or profile URLs, one per line.\n\nAccepted formats:\nsatyanadella\n@sundarpichai\nhttps://linkedin.com/in/tim-cook\nSatya Nadella (full name — will search Google)\nlinkedin.com/in/jeffweiner"
                    },
                    "profile_url": {
                        "title": "Single Profile",
                        "type": "string",
                        "description": "Single LinkedIn @username or profile URL"
                    },
                    "keyword": {
                        "title": "Keyword Filter",
                        "type": "string",
                        "description": "Only return profiles where headline, company or about contains this keyword. E.g: 'CEO', 'engineer', 'marketing'"
                    },
                    "max_results": {
                        "title": "Max Profiles",
                        "type": "integer",
                        "description": "Maximum profiles to scrape",
                        "default": 20
                    },
                    "proxyConfiguration": {
                        "title": "Proxy (RESIDENTIAL Required)",
                        "type": "object",
                        "description": "RESIDENTIAL proxy is required — LinkedIn blocks all datacenter IPs."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
