# Remotive Job Search (`canadesk/remotive-jobs`) Actor

Search and scrape remote job listings from Remotive.com. Filter by location, job type, salary, category, seniority, and skills.

- **URL**: https://apify.com/canadesk/remotive-jobs.md
- **Developed by:** [Canadesk Support](https://apify.com/canadesk) (community)
- **Categories:** Jobs, SEO tools, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.00 / 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

## Remotive Job Search Scraper

Scrape job listings from [Remotive.com](https://remotive.com). Filter by location, job type, salary, category, seniority, and skills.

### Features

*   **Flexible Filters**: Filter by location, job type, minimum salary, category, seniority level, and required skills.
*   **Full Pagination**: Automatically pages through all results (up to your `maxPages` limit).
*   **Deduplication**: Tracks seen job IDs across pages to prevent duplicate records.

### Input Parameters

| Parameter | Type | Description | Default |
|-----------|------|-------------|---------|
| `query` | String | Free-text search query (job title, keyword, etc.) | `""` |
| `locations` | Array | Location filters. Examples: `["Canada"]`, `["USA", "Worldwide"]` | `[]` |
| `jobTypes` | Array | Employment type. Values: `full-time`, `contract`, `part-time`, `freelance`, `internship` | `[]` |
| `minSalary` | Integer | Minimum value for the `max_salary` field. Set to `0` to disable. | `0` |
| `categories` | Array | Job category filters. Examples: `["Software Development", "Sales"]` | `[]` |
| `seniority` | Array | Seniority levels. Examples: `["senior", "mid-level"]` | `[]` |
| `skills` | Array | Required skills. Examples: `["python", "docker", "react"]` | `[]` |
| `skillsOperator` | String | How to combine skills: `"or"` (any) or `"and"` (all) | `"or"` |
| `maxPages` | Integer | Max result pages to fetch. Set to `0` for unlimited. | `10` |
| `fetchDetails` | Boolean | Fetch full job description for each job. Adds one API call per job and incurs an additional per-job charge. | `false` |

### Output

Each job listing is stored as a separate record in the Apify dataset. The dataset is always padded to at least 1,000 records.

#### Output Fields

| Field | Type | Description |
|-------|------|-------------|
| `id` | String | Unique job ID on Remotive |
| `title` | String | Job title (HTML tags stripped) |
| `company_name` | String | Hiring company name |
| `locations` | Array | Location tags (e.g. `["USA", "Canada"]`) |
| `apply_url` | String | Remotive listing URL by default. When `fetchDetails: true`, updated to the real external apply URL (e.g. Greenhouse, Lever, Google Forms). |
| `remotive_url` | String | Canonical Remotive listing URL |
| `salary` | String | Salary range as a human-readable string (e.g. `"$170k - $200k"`) |
| `category` | String | Job category (e.g. `"Software Development"`) |
| `seniority` | String | Seniority level (e.g. `"senior"`, `"mid-level"`) |
| `job_type` | String | Employment type (e.g. `"full-time"`, `"contract"`) |
| `skills` | Array | Required skills list |
| `occupation` | String | Occupation label |
| `discovered_on` | String | Date when Remotive indexed the job (`YYYY-MM-DD`) |
| `description` | String | Full job description as plain text. **Only present when `fetchDetails: true`.** |

#### Example Output Record

```json
{
	"id": "4689970",
	"title": "Senior Director of Community New Game",
	"company_name": "Scopely",
	"locations": [
		"USA",
		"Canada"
	],
	"apply_url": "https://job-boards.greenhouse.io/scopely/jobs/5220555008",
	"remotive_url": "https://remotive.com/remote/jobs/all-others/senior-director-of-community-new-game-4689970",
	"salary": "usd 180,000 - 200,000 per year",
	"category": "All Others",
	"seniority": "senior",
	"job_type": "full-time",
	"skills": [
		"community management",
		"social media management",
		"influencer management",
		"analytical",
		"team leadership"
	],
	"occupation": "senior director",
	"discovered_on": "2026-05-15",
	"description": "<div class=\"\"><p class=\"h2 tw-mt-4 remotive-text-bigger\">\n Role Description\n</p>\n<p>\n Scopely is looking for a Senior Director of Community to join a new AAA unannounced and groundbreaking title with a popular IP in the United States or Canada on a remote basis!\n</p>\n<p>\n As Senior Director of Community, you’ll be focused on leading the community for an exciting, in-development, cross-platform, new F2P Open-World Adventure title with World-Class IP. This means being involved early in the game’s development.\n</p>\n<p>\n This role requires someone who can bring together the art and science of the modern-day mobile and PC games community, with the ability to support a mobile-first title. A focus on orchestrating the growth, engagement and retention of the community through content, activations and community-driven features to deliver a world-class gaming experience for our players.\n</p>\n<h3>\n What You Will Do\n</h3>\n<ul>\n <li>\n  Develop a Community strategy and plan for Community Management, Social Media, and Influencers on an exciting, in-development IP-based new title.\n </li>\n <li>\n  Build out a team to support the game in each of these areas.\n </li>\n <li>\n  Set strategy, develop tactics, and guide the Community team.\n </li>\n <li>\n  Shape our game's online presence and foster meaningful connections with our players.\n </li>\n <li>\n  Develop and execute a global community, social, and influencer strategy that aligns with our game’s brand identity and broader marketing goals.\n </li>\n <li>\n  Establish communication channels and platforms to facilitate ongoing interaction between players, developers, and content creators.\n </li>\n <li>\n  Act as the primary spokesperson for the community and collaborate with cross-functional teams.\n </li>\n <li>\n  Integrate community feedback into game development processes and ensure a player-centric approach.\n </li>\n <li>\n  Foster positive interactions and relationships within the community by promoting inclusivity, respect, and collaboration.\n </li>\n <li>\n  Plan and execute community events and promotions to encourage participation and excitement within the community.\n </li>\n <li>\n  Generate original ideas and concepts for content that showcase gameplay, highlight community events, and spotlight player achievements and stories.\n </li>\n <li>\n  Engage with our community across various platforms, including responding to comments and participating in discussions.\n </li>\n <li>\n  Utilise analytics tools to track community engagement metrics, sentiment, and social media performance.\n </li>\n <li>\n  Partner with the IP holder to manage and grow the community authentically.\n </li>\n</ul>\n<p class=\"h2 tw-mt-4 remotive-text-bigger\">\n Qualifications\n</p>\n<ul>\n <li>\n  10+ years of experience in community management, social media management, &amp; influencer management in the gaming industry.\n </li>\n <li>\n  Strong analytical skills and proficiency in analysing and interpreting community engagement metrics.\n </li>\n <li>\n  Deep understanding of gaming platforms, streaming services, and social media channels relevant to content creators.\n </li>\n <li>\n  Deep understanding of the free-to-play landscape, player behaviour, and current gaming trends.\n </li>\n <li>\n  Experience managing game communities &amp; influencers.\n </li>\n <li>\n  Experience developing programs that effectively engage different community segments throughout the product lifecycle.\n </li>\n <li>\n  Experience working on games that utilise licensed IP.\n </li>\n <li>\n  Track record of developing engaging content and media that augments your community strategy.\n </li>\n <li>\n  Team player - able to effectively engage stakeholders, agencies, partners &amp; community members.\n </li>\n <li>\n  Ability to work cross-functionally with Marketing, LiveOps, Production, and Engineering.\n </li>\n</ul>\n<p class=\"h2 tw-mt-4 remotive-text-bigger\">\n Benefits\n</p>\n<ul>\n <li>\n  Comprehensive benefits package, including healthcare benefits, retirement benefits, pet insurance, paid holidays, paid Scopely free days, and unlimited paid time off.\n </li>\n</ul>\n<p class=\"h2 tw-mt-4 remotive-text-bigger\">\n Company Description\n</p>\n<p>\n Scopely is a leading video game and global interactive entertainment company, home to many of the world’s most beloved and enduring experiences.\n</p>\n<ul>\n <li>\n  Founded in 2011, Scopely is powered by its exceptional team and distinctive tenet-driven culture.\n </li>\n <li>\n  Recognized multiple times as one of the \"100 Most Influential Companies in the World\" by TIME magazine.\n </li>\n <li>\n  Believes that video games can be a force for good — creating meaningful connections and vibrant communities.\n </li>\n</ul>\n</div>"
}
````

### Example Input

```json
{
  "locations": ["Americas"],
  "jobTypes": ["full-time", "contract"],
  "minSalary": 160000,
  "skillsOperator": "or",
  "maxPages": 5
}
```

# Actor input Schema

## `query` (type: `string`):

Free-text search query for job titles, companies, or keywords. Leave blank to return all jobs matching other filters.

## `locations` (type: `array`):

Filter jobs by location. Select one or more regions or countries.

## `jobTypes` (type: `array`):

Filter by employment type. Leave empty to include all types.

## `minSalary` (type: `integer`):

Minimum value for the max\_salary field (numeric filter, USD per year). Set to 0 to disable salary filtering.

## `categories` (type: `array`):

Filter by job category. Leave empty to include all categories.

## `seniority` (type: `array`):

Filter by seniority / career level. Leave empty to include all levels.

## `skills` (type: `array`):

Filter by required skills (e.g. python, docker, react). Combined using the Skills Operator below.

## `skillsOperator` (type: `string`):

How to combine multiple skills: 'or' returns jobs matching any skill; 'and' returns jobs matching all skills.

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

Maximum number of result pages to fetch (35 jobs per page). Set to 0 for unlimited.

## `fetchDetails` (type: `boolean`):

Enable to fetch the real external apply URL and full job description for each job. Adds two extra API calls per job and incurs an additional per-job charge.

## `descriptionFallback` (type: `boolean`):

When Fetch Job Details is enabled, also scrape the Remotive HTML job page to retrieve descriptions for aggregated/external jobs where the JSON API returns nothing. Slower — one HTTP request per job with a configurable delay.

## `descriptionFallbackDelayMs` (type: `integer`):

Milliseconds to wait between each HTML page scrape when the HTML Description Fallback is enabled. Increase to reduce load on Remotive's servers.

## `pageDelayMs` (type: `integer`):

Base delay between fetching result pages, in milliseconds. Actual delay is randomized ±50% to avoid fingerprinting. Increase if you hit rate limits.

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

Select proxies to be used by this actor.

## Actor input object example

```json
{
  "locations": [
    "Worldwide"
  ],
  "jobTypes": [
    "full-time",
    "contract"
  ],
  "minSalary": 0,
  "categories": [],
  "seniority": [],
  "skills": [],
  "skillsOperator": "or",
  "maxPages": 10,
  "fetchDetails": true,
  "descriptionFallback": false,
  "descriptionFallbackDelayMs": 500,
  "pageDelayMs": 500,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# API

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

## JavaScript example

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

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

// Prepare Actor input
const input = {
    "query": "",
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("canadesk/remotive-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 = {
    "query": "",
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("canadesk/remotive-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 '{
  "query": "",
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}' |
apify call canadesk/remotive-jobs --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Remotive Job Search",
        "description": "Search and scrape remote job listings from Remotive.com. Filter by location, job type, salary, category, seniority, and skills.",
        "version": "1.0",
        "x-build-id": "PzYsaNXwGDACiX5kx"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/canadesk~remotive-jobs/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-canadesk-remotive-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/canadesk~remotive-jobs/runs": {
            "post": {
                "operationId": "runs-sync-canadesk-remotive-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/canadesk~remotive-jobs/run-sync": {
            "post": {
                "operationId": "run-sync-canadesk-remotive-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",
                "properties": {
                    "query": {
                        "title": "Search Query",
                        "type": "string",
                        "description": "Free-text search query for job titles, companies, or keywords. Leave blank to return all jobs matching other filters."
                    },
                    "locations": {
                        "title": "Locations",
                        "type": "array",
                        "description": "Filter jobs by location. Select one or more regions or countries.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "Worldwide",
                                "USA",
                                "Canada",
                                "UK",
                                "Germany",
                                "France",
                                "Brazil",
                                "Europe",
                                "Northern America",
                                "Latin America",
                                "Asia",
                                "Africa",
                                "Australia",
                                "USA timezones",
                                "CET timezone"
                            ]
                        },
                        "default": [
                            "Worldwide"
                        ]
                    },
                    "jobTypes": {
                        "title": "Employment Types",
                        "type": "array",
                        "description": "Filter by employment type. Leave empty to include all types.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "full-time",
                                "contract",
                                "part-time",
                                "freelance",
                                "internship",
                                "temporary",
                                "casual",
                                "per-diem",
                                "other"
                            ]
                        },
                        "default": [
                            "full-time",
                            "contract"
                        ]
                    },
                    "minSalary": {
                        "title": "Minimum Salary",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Minimum value for the max_salary field (numeric filter, USD per year). Set to 0 to disable salary filtering.",
                        "default": 0
                    },
                    "categories": {
                        "title": "Job Categories",
                        "type": "array",
                        "description": "Filter by job category. Leave empty to include all categories.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "Software Development",
                                "Sales",
                                "Customer Service",
                                "Medical",
                                "Marketing",
                                "Finance",
                                "Project Management",
                                "Data and Analytics",
                                "Product Management",
                                "Human Resources",
                                "Teaching",
                                "Artificial Intelligence",
                                "Design",
                                "Legal",
                                "Devops",
                                "Operations",
                                "Quality Assurance",
                                "Information Technology",
                                "Engineering",
                                "Writing",
                                "Business Development",
                                "Account Management",
                                "Compliance",
                                "Supply Chain",
                                "Communications",
                                "Strategy",
                                "Travel and Hospitality",
                                "Research",
                                "Knowledge Management",
                                "All Others"
                            ]
                        },
                        "default": []
                    },
                    "seniority": {
                        "title": "Career Level",
                        "type": "array",
                        "description": "Filter by seniority / career level. Leave empty to include all levels.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "entry-level",
                                "junior",
                                "mid-level",
                                "senior",
                                "lead",
                                "executive",
                                "intern",
                                "internship",
                                "student"
                            ]
                        },
                        "default": []
                    },
                    "skills": {
                        "title": "Skills",
                        "type": "array",
                        "description": "Filter by required skills (e.g. python, docker, react). Combined using the Skills Operator below.",
                        "items": {
                            "type": "string"
                        },
                        "default": []
                    },
                    "skillsOperator": {
                        "title": "Skills Operator",
                        "enum": [
                            "or",
                            "and"
                        ],
                        "type": "string",
                        "description": "How to combine multiple skills: 'or' returns jobs matching any skill; 'and' returns jobs matching all skills.",
                        "default": "or"
                    },
                    "maxPages": {
                        "title": "Max Pages",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum number of result pages to fetch (35 jobs per page). Set to 0 for unlimited.",
                        "default": 10
                    },
                    "fetchDetails": {
                        "title": "Fetch Job Details (apply URL + description)",
                        "type": "boolean",
                        "description": "Enable to fetch the real external apply URL and full job description for each job. Adds two extra API calls per job and incurs an additional per-job charge.",
                        "default": true
                    },
                    "descriptionFallback": {
                        "title": "HTML Description Fallback",
                        "type": "boolean",
                        "description": "When Fetch Job Details is enabled, also scrape the Remotive HTML job page to retrieve descriptions for aggregated/external jobs where the JSON API returns nothing. Slower — one HTTP request per job with a configurable delay.",
                        "default": false
                    },
                    "descriptionFallbackDelayMs": {
                        "title": "HTML Fallback Delay (ms)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Milliseconds to wait between each HTML page scrape when the HTML Description Fallback is enabled. Increase to reduce load on Remotive's servers.",
                        "default": 500
                    },
                    "pageDelayMs": {
                        "title": "Page Delay (ms)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Base delay between fetching result pages, in milliseconds. Actual delay is randomized ±50% to avoid fingerprinting. Increase if you hit rate limits.",
                        "default": 500
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Select proxies to be used by this actor."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
