# IT Jobs API (`aspen-technology-labs-inc/it-jobs-api`) Actor

Find IT job postings by country, location, role, company, salary, posting age, employment type, and seniority. Built for technology recruiting, labor-market research, and hiring intelligence.

- **URL**: https://apify.com/aspen-technology-labs-inc/it-jobs-api.md
- **Developed by:** [Aspen Technology Labs, Inc.](https://apify.com/aspen-technology-labs-inc) (community)
- **Categories:** Developer tools, Other, Jobs
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.20 / 1,000 job records

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
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

## IT & Technology Jobs API - JobsIndex by Aspen Tech Labs

Access information technology job postings data through the JobsIndex API, built by Aspen Tech Labs.

JobsIndex aggregates 11M+ active job listings daily from over 300K employer source sites worldwide. Job data is sourced directly from company career sites and ATS platforms, not scraped from job boards or aggregators. That means clean, normalized IT jobs with direct application links where available.

This Actor serves two primary use cases: teams that want to publish IT job listings on their platform, and teams that need structured tech jobs data for matching algorithms, AI model training, or workforce intelligence.

### What You Can Use It For

- Power a job board, niche technology careers site, or IT job search feature with fresh listings across software engineering, cybersecurity, networking, and more
- Feed a matching platform or recommendation engine with structured IT jobs data, filterable by role, employer, location, or seniority
- Monitor IT hiring trends by country, region, city, or metro area for workforce analytics, sales intelligence, or competitive research
- Analyze advertised salary and seniority signals across IT careers and technology roles by location or sub-category
- Collect structured IT job postings for training datasets, research, or product development

### Built-In Search Preset

This Actor is fixed internally to `category=Information Technology`. The field is shown in the input example, and the runtime always enforces that value even if a different value is submitted. Users can narrow the search by country, structured location, sub-category, role keywords, salary, company, posting age, employment type, or seniority.

### Quick Start

```json
{
  "country": "United States",
  "size": 5
}
````

### Input Parameters

| Parameter | Description | Example |
|---|---|---|
| `salary` | Salary amount or range filter. | `20h-30h` |
| `what` | Main job search query. Supports keywords, boolean logic, exact phrases, and field-targeted search such as `@title engineer` or `@(title,description) (python)`. | `software engineer` |
| `where` | Free-text location search. Supports place names, boolean logic, and field-targeted search such as `@country United States` or `@(city,metro_area) (Denver)`. Prefer structured location fields for exact filters. | `Germany` |
| `country` | Country filter. | `United States` |
| `region` | State, province, or region. | `California` |
| `city` | City filter. | `New York` |
| `postal_code` | Postal or ZIP code filter. | `90210` |
| `metro_area` | Metropolitan area filter. | `Denver-Aurora-Centennial, CO` |
| `title` | Job title filter. | `Software Engineer` |
| `company_name` | Company name filter. | `IBM` |
| `company_domain` | Company website domain. | `ibm.com` |
| `category` | Fixed preset. Runtime always uses `Information Technology`; changes are ignored. | `Information Technology` |
| `sub_category` | More specific IT function or role. | `Software Developer` |
| `industry` | Company industry filter. | `Food Products` |
| `posted` | Relative posting age or ISO date. | `1w` |
| `employment_type` | Employment type. | `Full-Time` |
| `remote` | Work arrangement filter. Supported values: `remote`, `on-site`, `hybrid`. | `remote` |
| `seniority` | Seniority level. | `Senior` |
| `page` | Page number, starting from 0. | `0` |
| `size` | Number of results per page. Default 5, min 1, max 100. | `5` |

### Salary Filter Format

Use:

```text
NUMBER[UNIT]
```

or:

```text
NUMBER[UNIT]-NUMBER[UNIT]
```

Supported units:

- `h` - per hour
- `d` - per day
- `w` - per week
- `m` - per month
- `y` - per year

Examples:

- `20h-30h` - hourly rate between 20 and 30
- `35h` - fixed hourly rate
- `20h-200000y` - range from hourly to yearly comparison

### Advanced Filters

`what` and `where` support plain-text search, boolean logic, and field-targeted search.

If no field is provided, the API expands the search across a default set of relevant fields.

Plain keyword examples:

```text
what = engineer OR manager
where = United States
```

Field-specific examples:

```text
what = @title engineer OR manager
where = @country United States
```

Multi-field examples:

```text
what = @(title,description) (python)
what = @(title,title_raw,description) (engineer OR manager)
what = @(title,description) (python AND developer)

where = @(country,region,city,metro_area,county,sub_city) (United States)
where = @(city,region,metro_area) (San Francisco OR California)
where = @(city,region,metro_area) (California)
```

When using `where`, avoid sending separate structured location parameters for the same request unless you want those structured parameters to take priority. For example, `country`, `region`, `city`, `postal_code`, and `metro_area` can override or narrow `where`.

Common job/content fields for `what`:

- `title`, `title_raw`, `description`, `reference`
- `category`, `sub_category`, `seniority`, `industry`, `company_type`
- `company_name`, `company_domain`, `company_name_raw`
- `employment_type`, `remote`, `language`
- `posted`, `posted_raw`, `expired`
- `url_source`, `url_apply`
- `salary_value`, `salary_currency`, `salary_unit`
- `id`

Common location fields for `where`:

- `country`, `region`, `city`, `metro_area`, `county`, `sub_city`, `postal_code`

### Location Filtering

For precise location matching, use structured filters exposed for this Actor:

- `country`
- `region`
- `city`
- `postal_code`
- `metro_area`

Use `where` only as a free-text location search when the structured location filters above are not set. If `where` is provided together with structured location filters, the structured filters take priority and `where` may be ignored or deprioritized.

### Limits and Pagination

This Actor uses the JobsIndex jobs API. Results are paginated with `page` and `size`.

| Parameter | Default | Min | Max |
|---|---:|---:|---|
| `page` | 0 | 0 | Depends on `size` and the item cap |
| `size` | 5 | 1 | 100 |

Invalid `page` or `size` values can return `400 Invalid page or size parameters`.

#### Item Caps

The maximum number of retrievable jobs depends on the query shape:

| Query shape | Max items | Effective max `size` | Over-size behavior |
|---|---:|---:|---|
| No company filter | 1000 | 100 | Validation error; not silently capped |
| Company filter plus another keyword or filter | 20 | 20 | Silent cap with capping metadata |
| Company filter only | 5 | 5 | Silent cap with capping metadata |

A company filter means `company_name`, `company_domain`, or a company field referenced inside `what`. Another keyword or filter means anything in `what` other than `company_*`, or a value in fields such as `title`, `category`, `sub_category`, `industry`, `posted`, `salary`, `employment_type`, or `seniority` where available on this Actor.

When a company-filtered request asks for `size` greater than the effective cap, the API returns up to the capped number of results instead of erroring. The response metadata includes:

- `size_requested` - the original requested `size`
- `size_capped_by` - `"company"` for the 5-item cap or `"company|keywords"` for the 20-item cap

On uncapped responses, `size_requested` and `size_capped_by` are not present.

No-company-filter requests are not silently capped. If the request exceeds the 1000-item retrieval window, the API can return `400 Item limit reached. Maximum of 1000 items can be retrieved`.

#### Free-Text Query Limits

`what` and, where available, `where` support advanced matching syntax but have safety limits:

| Limit | Value | Error behavior |
|---|---:|---|
| Raw URL length before decoding | 700 characters | `400 'what' or 'where' parameters exceed 700 characters` |
| Decoded text length | 500 characters | `400 MATCH input exceeds length limit` |
| Combined operator characters: `?`, `+`, pipe, `@` | 20 | `400 Too many MATCH operators` |
| Unsafe SQL-like keywords | blocked | `400 Unsafe MATCH expression` |

Unsupported characters may be normalized before search. Unbalanced quotes and trailing `@` characters may be stripped.

#### Field Validation

Invalid filter values can return `400 Invalid value for parameter: <name>`. Common validation examples include malformed company domains, invalid dates or relative `posted` values, invalid salary format, invalid job IDs, unsupported location formats, or overly long field values.

### Output

Each run stores job records in the default Apify dataset. The dataset schema includes an `Overview` table for the most useful fields and a `Raw data (all fields)` table for the complete JobsIndex record.

Example dataset item:

```json
{
  "id": "11478392506826392999",
  "title": "Software Developer",
  "company_name": "Example Technology Company",
  "category": "Information Technology",
  "sub_category": "Software Developer",
  "country": "United States",
  "region": "Nevada",
  "city": "Las Vegas",
  "salary_value": "n/a",
  "salary_currency": "n/a",
  "salary_unit": "n/a",
  "employment_type": "Full-Time",
  "remote": "remote",
  "posted": "2026-05-25",
  "url_apply": "https://example.com/apply"
}
```

Field availability depends on the source job posting.

### Custom IT Jobs Data

For custom IT job data needs, bulk downloads, or tailored IT job feeds, contact us via our [website](https://jobsindex.com/) or by [email](mailto:inquiry+apify@aspentechlabs.com). You can also explore [JobMarketPulse](https://jobmarketpulse.com/), our labor and job market intelligence platform.

# Actor input Schema

## `salary` (type: `string`):

Salary amount/range filter. Format: 1-9 digits followed by y, m, w, d, or h; optional range A-B. Examples: 20h-30h, 35h, 20h-200000y.

## `what` (type: `string`):

Main job search query. Supports keywords, exact phrases, boolean logic (AND, OR, NOT or &, |, !), and field targeting. Maximum 700 raw URL chars or 500 decoded chars. Examples: python developer OR junior javascript, "data scientist", @(title) (manager).

## `where` (type: `string`):

Free-text location search. Use only when structured location fields such as country, region, city, postal\_code, or metro\_area are not set; structured fields take priority. Maximum 700 raw URL chars or 500 decoded chars.

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

Country for job location filter. Use a 2-3 letter country code or a country name up to 60 characters.

## `region` (type: `string`):

State, province, or region. Maximum 80 characters.

## `city` (type: `string`):

City filter. Maximum 100 characters.

## `postal_code` (type: `string`):

Postal or ZIP code. Maximum 20 characters.

## `metro_area` (type: `string`):

Metropolitan area filter. Maximum 100 characters. Example: Denver-Aurora-Centennial, CO.

## `title` (type: `string`):

Job title filter. Maximum 200 characters.

## `company_name` (type: `string`):

Company name filter. Company filters reduce the retrievable item cap; see README.

## `company_domain` (type: `string`):

Company website domain in valid DNS form, for example ibm.com. Company filters reduce the retrievable item cap; see README.

## `category` (type: `string`):

Fixed preset for this Actor. The runtime always uses Information Technology; changing this value in input is ignored.

## `sub_category` (type: `string`):

More specific job function or role within a category. Maximum 100 characters.

## `industry` (type: `string`):

Company industry. Maximum 100 characters. Example: Food Products or Hotels and Restaurants.

## `posted` (type: `string`):

Relative posting age, such as 1h, 1d, 1w, 1m, or an ISO date: YYYY, YYYY-MM, YYYY-MM-DD.

## `employment_type` (type: `string`):

Employment type, for example Full-Time. Comma-separated values are supported; each value can be up to 31 characters.

## `remote` (type: `string`):

Work arrangement filter. Supported values: remote, on-site, hybrid.

## `seniority` (type: `string`):

Seniority level, for example Junior, Middle, Senior. Comma-separated values are supported; each value can be up to 31 characters.

## `page` (type: `integer`):

Page number. Starts from 0. Pagination is capped by query shape: no company filter up to 1000 items, company filter with another filter up to 20 items, company filter only up to 5 items.

## `size` (type: `integer`):

Number of results per page. Default 5, min 1, max 100. Effective maximum can be lower for company-filtered queries; see README.

## Actor input object example

```json
{
  "salary": "",
  "what": "",
  "where": "",
  "country": "",
  "region": "",
  "city": "",
  "postal_code": "",
  "metro_area": "",
  "title": "",
  "company_name": "",
  "company_domain": "",
  "category": "Information Technology",
  "sub_category": "",
  "industry": "",
  "posted": "",
  "employment_type": "",
  "remote": "",
  "seniority": "",
  "page": 0,
  "size": 5
}
```

# Actor output Schema

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

No description

## `meta` (type: `string`):

No description

# API

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

## JavaScript example

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

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

// Prepare Actor input
const input = {};

// Run the Actor and wait for it to finish
const run = await client.actor("aspen-technology-labs-inc/it-jobs-api").call(input);

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

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

```

## Python example

```python
from apify_client import ApifyClient

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

# Prepare the Actor input
run_input = {}

# Run the Actor and wait for it to finish
run = client.actor("aspen-technology-labs-inc/it-jobs-api").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{}' |
apify call aspen-technology-labs-inc/it-jobs-api --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=aspen-technology-labs-inc/it-jobs-api",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "IT Jobs API",
        "description": "Find IT job postings by country, location, role, company, salary, posting age, employment type, and seniority. Built for technology recruiting, labor-market research, and hiring intelligence.",
        "version": "0.1",
        "x-build-id": "T8sofN6AhOV0zWsI5"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/aspen-technology-labs-inc~it-jobs-api/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-aspen-technology-labs-inc-it-jobs-api",
                "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/aspen-technology-labs-inc~it-jobs-api/runs": {
            "post": {
                "operationId": "runs-sync-aspen-technology-labs-inc-it-jobs-api",
                "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/aspen-technology-labs-inc~it-jobs-api/run-sync": {
            "post": {
                "operationId": "run-sync-aspen-technology-labs-inc-it-jobs-api",
                "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": {
                    "salary": {
                        "title": "Salary filter",
                        "type": "string",
                        "description": "Salary amount/range filter. Format: 1-9 digits followed by y, m, w, d, or h; optional range A-B. Examples: 20h-30h, 35h, 20h-200000y.",
                        "default": ""
                    },
                    "what": {
                        "title": "Job search query",
                        "type": "string",
                        "description": "Main job search query. Supports keywords, exact phrases, boolean logic (AND, OR, NOT or &, |, !), and field targeting. Maximum 700 raw URL chars or 500 decoded chars. Examples: python developer OR junior javascript, \"data scientist\", @(title) (manager).",
                        "default": ""
                    },
                    "where": {
                        "title": "Free-text location query",
                        "type": "string",
                        "description": "Free-text location search. Use only when structured location fields such as country, region, city, postal_code, or metro_area are not set; structured fields take priority. Maximum 700 raw URL chars or 500 decoded chars.",
                        "default": ""
                    },
                    "country": {
                        "title": "Country",
                        "type": "string",
                        "description": "Country for job location filter. Use a 2-3 letter country code or a country name up to 60 characters.",
                        "default": ""
                    },
                    "region": {
                        "title": "Region",
                        "type": "string",
                        "description": "State, province, or region. Maximum 80 characters.",
                        "default": ""
                    },
                    "city": {
                        "title": "City",
                        "type": "string",
                        "description": "City filter. Maximum 100 characters.",
                        "default": ""
                    },
                    "postal_code": {
                        "title": "Postal code",
                        "type": "string",
                        "description": "Postal or ZIP code. Maximum 20 characters.",
                        "default": ""
                    },
                    "metro_area": {
                        "title": "Metro area",
                        "type": "string",
                        "description": "Metropolitan area filter. Maximum 100 characters. Example: Denver-Aurora-Centennial, CO.",
                        "default": ""
                    },
                    "title": {
                        "title": "Job title",
                        "type": "string",
                        "description": "Job title filter. Maximum 200 characters.",
                        "default": ""
                    },
                    "company_name": {
                        "title": "Company name",
                        "type": "string",
                        "description": "Company name filter. Company filters reduce the retrievable item cap; see README.",
                        "default": ""
                    },
                    "company_domain": {
                        "title": "Company domain",
                        "type": "string",
                        "description": "Company website domain in valid DNS form, for example ibm.com. Company filters reduce the retrievable item cap; see README.",
                        "default": ""
                    },
                    "category": {
                        "title": "Category",
                        "type": "string",
                        "description": "Fixed preset for this Actor. The runtime always uses Information Technology; changing this value in input is ignored.",
                        "default": "Information Technology"
                    },
                    "sub_category": {
                        "title": "Sub-category",
                        "type": "string",
                        "description": "More specific job function or role within a category. Maximum 100 characters.",
                        "default": ""
                    },
                    "industry": {
                        "title": "Industry",
                        "type": "string",
                        "description": "Company industry. Maximum 100 characters. Example: Food Products or Hotels and Restaurants.",
                        "default": ""
                    },
                    "posted": {
                        "title": "Posted time frame",
                        "type": "string",
                        "description": "Relative posting age, such as 1h, 1d, 1w, 1m, or an ISO date: YYYY, YYYY-MM, YYYY-MM-DD.",
                        "default": ""
                    },
                    "employment_type": {
                        "title": "Employment type",
                        "type": "string",
                        "description": "Employment type, for example Full-Time. Comma-separated values are supported; each value can be up to 31 characters.",
                        "default": ""
                    },
                    "remote": {
                        "title": "Remote / work arrangement",
                        "enum": [
                            "",
                            "remote",
                            "on-site",
                            "hybrid"
                        ],
                        "type": "string",
                        "description": "Work arrangement filter. Supported values: remote, on-site, hybrid.",
                        "default": ""
                    },
                    "seniority": {
                        "title": "Seniority",
                        "type": "string",
                        "description": "Seniority level, for example Junior, Middle, Senior. Comma-separated values are supported; each value can be up to 31 characters.",
                        "default": ""
                    },
                    "page": {
                        "title": "Page number",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Page number. Starts from 0. Pagination is capped by query shape: no company filter up to 1000 items, company filter with another filter up to 20 items, company filter only up to 5 items.",
                        "default": 0
                    },
                    "size": {
                        "title": "Page size",
                        "minimum": 1,
                        "maximum": 100,
                        "type": "integer",
                        "description": "Number of results per page. Default 5, min 1, max 100. Effective maximum can be lower for company-filtered queries; see README.",
                        "default": 5
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
