# Naukri Jobs Scraper — India IT & Tech Jobs ✅ No Login (`themineworks/naukri-jobs`) Actor

Scrape Naukri.com jobs: title, company, salary (normalised to lakhs), experience, skills, location and work mode. Pay only per job returned. Works in Claude, ChatGPT & any MCP-compatible AI agent. MCP server: the-mine-works-mcp.hatchable.site

- **URL**: https://apify.com/themineworks/naukri-jobs.md
- **Developed by:** [The Mine Works](https://apify.com/themineworks) (community)
- **Categories:** Jobs, Developer tools, MCP servers
- **Stats:** 4 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$1.50 / 1,000 jobs

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

## Naukri Job Scraper — India's #1 Job Board, Structured & Pay-Per-Job

The most complete, reliable Naukri.com scraper on Apify. Pull every Naukri job that matches your filters into a clean, normalised schema — salary in lakhs, experience as integers, skills as arrays, posted-date as days-ago. Pay only for jobs returned. Zero results = zero charge.

If you build recruitment software, do salary benchmarking, run a job board, or need labour-market data for India, this is the actor you wire into your pipeline and forget about.

### What it does

`naukri-jobs` queries the public Naukri.com job-search endpoint, paginates through results, and emits one structured record per job to your Apify dataset. Every field that Naukri exposes — title, company, salary, experience band, location, work mode, skills, full job description, posted date, AmbitionBox company rating, application URL — is parsed, cleaned, and normalised.

Unlike the existing Naukri scrapers on the store, this actor:

- Normalises **salary to ₹ Lakhs per annum** (both raw text and parsed `salary_min_lakhs` / `salary_max_lakhs`).
- Splits experience into integer `experience_min_years` and `experience_max_years` so you can filter and aggregate.
- Converts `"3 weeks ago"` and `"Today"` into a numeric `posted_days_ago`.
- Exposes `skills` as a deduped array, not a comma-soup string.
- Supports **work mode** (remote / hybrid / WFO) — most existing actors don't.
- Charges **only after the job is successfully pushed** to your dataset. No phantom invoices on failed runs.

### Why this beats the alternatives

Three Naukri scrapers exist today on Apify Store. Combined MAU is decent (~1,700) but the ratings tell the real story: 0★, 3.96★ over 9 reviews, 4.22★ over 9 reviews. The common complaints:

- **Incomplete fields.** Salary is left as raw text, skills aren't parsed, posted-date is unusable for filtering.
- **No work-mode filter.** You can't get only remote, or only hybrid, or only WFO jobs.
- **Opaque billing.** You get charged even when the run returns zero rows or fails halfway.
- **Brittle pagination.** Runs stop early or duplicate rows across pages.

`naukri-jobs` fixes all four. Salary is parsed into lakhs. Skills are an array. Posted-date becomes an integer. Work mode is a first-class filter. Billing is strict pay-per-job (PPE) — if we push zero jobs, you pay zero. Pagination deduplicates by Naukri's internal `jobId`, so even overlapping keywords don't double-charge you.

### Features

- All Naukri filters supported: keyword, location, experience range, minimum salary, job type, work mode, posted-within-days.
- Salary normalised to ₹ Lakhs (handles `"5,00,000 - 8,00,000 PA"`, `"3-5 Lacs PA"`, `"₹ 3.5 - 5.5 Lakhs"`, "Not Disclosed").
- Skills extracted as a deduped array.
- Work-mode and remote-job filter (work-from-office / remote / hybrid).
- Posted-date normalised — both raw text and integer `posted_days_ago`.
- Full job description included by default; can be truncated to 500 chars for cheaper storage.
- Multiple search keywords in one run — results merged and deduped.
- AmbitionBox company rating + logo included where available.
- Zero charge on empty results — the actor calls `Actor.fail()` with a clear reason instead of silently billing you.
- Hard cap of 1,000 jobs per run, configurable via `maxJobs`.

### Output schema

Each job is emitted as one dataset record:

```json
{
  "job_id": "230625006723",
  "title": "Senior Python Developer",
  "company": "Acme Tech Pvt Ltd",
  "company_rating": 4.1,
  "company_logo": "https://img.naukri.com/logo_images/v3/231201.gif",
  "experience_min_years": 4,
  "experience_max_years": 7,
  "salary_text": "12,00,000 - 18,00,000 PA",
  "salary_min_lakhs": 12,
  "salary_max_lakhs": 18,
  "location": "Bangalore/Bengaluru, Hyderabad",
  "work_mode": "hybrid",
  "job_type": "permanent",
  "posted_date_text": "3 Days Ago",
  "posted_days_ago": 3,
  "skills": ["Python", "Django", "FastAPI", "AWS", "PostgreSQL"],
  "description": "We are hiring an experienced Python developer …",
  "apply_url": "https://www.naukri.com/job-listings-senior-python-developer-acme-…",
  "source_url": "https://www.naukri.com/job-listings-senior-python-developer-acme-…",
  "scraped_at": "2026-06-06T11:42:18.213Z"
}
````

A final summary row is always pushed:

```json
{
  "_type": "summary",
  "keywords_searched": ["python developer"],
  "location": "Bangalore",
  "jobs_requested": 50,
  "jobs_scraped": 50,
  "jobs_failed": 0,
  "charged_for": 50,
  "scraped_at": "2026-06-06T11:42:19.001Z"
}
```

### Pricing

**Your first 25 jobs are free — every Apify account, no card, no trial clock.** After that it is **$2 per 1,000 jobs scraped ($0.002/job)**, with a **zero charge on zero results** guarantee.

- First 25 jobs free per account (lifetime), then $0.002/job
- You are charged only after a job record is successfully pushed to your dataset.
- Runs that fail to find any jobs end with `Actor.fail()` — no rows, no bill.
- Apify platform compute time is on the Apify standard rate; the actor is cheap to run (one API call per 20 jobs, ~1.5s page delay).

### Use cases

- **Recruiters and staffing firms** — pull fresh listings into your ATS for sourcing and competitive intel.
- **Market intelligence** — track who's hiring for which skills in which cities, week over week.
- **Salary research** — build benchmarks by role, location, experience band, using normalised lakhs fields.
- **Candidate analytics** — show your candidates the live demand for their skill stack.
- **HRTech builders** — power job boards, alerts apps, and Telegram/WhatsApp job bots with structured Naukri data.
- **Investors and analysts** — track headcount and hiring signals across Indian listed companies and unicorns.
- **Job-seeker tools** — feed AI assistants and resume tailoring tools with the live Indian job market.

### Filter reference

| Filter | Type | Values | Example |
|---|---|---|---|
| `searchKeywords` | array | one or more strings | `["python developer", "data scientist"]` |
| `location` | string | any Indian city or region | `"Bangalore"`, `"Delhi NCR"`, `"Mumbai"` |
| `experienceMinYears` | integer | 0–30 | `2` |
| `experienceMaxYears` | integer | 0–30 | `7` |
| `salaryMinLakhs` | integer | annual CTC in INR Lakhs | `10` |
| `jobType` | enum | `permanent`, `contract`, `freelance`, `temporary`, `internship` | `permanent` |
| `workMode` | enum | `work-from-office`, `remote`, `hybrid` | `remote` |
| `postedWithinDays` | enum | `1`, `3`, `7`, `15`, `30` | `7` |
| `maxJobs` | integer | 1–1000 (default 50) | `200` |
| `includeJobDescription` | boolean | default `true` | `false` for cheaper storage |

### How it works

Naukri's `/jobapi/v3/search` endpoint is gated by a signed `nkparam` request header generated by their obfuscated front-end JavaScript, plus Akamai bot-management cookies. You cannot forge either — they have to come from a real browser session.

This actor uses a **hybrid Playwright-warmup + HTTP-pagination** technique:

1. **Warm-up (once per keyword, ~8–12s).** A headless Chromium session loads the Naukri search page, intercepts the outgoing XHR to `/jobapi/v3/search`, and harvests the `nkparam` header plus all session cookies.
2. **Fast pagination (HTTP).** Subsequent pages are fetched via `got` against the same sticky proxy IP, reusing the captured token and cookies. ~1s per page.
3. **Auto re-warm.** If the API returns `406` or `recaptcha required` (token expired or session burned), the actor re-warms transparently and retries. Sessions are also refreshed every 18 minutes proactively.

This matches the approach with the highest verified success rate against Naukri's anti-bot stack (>90%).

### Proxy requirements

**Indian residential proxy is REQUIRED.** Naukri's Akamai layer aggressively blocks non-Indian and datacenter traffic. The actor defaults to `RESIDENTIAL` with `apifyProxyCountry: "IN"` — do not change this unless you know what you're doing. Without IN residential, success rate drops below 30% and most requests will return 403 or the recaptcha challenge.

### Reliability and ethics

The actor uses Naukri's own public job-search JSON endpoint — the same one that powers naukri.com's search UI — so the data is exactly what end users see. It respects rate limits with a 1.5-second page delay and exponential backoff on HTTP 429. It only touches publicly listed jobs; no logged-in pages, no candidate data, no resumes.

The browser warm-up adds ~8–12 seconds of wall-clock time per keyword at the start of each session. After warm-up, pagination is fast (~1s per page of 20 jobs). For a typical 200-job run on one keyword, expect ~20–25s total.

### Keywords

naukri scraper, naukri api, india jobs scraper, indian job board, naukri.com data, salary data india, tech jobs india, indian recruitment data, naukri jobs scraper, naukri job listings, indian labour market data, hiring data india, jobs api india, india job feed, recruitment automation india

### Related Actors

| Actor | Use case |
|-------|----------|
| [AmbitionBox Scraper](https://apify.com/themineworks/ambitionbox-companies) | Company ratings, culture scores, and salaries for hiring firms |
| [LinkedIn Employees Scraper](https://apify.com/themineworks/linkedin-employees) | Company headcount and seniority breakdown |
| [ATS Jobs Scraper](https://apify.com/themineworks/ats-jobs) | Global job boards (Greenhouse, Lever, Workday) for comparison |

# Actor input Schema

## `searchKeywords` (type: `array`):

One or more job-search keywords. Each keyword is searched separately and results are merged.

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

City or region, e.g. 'Bangalore', 'Mumbai', 'Delhi NCR'. Leave blank for all India.

## `experienceMinYears` (type: `integer`):

Minimum years of experience. 0 = fresher.

## `experienceMaxYears` (type: `integer`):

Maximum years of experience.

## `salaryMinLakhs` (type: `integer`):

Minimum annual CTC in INR Lakhs. Naukri supports 3, 6, 10, 15, 25, 50, 75, 100.

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

Employment type.

## `workMode` (type: `string`):

Where the work happens.

## `postedWithinDays` (type: `string`):

Only show jobs posted within the last N days.

## `maxJobs` (type: `integer`):

Maximum number of jobs to scrape across all keywords. Hard cap 1000.

## `includeJobDescription` (type: `boolean`):

If true, include the full job description text. If false, descriptions are truncated to 500 characters.

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

Apify proxy. Naukri blocks non-Indian IPs — RESIDENTIAL with IN country code is REQUIRED for >90% success rate.

## Actor input object example

```json
{
  "searchKeywords": [
    "python developer",
    "data scientist"
  ],
  "location": "Bangalore",
  "maxJobs": 50,
  "includeJobDescription": true,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "IN"
  }
}
```

# 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 = {
    "searchKeywords": [
        "python developer"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("themineworks/naukri-jobs").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 = { "searchKeywords": ["python developer"] }

# Run the Actor and wait for it to finish
run = client.actor("themineworks/naukri-jobs").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 '{
  "searchKeywords": [
    "python developer"
  ]
}' |
apify call themineworks/naukri-jobs --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Naukri Jobs Scraper — India IT & Tech Jobs ✅ No Login",
        "description": "Scrape Naukri.com jobs: title, company, salary (normalised to lakhs), experience, skills, location and work mode. Pay only per job returned. Works in Claude, ChatGPT & any MCP-compatible AI agent. MCP server: the-mine-works-mcp.hatchable.site",
        "version": "0.2",
        "x-build-id": "hzucAdIbIg4H849Oy"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/themineworks~naukri-jobs/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-themineworks-naukri-jobs",
                "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/themineworks~naukri-jobs/runs": {
            "post": {
                "operationId": "runs-sync-themineworks-naukri-jobs",
                "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/themineworks~naukri-jobs/run-sync": {
            "post": {
                "operationId": "run-sync-themineworks-naukri-jobs",
                "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": [
                    "searchKeywords"
                ],
                "properties": {
                    "searchKeywords": {
                        "title": "Search keywords",
                        "type": "array",
                        "description": "One or more job-search keywords. Each keyword is searched separately and results are merged.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "location": {
                        "title": "Location",
                        "type": "string",
                        "description": "City or region, e.g. 'Bangalore', 'Mumbai', 'Delhi NCR'. Leave blank for all India."
                    },
                    "experienceMinYears": {
                        "title": "Minimum experience (years)",
                        "minimum": 0,
                        "maximum": 30,
                        "type": "integer",
                        "description": "Minimum years of experience. 0 = fresher."
                    },
                    "experienceMaxYears": {
                        "title": "Maximum experience (years)",
                        "minimum": 0,
                        "maximum": 30,
                        "type": "integer",
                        "description": "Maximum years of experience."
                    },
                    "salaryMinLakhs": {
                        "title": "Minimum salary (₹ Lakhs / year)",
                        "minimum": 0,
                        "maximum": 100,
                        "type": "integer",
                        "description": "Minimum annual CTC in INR Lakhs. Naukri supports 3, 6, 10, 15, 25, 50, 75, 100."
                    },
                    "jobType": {
                        "title": "Job type",
                        "enum": [
                            "permanent",
                            "contract",
                            "freelance",
                            "temporary",
                            "internship"
                        ],
                        "type": "string",
                        "description": "Employment type."
                    },
                    "workMode": {
                        "title": "Work mode",
                        "enum": [
                            "work-from-office",
                            "remote",
                            "hybrid"
                        ],
                        "type": "string",
                        "description": "Where the work happens."
                    },
                    "postedWithinDays": {
                        "title": "Posted within (days)",
                        "enum": [
                            "1",
                            "3",
                            "7",
                            "15",
                            "30"
                        ],
                        "type": "string",
                        "description": "Only show jobs posted within the last N days."
                    },
                    "maxJobs": {
                        "title": "Max jobs",
                        "minimum": 1,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Maximum number of jobs to scrape across all keywords. Hard cap 1000.",
                        "default": 50
                    },
                    "includeJobDescription": {
                        "title": "Include full job description",
                        "type": "boolean",
                        "description": "If true, include the full job description text. If false, descriptions are truncated to 500 characters.",
                        "default": true
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Apify proxy. Naukri blocks non-Indian IPs — RESIDENTIAL with IN country code is REQUIRED for >90% success rate.",
                        "default": {
                            "useApifyProxy": true,
                            "apifyProxyGroups": [
                                "RESIDENTIAL"
                            ],
                            "apifyProxyCountry": "IN"
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
