# Freelancer.com Scraper - Jobs, Freelancers, Contests & Profiles (`lentic_clockss/freelancer-scraper`) Actor

Collect public Freelancer.com project jobs, freelancer directory listings, contests, and public profiles. This thin Actor calls an authenticated Cloud Run worker.

- **URL**: https://apify.com/lentic\_clockss/freelancer-scraper.md
- **Developed by:** [kane liu](https://apify.com/lentic_clockss) (community)
- **Categories:** Travel, Automation, Developer tools
- **Stats:** 1 total users, 0 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.00 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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/docs.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.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/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

## Freelancer.com Scraper — Jobs, Projects, Freelancers, Contests & Profiles

**Scrape Freelancer.com freelance jobs, project listings, freelancer directory profiles, contests, and public user pages — then download structured results as Excel, CSV, or JSON.**

Use this Actor as a practical **Freelancer.com jobs API / freelance lead finder** for project monitoring, talent sourcing, pricing research, and market intelligence. Enter skills or keywords, pick a mode (`jobs`, `freelancers`, `contests`, or `profiles`), and get clean Dataset rows with titles, budgets / avg bids, bid counts, skills, profile URLs, and more.

- Scrape **Freelancer.com project jobs** by skill / keyword with path pagination
- Collect **freelancer directory** listings (rates, reviews, skills, locations)
- Pull **public contests** and **public `/u/{username}` profiles**
- Optionally enrich jobs with **project detail pages** or freelancers with **profile pages**
- Export to **Excel / CSV / JSON**, or connect Make, n8n, Zapier, Python, or the Apify API
- **Pay per event** — Actor start + each Dataset result; **platform usage is included** (you do not pay separate Apify compute on top)

> **Unofficial tool.** This Actor is not affiliated with, endorsed by, or sponsored by Freelancer Limited or Freelancer.com. It only collects publicly visible guest pages and does **not** place bids, hire freelancers, message users, or access private account data.

---

### What does the Freelancer.com Scraper do?

Freelancer.com Scraper lets you **extract structured freelance marketplace data** without running your own browser farm. Give it skills (for example `python`, `wordpress`, `graphic-design`), choose a collection mode, then start a run.

Under the hood, the Actor:

1. Validates your input (mode, skills, pages, enrichment flags)
2. Enforces free-tier caps when you are on a free Apify plan
3. Calls a managed Cloud Run worker that fetches public Freelancer.com HTML
4. Parses guest-visible cards and detail pages into normalized records
5. Pushes Dataset rows ready for Excel / CSV / JSON export
6. Writes `RUN_SUMMARY` (and `ERROR_SUMMARY` on failure) to the key-value store

You run it like any other Apify Actor — schedule it, call it from the API, or plug it into automations.

---

### What Freelancer.com data can I extract?

| Data | Jobs | Project detail* | Freelancers | Profiles* | Contests |
| --- | :---: | :---: | :---: | :---: | :---: |
| Title / display name | ✅ | ✅ | ✅ | ✅ | ✅ |
| Project / profile / contest URL | ✅ | ✅ | ✅ | ✅ | ✅ |
| Skills / tags | ✅ | — | ✅ | ✅ | — |
| Avg bid / hourly rate / budget | ✅ | ✅ | ✅ | ✅ | ✅ |
| Bid / review counts | ✅ | — | ✅ | ✅ | — |
| Days left / status / posted signals | ✅ | ✅ | — | — | — |
| Description (public guest text) | ✅ | ✅ | — | — | ✅ |
| Location / joined / portfolio signals | — | — | ✅ | ✅ | — |
| Username | — | — | ✅ | ✅ | — |

\*Enable `scrapeDetails` or `enrichProfiles` (with `maxDetailItems`) where needed. Login-only fields (full bid lists, private contacts) are out of scope.

---

### Why scrape Freelancer.com?

Freelancer.com is one of the largest global freelance marketplaces for projects, contests, and talent. Teams scrape Freelancer.com to:

- Find **new freelance jobs and projects** by skill for lead generation
- Track **budgets, average bids, and bid competition** for pricing research
- Source **freelancer profiles** with rates, reviews, and skills for recruiting
- Monitor **contests** and public profile signals for marketplace intelligence
- Feed AI agents, BI dashboards, or CRM enrichment pipelines with structured rows

Compared with job-only Freelancer scrapers, this Actor covers **jobs + freelancers + contests + profiles** in one input surface.

---

### How to scrape Freelancer.com (no code required)

1. Create a free [Apify](https://apify.com/) account
2. Open [Freelancer.com Scraper](https://apify.com/lentic_clockss/freelancer-scraper)
3. Choose a **mode**: `jobs`, `freelancers`, `contests`, or `profiles`
4. Enter **skills** (e.g. `python`) or **usernames** (profiles mode)
5. *(Optional)* Set `projectTypes` (`fixed` / `hourly`), `scrapeDetails`, or `enrichProfiles`
6. Click **Start** and download the Dataset as JSON, CSV, Excel, or JSONL

Start with `maxItems: 5–10` to verify the query, then scale up.

---

### How much does it cost to scrape Freelancer.com?

This Actor uses **pay-per-event** pricing. You are charged for:

| Event | Price |
| --- | --- |
| Actor Start (`apify-actor-start`) | **$0.005** per start |
| Result (`apify-default-dataset-item`) | **$3.00 / 1,000** results (**$0.003** each) |

**Platform usage costs are included** — you do **not** pay separate Apify compute/proxy usage for this Actor on top of the event prices above.

#### Example cost estimates

| Results collected | Approx. event cost* |
| --- | ---: |
| 100 | ~$0.31 |
| 1,000 | ~$3.01 |
| 10,000 | ~$30.01 |

\*Assumes one Actor start at default memory billing for start events, plus `$0.003` per Dataset item. Exact start billing can scale with allocated memory (one start event per GB, minimum one).

Free Apify trial credit can cover a small test run — try `maxItems: 5` first.

#### Free-tier caps (Actor developer limits)

| Cap | Value |
| --- | --- |
| Free Apify-plan runs of this Actor | **10** total |
| Free results / run | **500** |
| Paying Apify users | Unlimited runs (schema max still applies) |

These limits are enforced in Actor code (set by the Actor developer, not Apify). When the run cap is hit, the Actor finishes successfully with `RUN_SUMMARY.status = FREE_TIER_LIMIT` and a clear status message.

---

### Input

Open the **Input** tab for the full form. Common fields:

| Field | Description |
| --- | --- |
| `mode` | `jobs` (default), `freelancers`, `contests`, or `profiles` |
| `skills` | Skill / keyword phrases mapped to Freelancer.com search paths (also accepts worker alias `keywords`) |
| `maxPages` | Public result pages to visit (1–50, default 1) |
| `maxItems` | Maximum records to emit (1–500, default 20) |
| `projectTypes` | Optional filters such as `fixed` or `hourly` |
| `scrapeDetails` | Visit bounded public project / contest detail pages |
| `maxDetailItems` | Detail-page / profile enrichment cap (0–50, default 5) |
| `enrichProfiles` | Fetch additional public profile fields for directory hits |
| `usernames` | Public usernames for `profiles` mode |
| `workerBaseUrl` | Advanced allowlisted worker override (optional) |

#### Input example

```json
{
  "mode": "jobs",
  "skills": ["python", "automation"],
  "projectTypes": ["fixed"],
  "maxPages": 1,
  "maxItems": 20,
  "scrapeDetails": false
}
````

***

### Output

Each Dataset item includes a `recordType` (`job`, `project`, `freelancer`, `profile`, or `contest`) plus mode-specific fields. Typical fields:

| Field | Description |
| --- | --- |
| `title` | Project, contest, or freelancer headline |
| `projectUrl` / `profileUrl` / `contestUrl` | Canonical public URL |
| `skills` | Skill tags |
| `avgBid` / `hourlyRate` / `budget` / `budgetRange` | Pricing signals |
| `bidCount` / `reviewCount` / `score` | Competition / reputation signals |
| `daysLeft` / `status` / `postedAgo` / `endsIn` | Timing signals |
| `description` | Public guest-visible text when present |
| `username` / `location` / `joinedAt` | Identity / geo / tenure |
| `scrapedAt` | ISO timestamp when the row was stored |

Only records with a usable public identity (URL and/or username) are emitted.

***

### Coverage matrix

| Public surface | Mode | Filters / enrichment |
| --- | --- | --- |
| Project jobs across Freelancer.com | `jobs` | `skills`, `projectTypes`, pages, optional details |
| Freelancer directory | `freelancers` | `skills`, pages, optional profile enrichment |
| Public contests | `contests` | landing + public contest pages, optional details |
| Explicit public profiles | `profiles` | `usernames`, optional enrichment |

The worker follows the public global `www.freelancer.com` surface. It does **not** automate bidding, hiring, messaging, payments, or private inbox data.

***

### Architecture and proxy ownership

```text
Apify Actor (input, Dataset, free tier, Standby, PPE)
        │ HTTPS + WORKER_AUTH
        ▼
Cloud Run worker (public acquisition, parsing, proxy/egress)
        ▼
Freelancer.com public pages
```

`WORKER_PROVIDES_PROXY=1` is enabled by default. The Actor does not mint or transmit `proxyUrl`; proxy/egress is configured on the worker. Set `WORKER_BASE_URL` and secret `WORKER_AUTH` in Actor settings.

***

### Run artifacts

| Key | Purpose |
| --- | --- |
| `INPUT_ECHO` | Normalized non-secret input and resolved worker source |
| `RUN_SUMMARY` | Worker, proxy source, free-tier, and record metrics |
| `ERROR_SUMMARY` | Structured failure before valid records are emitted |

***

### Integrations & API

- Schedule recurring Freelancer.com job / talent pulls from Apify Console
- Call the Actor from Python, Node.js, or `curl` via the [Apify API](https://docs.apify.com/api/v2)
- Connect to Make, n8n, Zapier, Google Sheets, or your CRM

#### API example

```bash
curl -X POST "https://api.apify.com/v2/acts/lentic_clockss~freelancer-scraper/runs?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "mode": "jobs",
    "skills": ["wordpress"],
    "maxItems": 20,
    "maxPages": 1
  }'
```

***

### FAQ

#### Is login required?

No. The Actor collects publicly visible guest pages only.

#### Can it place bids or hire freelancers?

No. Bidding, hiring, messaging, and payment flows are intentionally excluded.

#### What is the difference between `jobs` and `freelancers`?

`jobs` collects project listings (titles, bids, budgets). `freelancers` collects directory talent cards (rates, reviews, skills). Use `profiles` when you already have usernames.

#### Why are some detail fields empty?

Guest pages expose a floor of public fields. Login-gated or delayed-hydration modules may be incomplete; enable enrichment flags for bounded detail fetches.

#### Do I pay Apify platform usage separately?

No for this Actor’s configured PPE plan — **User pays platform usage costs = No**. You pay the event prices above; platform usage is covered by the Actor developer.

***

### Legal & responsible use

Use this Actor only for lawful purposes and in line with Freelancer.com terms and applicable laws. You are responsible for how you store and use the data. Prefer low-volume smoke inputs first (`maxItems: 2–5`).

***

### Support

Questions or feature requests: open an issue on the Actor page in Apify Console or contact the developer through Apify.

# Actor input Schema

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

Choose public Freelancer.com projects, freelancer directory listings, contests, or explicit public profiles.

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

Optional skills or search phrases. The worker also accepts the alias `keywords`; use this field in Actor input.

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

Maximum public Freelancer.com result pages to visit.

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

Maximum public records to return (1–500). Free Apify plan users are limited to 10 total Actor runs and 500 results per run.

## `projectTypes` (type: `array`):

Optional Freelancer.com project-type filters, such as fixed or hourly.

## `scrapeDetails` (type: `boolean`):

Visit a bounded number of public project, contest, or profile detail pages. This is slower.

## `maxDetailItems` (type: `integer`):

Maximum detail pages to visit when detail scraping is enabled.

## `enrichProfiles` (type: `boolean`):

Fetch additional public profile fields when the selected mode returns profile links.

## `usernames` (type: `array`):

Public Freelancer.com usernames to collect in profiles mode.

## `workerBaseUrl` (type: `string`):

Override worker origin for this run. Default: Actor env WORKER\_BASE\_URL. Production migrations should update WORKER\_BASE\_URL in Actor settings (no code change).

## Actor input object example

```json
{
  "mode": "jobs",
  "skills": [],
  "maxPages": 1,
  "maxItems": 20,
  "projectTypes": [],
  "scrapeDetails": false,
  "maxDetailItems": 5,
  "enrichProfiles": false,
  "usernames": []
}
```

# Actor output Schema

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

Public project, freelancer, contest, and profile records.

## `runSummary` (type: `string`):

Worker, free-tier, and collection metrics.

## `inputEcho` (type: `string`):

Normalized non-secret input.

## `errorSummary` (type: `string`):

Present when a run cannot collect valid public records.

# 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 = {
    "skills": []
};

// Run the Actor and wait for it to finish
const run = await client.actor("lentic_clockss/freelancer-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 = { "skills": [] }

# Run the Actor and wait for it to finish
run = client.actor("lentic_clockss/freelancer-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 '{
  "skills": []
}' |
apify call lentic_clockss/freelancer-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Freelancer.com Scraper - Jobs, Freelancers, Contests & Profiles",
        "description": "Collect public Freelancer.com project jobs, freelancer directory listings, contests, and public profiles. This thin Actor calls an authenticated Cloud Run worker.",
        "version": "0.1",
        "x-build-id": "1No0gEm7SfkdNNRzg"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/lentic_clockss~freelancer-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-lentic_clockss-freelancer-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/lentic_clockss~freelancer-scraper/runs": {
            "post": {
                "operationId": "runs-sync-lentic_clockss-freelancer-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/lentic_clockss~freelancer-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-lentic_clockss-freelancer-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": {
                    "mode": {
                        "title": "Collection mode",
                        "enum": [
                            "jobs",
                            "freelancers",
                            "contests",
                            "profiles"
                        ],
                        "type": "string",
                        "description": "Choose public Freelancer.com projects, freelancer directory listings, contests, or explicit public profiles.",
                        "default": "jobs"
                    },
                    "skills": {
                        "title": "Skills or search keywords",
                        "maxItems": 10,
                        "type": "array",
                        "description": "Optional skills or search phrases. The worker also accepts the alias `keywords`; use this field in Actor input.",
                        "items": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 200
                        },
                        "default": []
                    },
                    "maxPages": {
                        "title": "Maximum pages",
                        "minimum": 1,
                        "maximum": 50,
                        "type": "integer",
                        "description": "Maximum public Freelancer.com result pages to visit.",
                        "default": 1
                    },
                    "maxItems": {
                        "title": "Maximum results",
                        "minimum": 1,
                        "maximum": 500,
                        "type": "integer",
                        "description": "Maximum public records to return (1–500). Free Apify plan users are limited to 10 total Actor runs and 500 results per run.",
                        "default": 20
                    },
                    "projectTypes": {
                        "title": "Project types",
                        "maxItems": 20,
                        "type": "array",
                        "description": "Optional Freelancer.com project-type filters, such as fixed or hourly.",
                        "items": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 100
                        },
                        "default": []
                    },
                    "scrapeDetails": {
                        "title": "Scrape detail pages",
                        "type": "boolean",
                        "description": "Visit a bounded number of public project, contest, or profile detail pages. This is slower.",
                        "default": false
                    },
                    "maxDetailItems": {
                        "title": "Maximum detail pages",
                        "minimum": 0,
                        "maximum": 50,
                        "type": "integer",
                        "description": "Maximum detail pages to visit when detail scraping is enabled.",
                        "default": 5
                    },
                    "enrichProfiles": {
                        "title": "Enrich profiles",
                        "type": "boolean",
                        "description": "Fetch additional public profile fields when the selected mode returns profile links.",
                        "default": false
                    },
                    "usernames": {
                        "title": "Profile usernames",
                        "maxItems": 50,
                        "type": "array",
                        "description": "Public Freelancer.com usernames to collect in profiles mode.",
                        "items": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 100
                        },
                        "default": []
                    },
                    "workerBaseUrl": {
                        "title": "Worker base URL (optional)",
                        "type": "string",
                        "description": "Override worker origin for this run. Default: Actor env WORKER_BASE_URL. Production migrations should update WORKER_BASE_URL in Actor settings (no code change)."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
