# Naukrigulf Jobs Search Scraper (`alexist/naukrigulf-jobs-search-scraper`) Actor

Efficiently scrape job listings from NaukriGulf.com, the leading job portal for Middle East careers. Extract comprehensive data including job descriptions, company details, salary info, and application methods. Perfect for recruitment agencies, career platforms, and Gulf market employment research.

- **URL**: https://apify.com/alexist/naukrigulf-jobs-search-scraper.md
- **Developed by:** [Alex](https://apify.com/alexist) (community)
- **Categories:** Automation, Developer tools, Jobs
- **Stats:** 0 total users, 0 monthly users, 0.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.00 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## NaukriGulf.com Jobs Search Scraper: Extract Gulf Region Career Data

### Understanding NaukriGulf.com and Its Regional Importance

NaukriGulf.com is the premier job portal connecting professionals with employment opportunities across the Gulf Cooperation Council (GCC) countries—UAE, Saudi Arabia, Kuwait, Qatar, Bahrain, and Oman. Unlike global job boards, NaukriGulf specializes in Middle East markets, capturing region-specific hiring patterns, visa sponsorship details, and Gulf employment standards.

The platform serves millions of job seekers targeting Gulf careers, making it essential for understanding hiring trends in Dubai, Abu Dhabi, Riyadh, and other major Middle Eastern business hubs. For recruitment agencies specializing in Gulf placements, market researchers analyzing regional employment, or companies benchmarking compensation in Middle East markets, this data provides unmatched insights.

Manually collecting job data across multiple searches, locations, and industries requires extensive effort. The NaukriGulf.com Jobs Search Scraper automates this process, transforming search results into structured datasets ready for analysis or integration.

### What This Scraper Extracts and Target Users

This scraper processes NaukriGulf search result pages, capturing multiple job listings efficiently. It's designed for broad data collection across different searches, locations, or job categories rather than individual job detail extraction.

**Primary Users:**

**Gulf Recruitment Agencies** build comprehensive databases of opportunities across GCC countries. **Market Researchers** gain insights into hiring patterns, salary trends, and demand for skills in Middle East markets. **Businesses** expanding into Gulf regions monitor competitor hiring and benchmark compensation. **Career Counselors** provide job seekers with real-time Gulf market data about opportunities and requirements.

### Input Configuration Explained

The scraper processes search result page URLs from NaukriGulf.com—pages displaying multiple job listings after applying search filters.

**Example Configuration:**

```json
{
  "proxy": {
    "useApifyProxy": false
  },
  "max_items_per_url": 20,
  "ignore_url_failures": true,
  "urls": [
    "https://www.naukrigulf.com/jobs-in-dubai-2"
  ]
}
````

#### Example Screenshot:

![](https://i.ibb.co/KckjF0RK/Screenshot-from-2025-12-25-11-24-45.png)

**Parameter Details:**

**proxy:** Set to `false` if you don't need proxy services. Enable with `useApifyProxy: true` and configure country/groups if facing access issues or wanting to simulate specific geographic access.

**max\_items\_per\_url:** Limits job listings extracted per search page (default 20). NaukriGulf typically shows 20-30 jobs per page. Increase for comprehensive extraction or decrease for testing.

**ignore\_url\_failures:** When `true`, continues processing remaining URLs if some fail. Essential for batch scraping multiple search pages where occasional failures shouldn't halt entire operations.

**urls array:** Contains search result page URLs. Build these by performing searches on NaukriGulf, then copying URLs with your desired filters (location, keywords, experience level).

**Pro Tip:** Test searches manually on NaukriGulf first to verify filters return relevant results before scraping. For large datasets spanning multiple pages, systematically include page numbers in URLs.

### Complete Output Structure and Field Definitions

The scraper returns JSON with each job as an object containing multiple fields.

**Designation:** Job title/position name (e.g., "Senior Accountant," "Project Manager"). **Use:** Primary categorization, search functionality, role demand analysis.

**Location:** Job geographic location, typically city and country (e.g., "Dubai, UAE"). **Use:** Geographic filtering, regional demand analysis, location-based candidate matching.

**Job Info:** Summary details including employment type, industry, and key highlights. **Use:** Quick filtering, initial candidate screening.

**Description:** Full or partial job description text. **Use:** Understanding role requirements, keyword extraction, detailed candidate matching.

**Experience:** Required years of experience (e.g., "3-5 years"). **Use:** Experience level filtering, seniority analysis, candidate qualification matching.

**Company:** Hiring organization's name. **Use:** Employer tracking, company hiring activity analysis, brand recognition.

**Job ID:** Unique identifier for the job posting. **Use:** Database primary key, duplicate prevention, tracking specific postings over time.

**JD URL:** Direct link to full job description page. **Use:** Accessing complete details, candidate sharing, data verification.

**Latest Posted Date:** When job was posted or last updated. **Use:** Freshness tracking, identifying recent opportunities, analyzing posting frequency.

**Vacancies:** Number of open positions. **Use:** Volume hiring indicator, recruitment resource planning.

**Top Employer / Featured Employer / Premium:** Flags indicating employer premium status or featured listings. **Use:** Identifying high-visibility jobs, employer investment analysis, prioritization.

**Web Job / Quick Web Job:** Indicates online application availability. **Use:** Application method filtering, user experience optimization.

**Logo URL / TE Logo URL:** Company logo image links. **Use:** Visual display in job boards, employer branding analysis.

**Applied:** Boolean indicating if user already applied (context-dependent). **Use:** Tracking application history in integrated systems.

**Top Employer Lite:** Lighter version of premium employer designation. **Use:** Employer tier classification.

**Whitelisted Keywords / Keywords / Keywords (AR):** Tags and search terms, including Arabic translations. **Use:** Search optimization, skill categorization, multilingual matching for Arabic-speaking candidates.

**Email:** Contact email for applications. **Use:** Direct application channel, recruiter contact.

**Form Based Apply / Job Redirection:** Application method indicators. **Use:** Understanding application flows, optimizing candidate submission processes.

**Shortlisted / Archived / Expiring Soon:** Job status flags. **Use:** Filtering active vs. closed opportunities, urgency indicators.

**Bit Flag / Recruiter Active:** Technical flags for job state and recruiter engagement. **Use:** Data quality checks, active opportunity filtering.

**Designation SEO:** SEO-optimized job title. **Use:** Search engine visibility, URL construction.

**Confidential Company / Consultant:** Indicates anonymous employers or agency postings. **Use:** Filtering direct vs. agency jobs, confidentiality tracking.

**Job Source:** Origin of job posting (direct employer, aggregator, partner). **Use:** Data provenance tracking, source quality analysis.

**Easy Apply:** Quick application feature flag. **Use:** Application convenience filtering, conversion optimization.

**Sample Output:**

```json
[
  {
  "designation": "Salesperson",
  "location": "Dubai - United Arab Emirates (UAE)",
  "job_info": "Actively sell products, build customer relationships, achieve sales targets, and coordinate marketing efforts; requires strong communication and negotiation skills.",
  "description": "<ul><li><p>Actively sell products to customers across various channels. </p></li><li><p>Build strong relationships and provide product recommendations.  </p></li><li><p>Demonstrate products and explain features and benefits.</p></li><li><p> Achieve daily, weekly, and monthly sales targets. </p></li><li><p>Coordinate with the marketing team on promotions and campaigns. </p></li><li><p>Track sales performance and provide reports to management.</p></li></ul>",
  "experience": {
    "min": "5",
    "max": "10"
  },
  "company": {
    "name": "MENALINK TRADING L.L.C",
    "id": "320621",
    "url": "menalink-trading-l.l.c-careers-cid-320621"
  },
  "job_id": "241225000157",
  "jd_url": "salesperson-jobs-in-dubai-uae-in-menalink-trading-l-l-c-5-to-10-years-n-cd-320621-jid-241225000157",
  "latest_posted_date": "1766552400",
  "vacancies": 1,
  "is_top_employer": false,
  "is_featured_employer": false,
  "is_premium": false,
  "is_web_job": false,
  "is_quick_web_job": false,
  "logo_url": null,
  "te_logo_url": null,
  "is_applied": false,
  "is_top_employer_lite": false,
  "whitelistedkeywords": "sales representative,client relationship management",
  "keywords": "Sales Representative,Negotiation Skills,Client Relationship Management",
  "keywords_ar": "Sales Representative,Negotiation Skills,Client Relationship Management",
  "email": "",
  "is_form_based_apply": false,
  "job_redirection": false,
  "shortlisted": false,
  "expiring_soon": false,
  "is_archived": false,
  "bit_flag": 0,
  "recruiter_active": true,
  "designation_seo": "Salesperson",
  "is_confidential_company": false,
  "is_consultant": false,
  "job_source": "POSTED",
  "is_easy_apply": true,
  "from_url": "https://www.naukrigulf.com/jobs-in-dubai-2"
}
]
```

### Step-by-Step Usage Guide

**1. Identify Target Data:** Decide what Gulf jobs you need—specific locations (Dubai, Riyadh), industries (oil & gas, healthcare), or experience levels. Perform test searches on NaukriGulf.com.

**2. Build Search URLs:** Copy URLs from test searches. For comprehensive datasets, create multiple URLs with different keywords, locations, or filters. Include pagination by adding page parameters.

**3. Configure Input:** Set up JSON with collected URLs. Adjust `max_items_per_url` based on needs. Enable `ignore_url_failures` for robustness with multiple URLs.

**4. Execute Scraping:** Launch through Apify console. Monitor progress. Processing 5-10 search pages typically completes in 2-4 minutes.

**5. Review and Export:** Preview results, verify data quality. Export as JSON for databases, CSV for spreadsheets, or Excel for reporting.

**6. Handle Pagination:** For hundreds of jobs, include multiple page URLs or increase `max_items_per_url` to handle automatic pagination.

**Error Handling:** Verify URLs are search result pages, not job detail or company profile pages. Check that filters in URLs are valid—NaukriGulf may update parameter structures.

### Strategic Applications for Gulf Market Intelligence

**Regional Recruitment Intelligence:** Track which companies actively hire in specific GCC countries. Analyze top employers' hiring patterns and featured job characteristics to understand competitive landscapes.

**Salary Benchmarking:** Use job info and descriptions to extract compensation ranges. Compare across cities (Dubai vs. Riyadh), industries, and experience levels to map Gulf salary standards.

**Skill Demand Analysis:** Extract keywords and requirements from descriptions to identify trending skills in Gulf markets. Track demand for specialized certifications, language requirements (Arabic proficiency), or technical expertise.

**Market Entry Planning:** Companies expanding into Gulf regions can assess competitive hiring landscapes, typical qualification requirements, and active recruiters to inform staffing strategies.

**Visa Sponsorship Tracking:** Job descriptions often mention sponsorship availability—critical intelligence for international candidates and recruitment agencies facilitating Gulf placements.

**Application Method Optimization:** Analyze form\_based\_apply, easy\_apply, and job\_redirection patterns to understand employer preferences and optimize candidate submission strategies.

### Maximizing Data Value and Best Practices

**Schedule Regular Scraping:** Gulf job markets, especially in construction and hospitality sectors, change rapidly. Weekly scraping captures new postings and tracks market dynamics.

**Segment by GCC Country:** Create targeted URLs for each Gulf country to produce cleaner datasets. Example segments: "Dubai finance jobs," "Saudi engineering positions," "Qatar healthcare opportunities."

**Track Premium Indicators:** Monitor top\_employer, featured\_employer, and premium flags to identify which companies invest heavily in recruitment visibility—signals of hiring urgency or employer brand strength.

**Multilingual Analysis:** Leverage keywords\_ar (Arabic keywords) to understand bilingual job requirements and target Arabic-speaking candidate pools effectively.

**Quality Assurance:** Flag jobs with missing critical fields (designation, company, location). Validate unusual patterns—extremely high vacancies may indicate data errors or mass hiring events.

**Respect Rate Limits:** Space out large scraping runs. Avoid overwhelming NaukriGulf with excessive concurrent requests to ensure continued access.

**Data Enrichment:** Combine NaukriGulf data with salary surveys, cost-of-living indices for Gulf cities, or visa requirement databases to provide comprehensive Gulf career intelligence.

### Conclusion

The NaukriGulf.com Jobs Search Scraper transforms the Gulf region's leading job portal into actionable employment intelligence. Whether building recruitment pipelines for GCC placements, conducting Middle East market research, or analyzing competitive hiring landscapes, this tool delivers the comprehensive data needed to succeed in Gulf employment markets. Start extracting Gulf career insights today.

# Actor input Schema

## `urls` (type: `array`):

Add the URLs of the Jobs list urls you want to scrape. You can paste URLs one by one, or use the Bulk edit section to add a prepared list.

## `ignore_url_failures` (type: `boolean`):

If true, the scraper will continue running even if some URLs fail to be scraped.

## `max_items_per_url` (type: `integer`):

The maximum number of items to scrape per URL.

## `proxy` (type: `object`):

Choose proxy settings for the scraper to use. If you don't want to use a proxy, leave the settings blank.

## Actor input object example

```json
{
  "urls": [
    "https://www.naukrigulf.com/jobs-in-dubai-2"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 20,
  "proxy": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "US"
  }
}
```

# 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 = {
    "urls": [
        "https://www.naukrigulf.com/jobs-in-dubai-2"
    ],
    "ignore_url_failures": true,
    "max_items_per_url": 20,
    "proxy": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ],
        "apifyProxyCountry": "US"
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("alexist/naukrigulf-jobs-search-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 = {
    "urls": ["https://www.naukrigulf.com/jobs-in-dubai-2"],
    "ignore_url_failures": True,
    "max_items_per_url": 20,
    "proxy": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
        "apifyProxyCountry": "US",
    },
}

# Run the Actor and wait for it to finish
run = client.actor("alexist/naukrigulf-jobs-search-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 '{
  "urls": [
    "https://www.naukrigulf.com/jobs-in-dubai-2"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 20,
  "proxy": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "US"
  }
}' |
apify call alexist/naukrigulf-jobs-search-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Naukrigulf Jobs Search Scraper",
        "description": "Efficiently scrape job listings from NaukriGulf.com, the leading job portal for Middle East careers. Extract comprehensive data including job descriptions, company details, salary info, and application methods. Perfect for recruitment agencies, career platforms, and Gulf market employment research.",
        "version": "0.0",
        "x-build-id": "JX8eScdVVvc0MzKRq"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/alexist~naukrigulf-jobs-search-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-alexist-naukrigulf-jobs-search-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/alexist~naukrigulf-jobs-search-scraper/runs": {
            "post": {
                "operationId": "runs-sync-alexist-naukrigulf-jobs-search-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/alexist~naukrigulf-jobs-search-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-alexist-naukrigulf-jobs-search-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",
                "properties": {
                    "urls": {
                        "title": "URLs of the Jobs list urls to scrape",
                        "type": "array",
                        "description": "Add the URLs of the Jobs list urls you want to scrape. You can paste URLs one by one, or use the Bulk edit section to add a prepared list.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "ignore_url_failures": {
                        "title": "Continue running even if some URLs fail to be scraped",
                        "type": "boolean",
                        "description": "If true, the scraper will continue running even if some URLs fail to be scraped."
                    },
                    "max_items_per_url": {
                        "title": "Max items per URL",
                        "type": "integer",
                        "description": "The maximum number of items to scrape per URL."
                    },
                    "proxy": {
                        "title": "Proxy settings",
                        "type": "object",
                        "description": "Choose proxy settings for the scraper to use. If you don't want to use a proxy, leave the settings blank."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
