# Remotive Scraper (`solidcode/remotive-scraper`) Actor

\[💰 $2.0 / 1K]  Extract remote job listings from Remotive — titles, companies, salaries, tags, locations, descriptions, and apply URLs. Filter across 30 categories, keywords, and 6 job types.

- **URL**: https://apify.com/solidcode/remotive-scraper.md
- **Developed by:** [SolidCode](https://apify.com/solidcode) (community)
- **Categories:** Jobs, Automation, Developer tools
- **Stats:** 2 total users, 1 monthly users, 0.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.00 / 1,000 results

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 Scraper

Pull live remote-job listings from Remotive at scale — titles, companies, categories, tags, salaries, locations, seniority, full HTML descriptions, and direct apply URLs for every active posting on the board. Built for recruiting platforms, ATS integrators, and job-aggregator teams who need a fresh, structured remote-jobs feed without scraping HTML page-by-page or settling for a stale 22-job public sample.

### Why This Scraper?

- **Searches the same internal index Remotive's own site uses** — taps the live job catalog of 159,000+ postings, not the cached 22-job public feed competing scrapers rely on.
- **30 categories and 11 employment types** — Software Development, Artificial Intelligence, DevOps, Customer Service, Design, Sales, Product Management, Game Dev, Quality Assurance, and 21 more, crossed against Full-time, Contract, Freelance, Internship, Part-time, Temporary, Casual, Per-diem, Volunteer, Unspecified, and Other.
- **Combine categories, keywords, and job types in a single run** — every combination is queried, results merged and deduplicated by job ID so you never pay for the same posting twice.
- **Optional HTML job descriptions** parsed from each posting's structured-data block — toggle off for ~50× faster runs when you only need title, company, salary, and apply URL.
- **Up to 13,000+ rows in a single category run** — verified by exhausting Customer Service end-to-end (275 paginated pages) in one invocation. Set `maxResults: 0` for full-catalog dumps.
- **Salary, seniority, location, skill tags, and company logo URL on every record** — ready to drop into an ATS, recruitment CRM, or candidate-matching pipeline without secondary enrichment calls.
- **Publication date and discovery timestamp on every job** — critical for tracking newly-posted roles in daily monitoring runs and filtering out anything older than your freshness window.
- **Single flat row per job, 16 leaf fields** — no nested arrays, no JSON-decoding gymnastics. Pipe straight into Google Sheets, BigQuery, Postgres, or a webhook payload.

### Use Cases

**Recruitment & Talent Sourcing**
- Build a daily watch list of newly-posted senior engineering roles in your target stack
- Aggregate remote contract openings into a candidate-matching pipeline
- Monitor specific companies' hiring velocity across categories

**Market Research & Hiring Trends**
- Track remote-hiring volume across 30 categories week over week
- Compare salary ranges between Software Development, Data, and Artificial Intelligence postings
- Map which seniority levels dominate each category in the current market

**Job-Aggregator & Job-Board Platforms**
- Power a niche remote-jobs vertical with a fresh feed and proper deduplication
- Re-publish remote opportunities tagged for a specific framework (`react`, `python`, `kubernetes`)
- Backfill an internal job database with historical remote postings

**Career Services & Coaching**
- Curate weekly remote-job digests for clients searching by category and job type
- Surface internships and entry-level roles for early-career students
- Build personalized alerts for freelance and contract opportunities

**Personal Job-Search Automation**
- Pipe new full-time postings in your specialty into Slack or email
- De-duplicate listings across multiple keyword searches into one clean spreadsheet
- Filter to part-time or freelance roles only when running a side-income search

### Getting Started

#### Quick Start — Browse Today's Listings

The simplest possible run — pull 100 fresh remote jobs across all categories:

```json
{
    "maxResults": 100
}
````

#### Filter by Category and Job Type

Software Development full-time roles only:

```json
{
    "categories": ["software-development"],
    "jobTypes": ["full-time"],
    "maxResults": 500
}
```

#### Multi-Filter Search with Keywords

Combine categories, multiple keywords, and job types — every combination is queried and the results merged by unique job ID:

```json
{
    "categories": ["software-development", "artificial-intelligence", "data"],
    "searchTerms": ["python", "kubernetes", "machine learning"],
    "jobTypes": ["full-time", "contract"],
    "includeDescription": true,
    "maxResults": 2000
}
```

#### Full-Catalog Dump (Single Category)

Set `maxResults: 0` to exhaust an entire category — useful for one-time market-research snapshots:

```json
{
    "categories": ["customer-service"],
    "includeDescription": false,
    "maxResults": 0
}
```

### Input Reference

#### Filters

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `categories` | string\[] | `[]` | Filter by job category. Leave empty to fetch jobs from all 30 categories. Each selected category triggers a separate query; results are unioned and deduplicated. |
| `searchTerms` | string\[] | `[]` | Free-text keywords like `python`, `react`, or `senior`. Each term is searched separately; results are unioned and deduplicated. Combine with categories to refine. |
| `jobTypes` | string\[] | `[]` | Filter by employment type. Empty = include all 11 types. |

#### Options

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `includeDescription` | boolean | `true` | Fetch the full HTML description body for each job. Disable to run faster and cheaper if you only need title, company, salary, location, and apply URL. |
| `maxResults` | integer | `1000` | Maximum total jobs to save. Set to `0` for unlimited (returns the entire filtered catalog — can be tens of thousands of jobs). |

#### Category and Job Type Values

Categories accept any of these slugs: `software-development`, `customer-service`, `design`, `marketing`, `sales`, `product`, `project-management`, `artificial-intelligence`, `data`, `devops`, `finance`, `human-resources`, `qa`, `writing`, `legal`, `medical`, `education`, `account-management`, `business-development`, `communications`, `compliance`, `engineering`, `information-technology`, `knowledge-management`, `operations`, `research`, `strategy`, `supply-chain`, `travel-hospitality`, `all-others`.

Job types accept any of: `full-time`, `contract`, `part-time`, `freelance`, `internship`, `temporary`, `casual`, `per-diem`, `volunteer`, `unspecified`, `other`.

### Output

Each result is a flat job record. Here's a representative row with `includeDescription: true`:

```json
{
    "jobId": "1899437",
    "title": "Senior Backend Engineer (Python)",
    "companyName": "Acme Remote",
    "companyLogo": "https://remotive.com/job/1899437/logo",
    "category": "software-development",
    "categoryName": "Software Development",
    "tags": ["python", "django", "postgresql", "aws"],
    "jobType": "full-time",
    "seniority": "senior",
    "location": "Worldwide",
    "salary": "$120,000 - $160,000 USD",
    "publicationDate": "2026-05-06T14:21:08Z",
    "discoveredOn": "2026-05-06T14:21:08Z",
    "scrapedAt": "2026-05-08T09:14:32Z",
    "url": "https://remotive.com/remote-jobs/software-dev/senior-backend-engineer-python-1899437",
    "description": "<p>We're hiring a senior backend engineer to join our distributed team...</p>"
}
```

#### Job Fields

| Field | Type | Description |
|-------|------|-------------|
| `jobId` | string | Unique Remotive job identifier |
| `title` | string | Job title as posted |
| `companyName` | string | Hiring company name |
| `companyLogo` | string | URL to the company's logo image |
| `category` | string | Category slug (e.g. `software-development`) |
| `categoryName` | string | Category display name (e.g. `Software Development`) |
| `tags` | string\[] | Skills and technology tags attached to the posting |
| `jobType` | string | Employment type (`full-time`, `contract`, `freelance`, etc.) |
| `seniority` | string | Seniority level when present, otherwise `unspecified` |
| `location` | string | Allowed locations, comma-joined (e.g. `Worldwide`, `USA, Canada`) |
| `salary` | string | Salary as posted, or `null` when not disclosed |
| `publicationDate` | string | ISO timestamp of when the job was first published |
| `discoveredOn` | string | ISO timestamp of when Remotive indexed the job |
| `scrapedAt` | string | ISO timestamp of when this row was extracted |
| `url` | string | Direct apply URL on Remotive |
| `description` | string | Full HTML description body — present only when `includeDescription` is on |

### Tips for Best Results

- **Toggle off descriptions for first-pass discovery.** Set `includeDescription: false` for fast catalog sweeps, then re-run on just the IDs you care about with descriptions on. The detail-fetch is the slow step — skipping it speeds runs ~50×.
- **Use multiple short `searchTerms` instead of one long string.** Each term is searched independently and results are unioned, so `["python", "fastapi", "django"]` casts a wider net than the single string `"python fastapi django"`.
- **Combine categories with searchTerms for the cleanest signal.** A `categories: ["data"]` + `searchTerms: ["sql"]` run finds data jobs that mention SQL — far more precise than searching SQL across all categories.
- **Set `maxResults: 0` only when you genuinely want the full catalog.** A single popular category like Customer Service can return 13,000+ rows; pair with `includeDescription: false` to keep cost predictable.
- **Schedule daily runs and dedupe by `jobId` downstream.** Remotive's `discoveredOn` lets you filter to "new since yesterday" without re-fetching the entire catalog.
- **Use `jobTypes: ["contract", "freelance"]`** when sourcing for short-term engagements — these two filters dramatically cut full-time roles out of the results.
- **Watch the per-page progress logs.** Every page logs `Retrieved page N (M results, T total).` so you can estimate run time and cost mid-execution.

### Pricing

**$2.00 per 1,000 results** — flat pay-per-result. No compute charges, no platform overhead surprises — you only pay for jobs that land in your dataset.

| Results | Estimated Cost |
|---------|----------------|
| 100 | $0.20 |
| 1,000 | $2.00 |
| 10,000 | $20.00 |
| 100,000 | $200.00 |

A "result" is any job row in the output dataset. Platform fees (storage, data transfer) are additional and depend on your Apify plan.

### Integrations

Export data in JSON, CSV, Excel, XML, or RSS. Connect to 1,500+ apps via:

- **Zapier** / **Make** / **n8n** — Workflow automation
- **Google Sheets** — Direct spreadsheet export
- **Slack** / **Email** — Notifications when new jobs hit your filters
- **Webhooks** — Trigger custom APIs on run completion
- **Apify API** — Full programmatic access

### Legal & Ethical Use

This actor is designed for legitimate recruitment, market research, and personal job-search use cases. Users are responsible for complying with applicable laws and Remotive's Terms of Service, including respectful request rates and any restrictions on republishing job content. Do not use extracted data for spam, harassment, or any illegal purpose. Be considerate of candidate and employer privacy when handling contact information surfaced through job postings.

# Actor input Schema

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

Filter by job category. Leave empty to fetch jobs from all 30 categories. Each selected category triggers a separate API call; results are unioned and deduplicated.

## `searchTerms` (type: `array`):

Free-text keywords like 'python', 'react', or 'senior'. Each term is queried separately; results are unioned and deduplicated. Combine with categories to refine.

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

Filter by employment type. Empty = include all types.

## `includeDescription` (type: `boolean`):

Fetch the full job description body for each result. Disable to run faster and cheaper if you only need title, company, salary, location, and apply URL.

## `maxResults` (type: `integer`):

Maximum total jobs to save. Set to 0 for unlimited (returns the entire filtered catalog — can be tens of thousands of jobs depending on your filters).

## Actor input object example

```json
{
  "categories": [],
  "searchTerms": [],
  "jobTypes": [],
  "includeDescription": false,
  "maxResults": 1000
}
```

# Actor output Schema

## `overview` (type: `string`):

Table of jobs with key fields like title, company, category, location, and apply URL.

## `details` (type: `string`):

Full per-job rows including description, tags, salary, and timestamps.

# 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 = {
    "categories": [],
    "searchTerms": [],
    "jobTypes": [],
    "includeDescription": false,
    "maxResults": 1000
};

// Run the Actor and wait for it to finish
const run = await client.actor("solidcode/remotive-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 = {
    "categories": [],
    "searchTerms": [],
    "jobTypes": [],
    "includeDescription": False,
    "maxResults": 1000,
}

# Run the Actor and wait for it to finish
run = client.actor("solidcode/remotive-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 '{
  "categories": [],
  "searchTerms": [],
  "jobTypes": [],
  "includeDescription": false,
  "maxResults": 1000
}' |
apify call solidcode/remotive-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Remotive Scraper",
        "description": "[💰 $2.0 / 1K]  Extract remote job listings from Remotive — titles, companies, salaries, tags, locations, descriptions, and apply URLs. Filter across 30 categories, keywords, and 6 job types.",
        "version": "1.0",
        "x-build-id": "mWcvKN9QHdlk29Vyj"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/solidcode~remotive-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-solidcode-remotive-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/solidcode~remotive-scraper/runs": {
            "post": {
                "operationId": "runs-sync-solidcode-remotive-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/solidcode~remotive-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-solidcode-remotive-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "categories": {
                        "title": "Categories",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Filter by job category. Leave empty to fetch jobs from all 30 categories. Each selected category triggers a separate API call; results are unioned and deduplicated.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "software-development",
                                "customer-service",
                                "design",
                                "marketing",
                                "sales",
                                "product",
                                "project-management",
                                "artificial-intelligence",
                                "data",
                                "devops",
                                "finance",
                                "human-resources",
                                "qa",
                                "writing",
                                "legal",
                                "medical",
                                "education",
                                "account-management",
                                "business-development",
                                "communications",
                                "compliance",
                                "engineering",
                                "information-technology",
                                "knowledge-management",
                                "operations",
                                "research",
                                "strategy",
                                "supply-chain",
                                "travel-hospitality",
                                "all-others"
                            ],
                            "enumTitles": [
                                "Software Development",
                                "Customer Service",
                                "Design",
                                "Marketing",
                                "Sales",
                                "Product Management",
                                "Project Management",
                                "Artificial Intelligence",
                                "Data and Analytics",
                                "DevOps",
                                "Finance",
                                "Human Resources",
                                "Quality Assurance",
                                "Writing",
                                "Legal",
                                "Medical",
                                "Teaching / Education",
                                "Account Management",
                                "Business Development",
                                "Communications",
                                "Compliance",
                                "Engineering",
                                "Information Technology",
                                "Knowledge Management",
                                "Operations",
                                "Research",
                                "Strategy",
                                "Supply Chain",
                                "Travel and Hospitality",
                                "All others"
                            ]
                        },
                        "default": []
                    },
                    "searchTerms": {
                        "title": "Search Keywords",
                        "type": "array",
                        "description": "Free-text keywords like 'python', 'react', or 'senior'. Each term is queried separately; results are unioned and deduplicated. Combine with categories to refine.",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "jobTypes": {
                        "title": "Job Types",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Filter by employment type. Empty = include all types.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "full-time",
                                "contract",
                                "part-time",
                                "freelance",
                                "internship",
                                "temporary",
                                "casual",
                                "per-diem",
                                "volunteer",
                                "unspecified",
                                "other"
                            ],
                            "enumTitles": [
                                "Full-time",
                                "Contract",
                                "Part-time",
                                "Freelance",
                                "Internship",
                                "Temporary",
                                "Casual",
                                "Per-diem",
                                "Volunteer",
                                "Unspecified",
                                "Other"
                            ]
                        },
                        "default": []
                    },
                    "includeDescription": {
                        "title": "Include Full Description",
                        "type": "boolean",
                        "description": "Fetch the full job description body for each result. Disable to run faster and cheaper if you only need title, company, salary, location, and apply URL.",
                        "default": false
                    },
                    "maxResults": {
                        "title": "Maximum Results",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum total jobs to save. Set to 0 for unlimited (returns the entire filtered catalog — can be tens of thousands of jobs depending on your filters).",
                        "default": 1000
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
