# LinkedIn Jobs Scraper - No Cookies, Pay Per Result (`thirdwatch/linkedin-jobs-scraper`) Actor

Scrape LinkedIn public job listings worldwide. Extract title, company, location, salary, description, skills, experience level, job type. Fast and full scrape modes. 30+ countries, 100+ cities. No login needed.

- **URL**: https://apify.com/thirdwatch/linkedin-jobs-scraper.md
- **Developed by:** [Thirdwatch](https://apify.com/thirdwatch) (community)
- **Categories:** Jobs, Social media, Other
- **Stats:** 109 total users, 24 monthly users, 82.0% runs succeeded, 5 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

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

## LinkedIn Jobs Scraper

Scrape public LinkedIn job listings for hiring-intent data: titles, companies, locations, salary fields, skills, descriptions, applicant counts, job type, experience level, and apply links. Use it for job boards, recruiting intelligence, labor-market research, and B2B buying-signal workflows without a LinkedIn account or API key.

### Value proposition

Job postings are one of the clearest public signals that a company is growing, changing tools, opening a new market, or investing in a function. This actor turns LinkedIn Jobs searches into structured JSON so you can track which companies are hiring, what skills they ask for, where they are expanding, and how roles are changing over time.

Use it when you need:

- Fresh public LinkedIn job data for a role and location
- Hiring velocity by company or market
- Parsed salary fields when LinkedIn exposes salary data
- Skills and descriptions for buying-signal pipelines
- Apply URLs for job-board or recruiting workflows

### What's new

- **No-login public job collection**: uses public LinkedIn job listing data without cookies or a LinkedIn account.
- **Multiple scrape modes**: choose `standard`, `full`, or `fast` depending on whether you need descriptions and enrichment fields.
- **Structured salary parsing**: returns raw salary text plus parsed min, max, currency, and pay period when salary is available.
- **Country, date, job type, and experience filters**: narrow searches before collecting results.

### What data you get

| Field | Description |
| --- | --- |
| `title` | Job title |
| `company_name` | Hiring company |
| `location` | Job location |
| `salary_raw` | Salary as displayed by LinkedIn when available |
| `salary_min` | Parsed minimum salary when available |
| `salary_max` | Parsed maximum salary when available |
| `salary_currency` | Parsed currency code when available |
| `salary_period` | Pay period such as yearly, monthly, or hourly when available |
| `experience_level` | Experience level shown by LinkedIn |
| `job_type` | Full-time, part-time, contract, internship, or related type |
| `industry` | Company industry when available |
| `skills` | Required or inferred skills in Standard and Full modes |
| `description` | Full job description in Standard and Full modes |
| `applicant_count` | Applicant count text when available |
| `is_easy_apply` | Whether LinkedIn Easy Apply appears available |
| `posted_at` | Posting date or parsed posting date when available |
| `apply_url` | LinkedIn job URL or apply link |

### Quick-start input examples

#### 1. Search one role in one location

```json
{
  "queries": ["software engineer"],
  "location": "San Francisco",
  "country": "United States",
  "maxResultsPerQuery": 25,
  "scrapeMode": "standard"
}
````

#### 2. Track hiring at a target company

```json
{
  "queries": ["sales", "customer success", "solutions engineer"],
  "companyName": "Snowflake",
  "country": "United States",
  "datePosted": "Past month",
  "maxResultsPerQuery": 50,
  "scrapeMode": "standard"
}
```

#### 3. Fast search-card collection

```json
{
  "queries": ["data analyst remote", "analytics engineer remote"],
  "maxResultsPerQuery": 100,
  "maxPages": 4,
  "scrapeMode": "fast"
}
```

### Input parameters

| Parameter | Required | Default | Description |
| --- | --- | --- | --- |
| `queries` | Yes | - | Job search keywords. Each query runs a separate LinkedIn search. |
| `location` | No | - | City, region, or country text such as `London`, `Bangalore`, or `India`. |
| `country` | No | - | Country filter such as United States, United Kingdom, India, Canada, Australia, Germany, France, Netherlands, Singapore, UAE, Japan, Brazil, Ireland, Sweden, Switzerland, Spain, Italy, Israel, South Korea, or Mexico. |
| `companyName` | No | - | Limit results to one company name. |
| `maxResultsPerQuery` | No | `5` | Maximum jobs to return per query. Start small for previews, then increase for larger runs. |
| `maxPages` | No | `1` | Number of search result pages per query. Public LinkedIn search usually exposes about 25 jobs per page. |
| `scrapeMode` | No | `standard` | `standard` for most use cases, `full` for alternate extraction, or `fast` for search-card fields only. |
| `datePosted` | No | Any time | Filter by Any time, Past 24 hours, Past week, or Past month. |
| `jobType` | No | - | Filter by Full-time, Part-time, Contract, Temporary, or Internship. |
| `experienceLevel` | No | - | Filter by Internship, Entry level, Associate, Mid-Senior level, Director, or Executive. |
| `proxyConfiguration` | No | Apify default | Proxy settings. Leave default unless you have a specific Apify proxy setup. |

### Scrape modes

| Mode | Best for | Notes |
| --- | --- | --- |
| `standard` | Most jobs, salary, skills, descriptions, and apply links | Recommended default. |
| `full` | Alternative extraction if Standard returns incomplete data | Useful as a fallback for some searches. |
| `fast` | Bulk discovery when descriptions are not needed | Reads search-card data only, so some enriched fields may be empty. |

### Sample output snippet

```json
{
  "title": "Software Engineer",
  "company_name": "Google",
  "location": "San Francisco, CA",
  "salary_raw": "$150,000 - $200,000/yr",
  "salary_min": 150000,
  "salary_max": 200000,
  "salary_currency": "USD",
  "salary_period": "yearly",
  "experience_level": "Mid-Senior level",
  "job_type": "Full-time",
  "industry": "Technology, Information and Internet",
  "skills": ["Python", "Java", "AWS"],
  "description": "We are looking for a talented Software Engineer to join...",
  "applicant_count": "200+ applicants",
  "is_easy_apply": true,
  "posted_at": "2026-04-05",
  "apply_url": "https://www.linkedin.com/jobs/view/123456/"
}
```

### Use cases

- **B2B buying signals**: identify accounts hiring for product-relevant skills such as Salesforce, Snowflake, Kubernetes, SAP, or outbound sales roles.
- **ABM and RevOps**: monitor hiring velocity at named accounts and trigger campaigns when teams expand.
- **Recruiting intelligence**: track open roles, salary ranges, and locations across competitors or target employers.
- **Job boards**: collect public LinkedIn job data and apply links for search, alerts, or aggregation.
- **Investor and market research**: use job postings as a leading indicator of growth, contraction, geographic expansion, or new product focus.
- **Salary analytics**: compare public salary ranges by role, level, geography, and company when salary is available.

### Pricing examples

This actor uses pay-per-result pricing. The current base Store price is **$0.008 per job result**.

| Run size | Approximate result cost |
| --- | ---: |
| 100 jobs | $0.80 |
| 1,000 jobs | $8.00 |
| 10,000 jobs | $80.00 |

Apify platform usage and proxy costs, if applicable to your account, are handled by Apify separately from pay-per-result pricing.

### Limitations

- Salary fields are only populated when LinkedIn or the employer exposes salary data.
- `skills` and `description` require Standard or Full mode. Fast mode reads search-card fields only.
- Easy Apply jobs may point back to LinkedIn rather than an external employer application page.
- Public guest search can be broader than logged-in LinkedIn search. Use specific titles and filters for better precision.
- LinkedIn public pagination has practical per-query limits. Split very large pulls by location, date, job type, or experience level.
- Very high-volume runs can encounter rate limits. Split large workloads across multiple runs if needed.

### FAQ

#### Do I need a LinkedIn account?

No. The actor accesses publicly visible LinkedIn job listing data and does not require login credentials.

#### Which scrape mode should I use?

Use `standard` unless you specifically need the fastest search-card-only collection. Use `full` as an alternate extraction path if a Standard run returns incomplete data for your query.

#### Why are some salary fields empty?

LinkedIn only shows salary when the employer or source listing includes it. The actor parses salary when it is available.

#### Can I filter by company?

Yes. Use `companyName` to limit results to a target company, then combine it with `datePosted`, `jobType`, or `experienceLevel` for tighter monitoring.

#### Can I use this as a LinkedIn Jobs API alternative?

Yes, for public job listings. LinkedIn does not provide an open public job-search API for this use case, so this actor returns structured public listing data through Apify.

### Support and custom builds

Need a custom hiring-intent workflow, company monitor, skills classifier, job-board feed, or multi-source jobs dataset? Contact Thirdwatch through Apify or visit [thirdwatch.dev](https://thirdwatch.dev) for custom builds.

Pairs well with [Google Jobs Scraper](https://apify.com/thirdwatch/google-jobs-scraper?fpr=9m2cd6), [Indeed Scraper](https://apify.com/thirdwatch/indeed-jobs-scraper?fpr=9m2cd6), and [Naukri Scraper](https://apify.com/thirdwatch/naukri-jobs-scraper?fpr=9m2cd6) for multi-source hiring datasets.

### Use cases and recipes

Step-by-step guides on [thirdwatch.dev/blog](https://thirdwatch.dev/blog):

- [Build a LinkedIn Jobs Aggregator with Apify (2026 Guide)](https://thirdwatch.dev/blog/build-linkedin-jobs-aggregator-with-apify)
- [Filter LinkedIn Jobs by Skill and Location (2026 Guide)](https://thirdwatch.dev/blog/filter-linkedin-jobs-by-skill-and-location)
- [Scrape LinkedIn Jobs Without Login at Scale (2026 Guide)](https://thirdwatch.dev/blog/scrape-linkedin-jobs-without-login)
- [Track LinkedIn Hiring Velocity by Company (2026)](https://thirdwatch.dev/blog/track-linkedin-hiring-velocity-by-company)

Last verified: 2026-05

# Actor input Schema

## `queries` (type: `array`):

Job search keywords (e.g., 'software engineer', 'data scientist', 'product manager'). Each query produces a separate LinkedIn search.

## `location` (type: `string`):

Location to search in. Use a city name (e.g., 'San Francisco', 'London', 'Bangalore'), a country name (e.g., 'United States', 'India'), or leave empty for worldwide results.

## `country` (type: `string`):

Filter by country. Select a country or leave empty to use the location field instead.

## `companyName` (type: `string`):

Limit results to a specific company (e.g., 'Google', 'Netflix').

## `maxResultsPerQuery` (type: `integer`):

Maximum job listings to extract per query. This is the main volume lever — the actor auto-paginates until it reaches this number, so you do NOT need to raise maxPages. Start small (5-10) to preview cost; raise for larger runs. LinkedIn's public guest API caps at ~1000 results per query — for broader searches, split by location, role, or job\_type instead of asking for more.

## `maxPages` (type: `integer`):

Optional minimum number of search result pages to scrape per query (10 jobs/page). Leave at 1 in almost all cases — maxResultsPerQuery already drives pagination automatically. Only raise this if you want to force more pages than maxResultsPerQuery would imply. Public ceiling is ~100 pages (~1000 jobs) per query.

## `scrapeMode` (type: `string`):

Standard (recommended): Fastest and most affordable, gets all fields including descriptions. Full: Alternative extraction method with fallback. Fast: Search cards only, no descriptions.

## `datePosted` (type: `string`):

Filter by when jobs were posted.

## `jobType` (type: `string`):

Filter by employment type.

## `experienceLevel` (type: `string`):

Filter by experience level.

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

Proxy settings. Leave default for best results.

## Actor input object example

```json
{
  "queries": [
    "software engineer"
  ],
  "location": "",
  "country": "",
  "companyName": "",
  "maxResultsPerQuery": 5,
  "maxPages": 1,
  "scrapeMode": "standard",
  "datePosted": "",
  "jobType": "",
  "experienceLevel": "",
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# Actor output Schema

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

No description

# API

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

## JavaScript example

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

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

// Prepare Actor input
const input = {
    "queries": [
        "software engineer"
    ],
    "location": "",
    "maxResultsPerQuery": 5,
    "maxPages": 1
};

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

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

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

```

## Python example

```python
from apify_client import ApifyClient

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

# Prepare the Actor input
run_input = {
    "queries": ["software engineer"],
    "location": "",
    "maxResultsPerQuery": 5,
    "maxPages": 1,
}

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

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

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

```

## CLI example

```bash
echo '{
  "queries": [
    "software engineer"
  ],
  "location": "",
  "maxResultsPerQuery": 5,
  "maxPages": 1
}' |
apify call thirdwatch/linkedin-jobs-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "LinkedIn Jobs Scraper - No Cookies, Pay Per Result",
        "description": "Scrape LinkedIn public job listings worldwide. Extract title, company, location, salary, description, skills, experience level, job type. Fast and full scrape modes. 30+ countries, 100+ cities. No login needed.",
        "version": "1.4",
        "x-build-id": "2hsLnd193PeIk7mkM"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/thirdwatch~linkedin-jobs-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-thirdwatch-linkedin-jobs-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/thirdwatch~linkedin-jobs-scraper/runs": {
            "post": {
                "operationId": "runs-sync-thirdwatch-linkedin-jobs-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/thirdwatch~linkedin-jobs-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-thirdwatch-linkedin-jobs-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "queries"
                ],
                "properties": {
                    "queries": {
                        "title": "Job Search Queries",
                        "type": "array",
                        "description": "Job search keywords (e.g., 'software engineer', 'data scientist', 'product manager'). Each query produces a separate LinkedIn search.",
                        "default": [
                            "software engineer"
                        ],
                        "items": {
                            "type": "string"
                        }
                    },
                    "location": {
                        "title": "Location",
                        "type": "string",
                        "description": "Location to search in. Use a city name (e.g., 'San Francisco', 'London', 'Bangalore'), a country name (e.g., 'United States', 'India'), or leave empty for worldwide results.",
                        "default": ""
                    },
                    "country": {
                        "title": "Country Filter",
                        "enum": [
                            "",
                            "us",
                            "uk",
                            "india",
                            "canada",
                            "australia",
                            "germany",
                            "france",
                            "netherlands",
                            "singapore",
                            "uae",
                            "japan",
                            "brazil",
                            "ireland",
                            "sweden",
                            "switzerland",
                            "spain",
                            "italy",
                            "israel",
                            "south_korea",
                            "mexico"
                        ],
                        "type": "string",
                        "description": "Filter by country. Select a country or leave empty to use the location field instead.",
                        "default": ""
                    },
                    "companyName": {
                        "title": "Company Name",
                        "type": "string",
                        "description": "Limit results to a specific company (e.g., 'Google', 'Netflix').",
                        "default": ""
                    },
                    "maxResultsPerQuery": {
                        "title": "Max Results Per Query",
                        "minimum": 1,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Maximum job listings to extract per query. This is the main volume lever — the actor auto-paginates until it reaches this number, so you do NOT need to raise maxPages. Start small (5-10) to preview cost; raise for larger runs. LinkedIn's public guest API caps at ~1000 results per query — for broader searches, split by location, role, or job_type instead of asking for more.",
                        "default": 5
                    },
                    "maxPages": {
                        "title": "Max Pages Per Query",
                        "minimum": 1,
                        "maximum": 100,
                        "type": "integer",
                        "description": "Optional minimum number of search result pages to scrape per query (10 jobs/page). Leave at 1 in almost all cases — maxResultsPerQuery already drives pagination automatically. Only raise this if you want to force more pages than maxResultsPerQuery would imply. Public ceiling is ~100 pages (~1000 jobs) per query.",
                        "default": 1
                    },
                    "scrapeMode": {
                        "title": "Scrape Mode",
                        "enum": [
                            "standard",
                            "full",
                            "fast"
                        ],
                        "type": "string",
                        "description": "Standard (recommended): Fastest and most affordable, gets all fields including descriptions. Full: Alternative extraction method with fallback. Fast: Search cards only, no descriptions.",
                        "default": "standard"
                    },
                    "datePosted": {
                        "title": "Date Posted Filter",
                        "enum": [
                            "",
                            "past24h",
                            "pastWeek",
                            "pastMonth"
                        ],
                        "type": "string",
                        "description": "Filter by when jobs were posted.",
                        "default": ""
                    },
                    "jobType": {
                        "title": "Job Type Filter",
                        "enum": [
                            "",
                            "F",
                            "P",
                            "C",
                            "T",
                            "I"
                        ],
                        "type": "string",
                        "description": "Filter by employment type.",
                        "default": ""
                    },
                    "experienceLevel": {
                        "title": "Experience Level Filter",
                        "enum": [
                            "",
                            "1",
                            "2",
                            "3",
                            "4",
                            "5",
                            "6"
                        ],
                        "type": "string",
                        "description": "Filter by experience level.",
                        "default": ""
                    },
                    "proxyConfiguration": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Proxy settings. Leave default for best results.",
                        "default": {
                            "useApifyProxy": true,
                            "apifyProxyGroups": [
                                "RESIDENTIAL"
                            ]
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
