# Jora.com – Job Listings, Salaries & Full Descriptions (`abotapi/jora-jobs-scraper`) Actor

Collect Jora.com job listings by keyword, filters, or URLs across supported countries. Returns full descriptions, salary, work type, company, location, and connector export.

- **URL**: https://apify.com/abotapi/jora-jobs-scraper.md
- **Developed by:** [AbotAPI](https://apify.com/abotapi) (community)
- **Categories:** Jobs, Automation, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.00 / 1,000 dataset items

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

## Jora Jobs Scraper

The Jora Jobs Scraper collects current job listings from Jora across Australia, New Zealand, Singapore, Hong Kong, Malaysia, Indonesia, the United States, the United Kingdom, and Canada. It supports keyword/location search mode and URL mode for existing Jora search pages or job detail pages. Detail mode adds the full description, apply redirect, source name, salary, work type, and work arrangement when available.

### Why This Scraper?

- Search by keywords and location across all supported Jora country sites.
- Start from Jora search URLs or direct job URLs when you already have a curated source list.
- Includes Jora filters for listed date, job type, quick apply, sort, distance, and minimum salary.
- Uses `maxItems` as the main output cap while `maxPages` defaults high enough to avoid early stopping.
- Detail mode adds full job descriptions and apply URLs.
- Optional MCP connector export sends a concise job summary into your selected apps while the complete record stays in the Apify dataset.

### Data You Get

> Sample shape, values are illustrative placeholders, not from a live listing.

| Field | Example |
| --- | --- |
| `id` | `00000000000000000000000000000001` |
| `jobId` | `00000000000000000000000000000001` |
| `title` | `Sample Software Engineer` |
| `company` | `Sample Company` |
| `location` | `Sydney NSW` |
| `countryCode` | `au` |
| `url` | `https://au.jora.com/job/Sample-Job-00000000000000000000000000000001` |
| `sourceUrl` | `https://au.jora.com/j?q=software+engineer&l=Sydney%2C+NSW` |
| `salary` | `$100,000 - $120,000 a year` |
| `salaryMin` | `100000` |
| `salaryMax` | `120000` |
| `workType` | `Full time` |
| `workArrangement` | `Hybrid` |
| `postedAtText` | `Posted 3d ago` |
| `quickApply` | `true` |
| `isSponsored` | `false` |
| `rank` | `1` |
| `page` | `1` |
| `abstract` | `Short summary from the search card.` |
| `snippetBullets` | `["Build sample services", "Work with a sample team"]` |
| `descriptionText` | `Full job description appears here when fetchDetails=true.` |
| `descriptionHtml` | `<div>Full job description appears here.</div>` |
| `applyUrl` | `https://au.jora.com/job/rd/00000000000000000000000000000001` |
| `sourceName` | `Sample Source` |
| `searchKeywords` | `software engineer` |
| `searchLocation` | `Sydney, NSW` |
| `searchTotalCount` | `250` |
| `detailFetched` | `true` |
| `scrapedAt` | `2026-01-01T00:00:00.000Z` |

### How to Use

Search by keyword and location:

```json
{
  "mode": "search",
  "searches": [
    {
      "keywords": "software engineer",
      "location": "Sydney, NSW",
      "country": "au"
    }
  ],
  "maxItems": 20
}
````

Search with filters:

```json
{
  "mode": "search",
  "searches": [
    {
      "keywords": "developer",
      "location": "Melbourne VIC",
      "country": "au"
    }
  ],
  "postedWithin": "7d",
  "workType": "contract",
  "quickApply": true,
  "sort": "date",
  "salaryMin": 90000,
  "maxItems": 25,
  "fetchDetails": true
}
```

Run several searches in one run:

```json
{
  "mode": "search",
  "searches": [
    { "keywords": "data analyst", "location": "Auckland", "country": "nz" },
    { "keywords": "data analyst", "location": "Singapore", "country": "sg" }
  ],
  "maxItems": 40
}
```

Start from URLs:

```json
{
  "mode": "url",
  "urls": [
    "https://au.jora.com/j?q=software+engineer&l=Sydney%2C+NSW",
    "https://au.jora.com/job/Sample-Job-00000000000000000000000000000001"
  ],
  "maxPages": 500,
  "maxItems": 20
}
```

Send results into your apps:

```json
{
  "mode": "search",
  "searches": [
    { "keywords": "marketing manager", "location": "Sydney", "country": "au" }
  ],
  "mcpConnectors": ["your-connector-id"],
  "notionParentPageUrl": "https://www.notion.so/sample-parent-page",
  "maxNotifyListings": 10
}
```

The connector export writes a condensed, human-readable summary for each selected job: title, company, location, salary, work type, posted text, and links. The complete JSON record is always kept in the Apify dataset.

### Input Parameters

| Parameter | Type | Default | Description |
| --- | --- | --- | --- |
| `mode` | string | `search` | Choose `search` for keyword/filter searches or `url` for existing Jora URLs. |
| `searches` | array | software engineer in Sydney | Search mode inputs. Each item can include `keywords`, `location`, and `country`. |
| `postedWithin` | string | `anytime` | Date filter: `anytime`, `24h`, `7d`, `14d`, or `30d`. |
| `workType` | string | `any` | Job type filter such as `full_time`, `part_time`, `contract`, `permanent`, or `internship`. |
| `quickApply` | boolean | `false` | Limits results to Jora quick apply jobs. |
| `sort` | string | `relevance` | Use `relevance` or `date`. |
| `distanceKm` | integer | empty | Optional location radius. |
| `salaryMin` | integer | empty | Optional minimum salary filter. |
| `urls` | array | sample search URL | URL mode inputs. Accepts search result URLs and job detail URLs. |
| `fetchDetails` | boolean | `true` | Opens job pages for full details. |
| `maxItems` | integer | `20` | Maximum matching rows to save. `0` means unlimited. Results can be fewer when the source has fewer matching jobs. |
| `maxPages` | integer | `500` | Maximum search pages per source. Defaults to the maximum so `maxItems` is the main cap. |
| `proxy` | object | Residential AU | Connection settings. Residential AU is selected by default. |
| `mcpConnectors` | array | empty | Optional MCP connector ids for app export. |
| `notionParentPageUrl` | string | empty | Required only for Notion page export. |
| `maxNotifyListings` | integer | `50` | Maximum jobs sent to each connector. Does not affect the dataset. |

### Output Example

> Sample shape, values are illustrative placeholders, not from a live listing.

```json
{
  "id": "00000000000000000000000000000001",
  "jobId": "00000000000000000000000000000001",
  "title": "Sample Software Engineer",
  "company": "Sample Company",
  "location": "Sydney NSW",
  "countryCode": "au",
  "url": "https://au.jora.com/job/Sample-Job-00000000000000000000000000000001",
  "sourceUrl": "https://au.jora.com/j?q=software+engineer&l=Sydney%2C+NSW",
  "salary": "$100,000 - $120,000 a year",
  "salaryMin": 100000,
  "salaryMax": 120000,
  "workType": "Full time",
  "workArrangement": "Hybrid",
  "postedAtText": "Posted 3d ago",
  "quickApply": true,
  "isSponsored": false,
  "rank": 1,
  "page": 1,
  "abstract": "Short summary from the search card.",
  "snippetBullets": ["Build sample services", "Work with a sample team"],
  "descriptionHtml": "<div>Full job description appears here.</div>",
  "descriptionText": "Full job description appears here when fetchDetails=true.",
  "applyUrl": "https://au.jora.com/job/rd/00000000000000000000000000000001",
  "sourceName": "Sample Source",
  "searchKeywords": "software engineer",
  "searchLocation": "Sydney, NSW",
  "searchTotalCount": 250,
  "detailFetched": true,
  "scrapedAt": "2026-01-01T00:00:00.000Z"
}
```

### Plan Requirement

Residential AU is selected by default because Jora can return empty responses from cloud datacenter connections. For searches outside Australia, choose the closest Residential country supported by your Apify plan. Detail mode uses the `detail-enrichment` charge event in addition to the built-in dataset item event.

# Actor input Schema

## `mode` (type: `string`):

Choose search mode to build Jora searches from filters, or URL mode to start from existing Jora search/detail URLs.

## `searches` (type: `array`):

One or more keyword/location searches. Each search can target a different country.

## `postedWithin` (type: `string`):

Only return jobs listed within this time window.

## `workType` (type: `string`):

Filter by Jora work type.

## `quickApply` (type: `boolean`):

Return only jobs marked as quick apply by Jora.

## `sort` (type: `string`):

Sort search results by Jora relevance or newest listed.

## `distanceKm` (type: `integer`):

Optional radius around the location. Leave empty to use Jora's default.

## `salaryMin` (type: `integer`):

Optional minimum salary filter.

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

Multi-URL supported. Search filters are ignored. Search result URLs honor the page number in the pasted URL. Detail URLs save that job only.

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

When enabled, adds full description, apply URL, and detail-only fields. Detail records use the detail-enrichment charge event.

## `maxItems` (type: `integer`):

Maximum number of matching jobs to save. A run can return fewer rows when the selected search, URL, and filters match fewer current jobs. Use 0 for unlimited.

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

Maximum search result pages per search URL. Defaults to the maximum so maxItems is the main cap.

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

Residential proxy is selected by default because Jora can return empty responses from cloud datacenter connections.

## `mcpConnectors` (type: `array`):

Optionally send results into the apps you already use, via Model Context Protocol (MCP) connectors. Authorize one under Apify Settings API & Integrations, then select it here. Notion gets a rich page-per-item export; other connectors get a best-effort write/digest. Leave empty to skip. Supported: Notion (https://mcp.notion.com/mcp), Linear (https://mcp.linear.app/sse), Airtable (https://mcp.airtable.com/mcp), Apify (https://mcp.apify.com).

## `notionParentPageUrl` (type: `string`):

URL or id of the Notion page under which item pages are created. Required to enable the Notion export; ignored by other connectors.

## `maxNotifyListings` (type: `integer`):

Cap on items written to each connector per run. Does not affect the dataset.

## Actor input object example

```json
{
  "mode": "search",
  "searches": [
    {
      "keywords": "software engineer",
      "location": "Sydney, NSW",
      "country": "au"
    }
  ],
  "postedWithin": "anytime",
  "workType": "any",
  "quickApply": false,
  "sort": "relevance",
  "urls": [
    "https://au.jora.com/j?q=software+engineer&l=Sydney%2C+NSW"
  ],
  "fetchDetails": true,
  "maxItems": 20,
  "maxPages": 500,
  "proxy": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "AU"
  },
  "maxNotifyListings": 50
}
```

# Actor output Schema

## `overview` (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 = {
    "searches": [
        {
            "keywords": "software engineer",
            "location": "Sydney, NSW",
            "country": "au"
        }
    ],
    "urls": [
        "https://au.jora.com/j?q=software+engineer&l=Sydney%2C+NSW"
    ],
    "proxy": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ],
        "apifyProxyCountry": "AU"
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("abotapi/jora-jobs-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 = {
    "searches": [{
            "keywords": "software engineer",
            "location": "Sydney, NSW",
            "country": "au",
        }],
    "urls": ["https://au.jora.com/j?q=software+engineer&l=Sydney%2C+NSW"],
    "proxy": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
        "apifyProxyCountry": "AU",
    },
}

# Run the Actor and wait for it to finish
run = client.actor("abotapi/jora-jobs-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 '{
  "searches": [
    {
      "keywords": "software engineer",
      "location": "Sydney, NSW",
      "country": "au"
    }
  ],
  "urls": [
    "https://au.jora.com/j?q=software+engineer&l=Sydney%2C+NSW"
  ],
  "proxy": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "AU"
  }
}' |
apify call abotapi/jora-jobs-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Jora.com – Job Listings, Salaries & Full Descriptions",
        "description": "Collect Jora.com job listings by keyword, filters, or URLs across supported countries. Returns full descriptions, salary, work type, company, location, and connector export.",
        "version": "1.0",
        "x-build-id": "ifolVmk8Qlf2Vt86i"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/abotapi~jora-jobs-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-abotapi-jora-jobs-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/abotapi~jora-jobs-scraper/runs": {
            "post": {
                "operationId": "runs-sync-abotapi-jora-jobs-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/abotapi~jora-jobs-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-abotapi-jora-jobs-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",
                "required": [
                    "mode"
                ],
                "properties": {
                    "mode": {
                        "title": "Mode",
                        "enum": [
                            "search",
                            "url"
                        ],
                        "type": "string",
                        "description": "Choose search mode to build Jora searches from filters, or URL mode to start from existing Jora search/detail URLs.",
                        "default": "search"
                    },
                    "searches": {
                        "title": "Searches",
                        "type": "array",
                        "description": "One or more keyword/location searches. Each search can target a different country.",
                        "items": {
                            "type": "object",
                            "required": [
                                "country"
                            ],
                            "properties": {
                                "keywords": {
                                    "title": "Keywords",
                                    "type": "string",
                                    "description": "Job keywords, for example software engineer. Leave empty to search by location only.",
                                    "editor": "textfield"
                                },
                                "location": {
                                    "title": "Location",
                                    "type": "string",
                                    "description": "Location text accepted by Jora, for example Sydney, NSW or Auckland.",
                                    "editor": "textfield"
                                },
                                "country": {
                                    "title": "Country",
                                    "type": "string",
                                    "description": "Jora country site to search.",
                                    "editor": "select",
                                    "enum": [
                                        "au",
                                        "nz",
                                        "sg",
                                        "hk",
                                        "my",
                                        "id",
                                        "us",
                                        "uk",
                                        "ca"
                                    ],
                                    "enumTitles": [
                                        "Australia",
                                        "New Zealand",
                                        "Singapore",
                                        "Hong Kong",
                                        "Malaysia",
                                        "Indonesia",
                                        "United States",
                                        "United Kingdom",
                                        "Canada"
                                    ],
                                    "default": "au"
                                }
                            }
                        }
                    },
                    "postedWithin": {
                        "title": "Posted within",
                        "enum": [
                            "anytime",
                            "24h",
                            "7d",
                            "14d",
                            "30d"
                        ],
                        "type": "string",
                        "description": "Only return jobs listed within this time window.",
                        "default": "anytime"
                    },
                    "workType": {
                        "title": "Work type",
                        "enum": [
                            "any",
                            "full_time",
                            "part_time",
                            "casual_temporary",
                            "contract",
                            "internship",
                            "permanent",
                            "freelance",
                            "traineeship"
                        ],
                        "type": "string",
                        "description": "Filter by Jora work type.",
                        "default": "any"
                    },
                    "quickApply": {
                        "title": "Quick apply only",
                        "type": "boolean",
                        "description": "Return only jobs marked as quick apply by Jora.",
                        "default": false
                    },
                    "sort": {
                        "title": "Sort by",
                        "enum": [
                            "relevance",
                            "date"
                        ],
                        "type": "string",
                        "description": "Sort search results by Jora relevance or newest listed.",
                        "default": "relevance"
                    },
                    "distanceKm": {
                        "title": "Search radius (km)",
                        "minimum": 0,
                        "maximum": 200,
                        "type": "integer",
                        "description": "Optional radius around the location. Leave empty to use Jora's default."
                    },
                    "salaryMin": {
                        "title": "Minimum salary",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Optional minimum salary filter."
                    },
                    "urls": {
                        "title": "Jora URLs",
                        "type": "array",
                        "description": "Multi-URL supported. Search filters are ignored. Search result URLs honor the page number in the pasted URL. Detail URLs save that job only.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "fetchDetails": {
                        "title": "Fetch full job details",
                        "type": "boolean",
                        "description": "When enabled, adds full description, apply URL, and detail-only fields. Detail records use the detail-enrichment charge event.",
                        "default": true
                    },
                    "maxItems": {
                        "title": "Max items",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum number of matching jobs to save. A run can return fewer rows when the selected search, URL, and filters match fewer current jobs. Use 0 for unlimited.",
                        "default": 20
                    },
                    "maxPages": {
                        "title": "Max pages",
                        "minimum": 1,
                        "maximum": 500,
                        "type": "integer",
                        "description": "Maximum search result pages per search URL. Defaults to the maximum so maxItems is the main cap.",
                        "default": 500
                    },
                    "proxy": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Residential proxy is selected by default because Jora can return empty responses from cloud datacenter connections.",
                        "default": {
                            "useApifyProxy": true,
                            "apifyProxyGroups": [
                                "RESIDENTIAL"
                            ],
                            "apifyProxyCountry": "AU"
                        }
                    },
                    "mcpConnectors": {
                        "title": "Pipe results into your apps (optional)",
                        "type": "array",
                        "description": "Optionally send results into the apps you already use, via Model Context Protocol (MCP) connectors. Authorize one under Apify Settings API & Integrations, then select it here. Notion gets a rich page-per-item export; other connectors get a best-effort write/digest. Leave empty to skip. Supported: Notion (https://mcp.notion.com/mcp), Linear (https://mcp.linear.app/sse), Airtable (https://mcp.airtable.com/mcp), Apify (https://mcp.apify.com)."
                    },
                    "notionParentPageUrl": {
                        "title": "Notion parent page (Notion connector only)",
                        "type": "string",
                        "description": "URL or id of the Notion page under which item pages are created. Required to enable the Notion export; ignored by other connectors."
                    },
                    "maxNotifyListings": {
                        "title": "Max items to export per connector",
                        "minimum": 1,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Cap on items written to each connector per run. Does not affect the dataset.",
                        "default": 50
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
