# LinkedIn Easy Apply Bot — Auto-Apply with AI Filters (`sunny_spade/linkedin-easy-apply-bot`) Actor

Automatically applies to LinkedIn Easy Apply jobs matching your profile. Filters by language, role relevance, and Language fluency requirements. Fills all form fields using your profile data. Requires a valid LinkedIn session cookie.

- **URL**: https://apify.com/sunny\_spade/linkedin-easy-apply-bot.md
- **Developed by:** [NoCanDo](https://apify.com/sunny_spade) (community)
- **Categories:** Jobs, Automation, Agents
- **Stats:** 1 total users, 0 monthly users, 0.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $200.00 / 1,000 application submitteds

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 Easy Apply Bot — Auto-Apply with AI Filters

Automatically applies to LinkedIn **Easy Apply** jobs that match your profile. The bot authenticates with your LinkedIn session cookies, searches jobs by keyword and location, filters irrelevant or German-language postings, fills every application form field from your profile data, and submits — all without manual effort.

**Powered by [Browserbase](https://browserbase.com)** — a real Chrome browser with a residential IP runs in the cloud. LinkedIn cannot distinguish it from a human user, so bot-detection does not fire.

---

### How it works

1. **Authenticates** using your LinkedIn session cookies (no password stored)
2. **Launches** a real Chrome browser via Browserbase (residential IP, genuine fingerprint)
3. **Searches** across multiple job keywords in your chosen location
4. **Filters** each posting by language and role relevance
5. **Fills the Easy Apply form** — text fields, dropdowns, radio buttons, salary, cover letter
6. **Submits** and saves every result to the Apify dataset

---

### Before you start

#### 1 — Create a Browserbase account

1. Sign up at [browserbase.com](https://www.browserbase.com)
2. Go to **Settings** and copy your **API Key** and **Project ID**
3. Paste both into the Actor input fields `browserbaseApiKey` and `browserbaseProjectId`

> Browserbase provides the real Chrome browser with a residential IP. No separate proxy configuration is needed.

#### 2 — Export your LinkedIn cookies

1. Log in to [linkedin.com](https://www.linkedin.com) in your browser
2. Open **DevTools** → **Application** → **Cookies** → `https://www.linkedin.com`
3. Export all cookies as a JSON array (use the [EditThisCookie](https://www.editthiscookie.com/) extension or any similar tool)
4. Paste the JSON into the **LinkedIn Session Cookies** input field

> The cookie array must include `li_at`. Without it the bot cannot authenticate.

---

### Input configuration

| Field | Type | Description |
|---|---|---|
| `linkedinCookies` | string (JSON) | Your LinkedIn session cookies as a JSON array |
| `browserbaseApiKey` | string (secret) | Your Browserbase API key from browserbase.com/settings |
| `browserbaseProjectId` | string | Your Browserbase project ID |
| `profile` | object | Your personal info — name, email, phone, city, current title, etc. |
| `experience` | object | Total years of experience, management years, domain-specific years |
| `skillsYears` | object | Map of skill → years (e.g. `{"python": 3, "sql": 4}`) |
| `preferences` | object | Salary expectation and other form-answer preferences |
| `searchConfig` | object | Keywords, location, max jobs per run, date filter, delay settings |
| `dryRun` | boolean | If `true`, identifies matching jobs but does **not** submit. Use this first. |

#### Example `profile`

```json
{
  "first_name": "John",
  "last_name": "Doe",
  "email": "john.doe@example.com",
  "phone": "+49123456789",
  "city": "Berlin",
  "linkedin_url": "https://www.linkedin.com/in/johndoe",
  "current_title": "Operations Manager",
  "nationality": "Indian",
  "gender": "Male",
  "age": 35,
  "cover_letter": "I am excited to apply for this role..."
}
````

#### Example `searchConfig`

```json
{
  "keywords": ["Operations Manager", "Program Manager", "Supply Chain Manager"],
  "location": "Germany",
  "maxJobsPerRun": 50,
  "datePosted": "r604800",
  "minDelayBetweenAppsSeconds": 45,
  "maxDelayBetweenAppsSeconds": 90,
  "dailyApplicationCap": 40
}
```

> `datePosted` values: `r86400` = last 24 h, `r604800` = last week, `r2592000` = last month

***

### Output

Each applied or skipped job is saved to the **Apify dataset**:

```json
{
  "title": "Operations Manager EMEA",
  "company": "Acme GmbH",
  "url": "https://www.linkedin.com/jobs/view/1234567890/",
  "status": "applied",
  "reason": "",
  "duration": 47.2
}
```

`status` values: `applied` · `dry_run` · `skipped` · `error`

Skipped and errored jobs include a `reason` field: `"German-language posting"`, `"No Easy Apply button"`, `"Relevance filter: wrong role type"`, etc.

***

### Session persistence

On the first run, the bot creates a **Browserbase Context** (a persistent browser profile) and stores its ID in the Apify key-value store. Every subsequent run reuses the same context — same cookies, same fingerprint, same residential IP pool. This means:

- LinkedIn's session stays alive without re-authentication between runs
- The browser identity is stable, which greatly reduces the chance of security challenges
- **Do not delete the key-value store** between runs if you want to preserve the session

***

### Tips & limitations

- **Run `dryRun: true` first** to verify your cookies and filters before submitting real applications
- **Fresh cookies** — LinkedIn session cookies expire every few days. Re-export when the bot reports an authentication failure
- **Rate limiting** — the bot waits 45–90 seconds between applications by default to mimic human behaviour
- **Complex forms** — some employers add file-upload steps or redirect to external sites. The bot skips these gracefully and logs the reason
- **LinkedIn ToS** — automated job applications may violate LinkedIn's Terms of Service. Use responsibly and at your own risk

***

### Browserbase pricing

Browserbase charges per browser-hour (~$0.10–$0.12/hr depending on plan). A typical run of 40 jobs takes 30–45 minutes ≈ **$0.05–$0.10 per run**. See [browserbase.com/pricing](https://www.browserbase.com/pricing) for current rates.

***

### Changelog

- **0.2.0** — Complete architecture overhaul: replaced Apify Residential Proxy + headless Playwright with Browserbase cloud-browser (real Chrome, residential IP, CDP connection). LinkedIn bot-detection no longer fires. Switched back to card-click SPA navigation (most human-like). Added Browserbase Context persistence across runs via Apify KV store. Added `JobResult` dataclass, exponential-backoff retry helper, per-job 180 s timeout, `Actor.set_status_message()` progress reporting, and structured summary log.
- **0.1.30** — Switched to direct URL navigation for job processing: collect all IDs from the search page in one scroll pass, then navigate to each `/jobs/view/{id}/` directly. Fixed crash on `net::ERR_TUNNEL_CONNECTION_FAILED`.
- **0.1.29** — Completely new "Search Once, Process In-Place" strategy. All jobs processed by clicking their cards to trigger AJAX right-panel updates. Added comprehensive stealth init script.
- **0.1.28** — Reload search page before every card click. Removed route interceptor.
- **0.1.27** — Wrapped all `page.goto` calls in try/except; increased navigation timeout to 90 s.
- **0.1.26** — Replaced `dispatchEvent` with Playwright's trusted CDP `locator.click()`.
- **0.1.25** — Replaced `page.goto(&currentJobId=)` with `dispatchEvent(MouseEvent)` on the job card.
- **0.1.22** — Replaced direct `/jobs/view/{id}/` navigation with card-click.
- **0.1.15** — Fixed LinkedIn job title and company selectors for 2025 redesign.
- **0.1.8** — Fixed cookie format normalization (`sameSite`, `expirationDate`).
- **0.1.5** — Fixed proxy credential parsing for Playwright.

# Actor input Schema

## `linkedinCookies` (type: `string`):

Your LinkedIn cookies as a JSON array. Export from browser DevTools → Application → Cookies → linkedin.com. Must include 'li\_at'.

## `browserbaseApiKey` (type: `string`):

Your Browserbase API key from browserbase.com/settings. The bot uses Browserbase to run a real Chrome browser with a residential IP — this is what allows it to bypass LinkedIn's bot detection.

## `browserbaseProjectId` (type: `string`):

Your Browserbase project ID from browserbase.com/settings. Find it in the project settings panel.

## `profile` (type: `object`):

Personal and contact information used to fill application forms.

## `experience` (type: `object`):

Total and domain-specific years of experience — used to answer numeric form fields like 'how many years of X experience?'

## `skillsYears` (type: `object`):

Map of skill keyword to years of experience. Used for form fields asking about specific tools or technologies.

## `preferences` (type: `object`):

Salary expectations and other form-answer preferences.

## `searchConfig` (type: `object`):

Keywords, location, and pacing limits for the job search.

## `dryRun` (type: `boolean`):

If true, the bot finds and filters matching jobs but does NOT submit applications. Run this first to verify your configuration.

## Actor input object example

```json
{
  "profile": {
    "first_name": "John",
    "last_name": "Doe",
    "email": "john.doe@example.com",
    "phone": "+49123456789",
    "city": "Berlin",
    "linkedin_url": "https://www.linkedin.com/in/johndoe",
    "current_title": "Operations Manager",
    "current_employer": "",
    "nationality": "Indian",
    "gender": "Male",
    "age": 35,
    "cover_letter": ""
  },
  "experience": {
    "total_years": 8,
    "management_years": 5,
    "amazon_years": 6
  },
  "skillsYears": {
    "sql": 4,
    "python": 3,
    "tableau": 4,
    "excel": 7,
    "power bi": 3,
    "salesforce": 2,
    "sap": 1
  },
  "preferences": {
    "salary_expectation_eur": 65000
  },
  "searchConfig": {
    "keywords": [
      "Operations Manager",
      "Program Manager",
      "Supply Chain Manager",
      "Logistics Manager",
      "Team Lead Operations"
    ],
    "location": "Germany",
    "maxJobsPerRun": 50,
    "datePosted": "r604800",
    "minDelayBetweenAppsSeconds": 45,
    "maxDelayBetweenAppsSeconds": 90,
    "dailyApplicationCap": 40
  },
  "dryRun": false
}
```

# 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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("sunny_spade/linkedin-easy-apply-bot").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 = {}

# Run the Actor and wait for it to finish
run = client.actor("sunny_spade/linkedin-easy-apply-bot").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 '{}' |
apify call sunny_spade/linkedin-easy-apply-bot --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "LinkedIn Easy Apply Bot — Auto-Apply with AI Filters",
        "description": "Automatically applies to LinkedIn Easy Apply jobs matching your profile. Filters by language, role relevance, and Language fluency requirements. Fills all form fields using your profile data. Requires a valid LinkedIn session cookie.",
        "version": "0.1",
        "x-build-id": "5BEkg2nMpPrqLjdsO"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/sunny_spade~linkedin-easy-apply-bot/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-sunny_spade-linkedin-easy-apply-bot",
                "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/sunny_spade~linkedin-easy-apply-bot/runs": {
            "post": {
                "operationId": "runs-sync-sunny_spade-linkedin-easy-apply-bot",
                "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/sunny_spade~linkedin-easy-apply-bot/run-sync": {
            "post": {
                "operationId": "run-sync-sunny_spade-linkedin-easy-apply-bot",
                "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": [
                    "linkedinCookies",
                    "browserbaseApiKey",
                    "browserbaseProjectId",
                    "profile"
                ],
                "properties": {
                    "linkedinCookies": {
                        "title": "LinkedIn Session Cookies (JSON)",
                        "type": "string",
                        "description": "Your LinkedIn cookies as a JSON array. Export from browser DevTools → Application → Cookies → linkedin.com. Must include 'li_at'."
                    },
                    "browserbaseApiKey": {
                        "title": "Browserbase API Key",
                        "type": "string",
                        "description": "Your Browserbase API key from browserbase.com/settings. The bot uses Browserbase to run a real Chrome browser with a residential IP — this is what allows it to bypass LinkedIn's bot detection."
                    },
                    "browserbaseProjectId": {
                        "title": "Browserbase Project ID",
                        "type": "string",
                        "description": "Your Browserbase project ID from browserbase.com/settings. Find it in the project settings panel."
                    },
                    "profile": {
                        "title": "Your Profile",
                        "type": "object",
                        "description": "Personal and contact information used to fill application forms.",
                        "default": {
                            "first_name": "John",
                            "last_name": "Doe",
                            "email": "john.doe@example.com",
                            "phone": "+49123456789",
                            "city": "Berlin",
                            "linkedin_url": "https://www.linkedin.com/in/johndoe",
                            "current_title": "Operations Manager",
                            "current_employer": "",
                            "nationality": "Indian",
                            "gender": "Male",
                            "age": 35,
                            "cover_letter": ""
                        }
                    },
                    "experience": {
                        "title": "Experience Summary",
                        "type": "object",
                        "description": "Total and domain-specific years of experience — used to answer numeric form fields like 'how many years of X experience?'",
                        "default": {
                            "total_years": 8,
                            "management_years": 5,
                            "amazon_years": 6
                        }
                    },
                    "skillsYears": {
                        "title": "Skills → Years Map",
                        "type": "object",
                        "description": "Map of skill keyword to years of experience. Used for form fields asking about specific tools or technologies.",
                        "default": {
                            "sql": 4,
                            "python": 3,
                            "tableau": 4,
                            "excel": 7,
                            "power bi": 3,
                            "salesforce": 2,
                            "sap": 1
                        }
                    },
                    "preferences": {
                        "title": "Preferences",
                        "type": "object",
                        "description": "Salary expectations and other form-answer preferences.",
                        "default": {
                            "salary_expectation_eur": 65000
                        }
                    },
                    "searchConfig": {
                        "title": "Job Search Configuration",
                        "type": "object",
                        "description": "Keywords, location, and pacing limits for the job search.",
                        "default": {
                            "keywords": [
                                "Operations Manager",
                                "Program Manager",
                                "Supply Chain Manager",
                                "Logistics Manager",
                                "Team Lead Operations"
                            ],
                            "location": "Germany",
                            "maxJobsPerRun": 50,
                            "datePosted": "r604800",
                            "minDelayBetweenAppsSeconds": 45,
                            "maxDelayBetweenAppsSeconds": 90,
                            "dailyApplicationCap": 40
                        }
                    },
                    "dryRun": {
                        "title": "Dry Run (no actual submissions)",
                        "type": "boolean",
                        "description": "If true, the bot finds and filters matching jobs but does NOT submit applications. Run this first to verify your configuration.",
                        "default": false
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
