# ClinicalTrials.gov Study Crawler (`jungle_synthesizer/clinicaltrials-gov-crawler`) Actor

Crawl 500K+ clinical trial records from ClinicalTrials.gov via the v2 API. Extract study details, conditions, interventions, sponsors, phases, enrollment, eligibility, outcomes, and locations. Filter by condition, intervention, sponsor, phase, status, and study type.

- **URL**: https://apify.com/jungle\_synthesizer/clinicaltrials-gov-crawler.md
- **Developed by:** [BowTiedRaccoon](https://apify.com/jungle_synthesizer) (community)
- **Categories:** Business, Other, Lead generation
- **Stats:** 1 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per event

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

## ClinicalTrials.gov Clinical Study Data Crawler

Extract structured clinical trial records from [ClinicalTrials.gov](https://clinicaltrials.gov) via the official v2 REST API. The database covers 500K+ studies — conditions, interventions, sponsors, phases, enrollment figures, eligibility criteria, outcomes, and study locations with contact details.

### ClinicalTrials.gov Crawler Features

- Filters by condition or disease, intervention name, lead sponsor, trial phase, study status, study type, and general keyword — combine any of them
- Fetches 1,000 records per API call using cursor-based pagination, so large result sets do not require hundreds of round trips
- Covers all 8 study statuses: RECRUITING, COMPLETED, ACTIVE_NOT_RECRUITING, SUSPENDED, TERMINATED, and more
- Covers all trial phases from Early Phase 1 through Phase 4, plus Not Applicable
- Extracts 25+ fields per study including full eligibility criteria text and per-location contact information
- Queries the official v2 JSON API — no HTML parsing, no fragile selectors
- Requires no authentication and no proxy — ClinicalTrials.gov is a U.S. government service
- Rate-limited to ~7.7 requests per second, comfortably under the documented 10/sec ceiling

### Who Uses ClinicalTrials.gov Data and Why?

- **Pharma and biotech researchers** — track competitor trials, map pipeline activity by indication, and monitor phase progression across therapeutic areas
- **Clinical research organizations** — identify actively recruiting trials by condition and geography to support site selection and patient referral
- **Investment analysts** — map development pipelines for biotech companies by pulling every active or completed study tied to a specific sponsor
- **Patient advocates** — find open recruiting studies for a given condition, filtered by geography and eligibility parameters
- **Academic epidemiologists** — analyze enrollment trends, study design patterns, and outcome measures across thousands of trials at once

### How ClinicalTrials.gov Crawler Works

1. You provide at least one filter: a condition name, an intervention, a sponsor, a phase, a status, a study type, or a free-text keyword. Combining multiple filters is supported.
2. The crawler builds a query against the ClinicalTrials.gov v2 API and fetches the first page of up to 1,000 results.
3. It follows the `nextPageToken` cursor through subsequent pages until it reaches your `maxItems` limit or exhausts the result set.
4. Each API response is transformed into a flat, structured record and saved to the Apify dataset.

### Input

#### Basic: recruiting breast cancer trials in Phase 3

```json
{
    "condition": "breast cancer",
    "phase": "PHASE3",
    "studyStatus": ["RECRUITING"],
    "maxItems": 500
}
````

#### Sponsor pipeline lookup

```json
{
    "sponsor": "Pfizer",
    "studyType": "INTERVENTIONAL",
    "maxItems": 200
}
```

#### Intervention-specific search

```json
{
    "intervention": "pembrolizumab",
    "studyStatus": ["COMPLETED"],
    "maxItems": 100
}
```

#### Input Parameters

| Field | Type | Default | Description |
|-------|------|---------|-------------|
| condition | string | `""` | Condition or disease being studied (e.g. "breast cancer", "Alzheimer", "Type 2 Diabetes"). |
| intervention | string | `""` | Intervention name (e.g. "pembrolizumab", "radiation therapy"). Matches drug names, devices, and procedures. |
| sponsor | string | `""` | Lead sponsor name (e.g. "Pfizer", "National Cancer Institute"). Partial match supported. |
| phase | string | `""` | Trial phase. Options: `EARLY_PHASE1`, `PHASE1`, `PHASE2`, `PHASE3`, `PHASE4`, `NA`. Leave empty for all phases. |
| studyStatus | string\[] | `[]` | One or more statuses: `RECRUITING`, `ACTIVE_NOT_RECRUITING`, `COMPLETED`, `ENROLLING_BY_INVITATION`, `NOT_YET_RECRUITING`, `SUSPENDED`, `TERMINATED`, `WITHDRAWN`. |
| studyType | string | `""` | Study type. Options: `INTERVENTIONAL`, `OBSERVATIONAL`, `EXPANDED_ACCESS`. Leave empty for all. |
| keyword | string | `""` | General keyword search across all study fields. Use for broad or exploratory queries. |
| maxItems | integer | `200` | Maximum records to return. Set to `0` for unlimited — requires at least one filter when doing so. |
| proxyConfiguration | object | disabled | Proxy settings. Not required — ClinicalTrials.gov does not have anti-bot measures. |

### ClinicalTrials.gov Crawler Output Fields

```json
{
    "nct_id": "NCT02625935",
    "study_title": "A Prospective Observational Study Evaluating Treatment Decision Impact of Prosigna",
    "brief_summary": "This study evaluates whether the Prosigna assay changes treatment decisions for early-stage breast cancer patients...",
    "study_status": "COMPLETED",
    "phase": "PHASE3",
    "study_type": "OBSERVATIONAL",
    "conditions": ["Breast Cancer"],
    "interventions": ["Prosigna Breast Cancer Prognostic Gene Signature Assay"],
    "intervention_types": ["DIAGNOSTIC_TEST"],
    "lead_sponsor": "NanoString Technologies, Inc.",
    "lead_sponsor_type": "INDUSTRY",
    "collaborators": ["American Society of Clinical Oncology"],
    "enrollment_count": 201,
    "enrollment_type": "ACTUAL",
    "start_date": "2015-10",
    "primary_completion_date": "2017-06",
    "completion_date": "2017-06",
    "primary_outcome": "Change in treatment recommendation (12 months)",
    "secondary_outcomes": [
        "Patient anxiety levels (6 months)",
        "Physician confidence in treatment decision (12 months)"
    ],
    "eligibility_criteria": "Inclusion Criteria:\n- Female\n- Diagnosed with early-stage, hormone receptor-positive breast cancer...\n\nExclusion Criteria:\n- Prior chemotherapy...",
    "min_age": "18 Years",
    "max_age": "",
    "sex": "FEMALE",
    "locations": [
        {
            "facility": "Memorial Sloan Kettering Cancer Center",
            "city": "New York",
            "state": "New York",
            "country": "United States",
            "zip": "10065",
            "contact_name": "Dr. Jane Smith",
            "contact_phone": "212-555-0100",
            "contact_email": "smith@mskcc.org"
        }
    ],
    "has_results": true,
    "results_first_posted": "2018-03-15",
    "last_update_posted": "2023-01-10",
    "study_url": "https://clinicaltrials.gov/study/NCT02625935"
}
```

| Field | Type | Description |
|-------|------|-------------|
| nct\_id | string | ClinicalTrials.gov identifier (e.g. NCT00000001) |
| study\_title | string | Official study title |
| brief\_summary | string | Brief summary of the study purpose and design |
| study\_status | string | Overall study status: RECRUITING, COMPLETED, ACTIVE\_NOT\_RECRUITING, etc. |
| phase | string | Trial phase: PHASE1, PHASE2, PHASE3, PHASE4, EARLY\_PHASE1, NA |
| study\_type | string | Study type: INTERVENTIONAL, OBSERVATIONAL, EXPANDED\_ACCESS |
| conditions | string\[] | Conditions or diseases being studied |
| interventions | string\[] | Intervention names: drugs, devices, procedures |
| intervention\_types | string\[] | Intervention types: DRUG, DEVICE, BIOLOGICAL, PROCEDURE, DIAGNOSTIC\_TEST |
| lead\_sponsor | string | Lead sponsor organization name |
| lead\_sponsor\_type | string | Sponsor class: INDUSTRY, NIH, OTHER, NETWORK |
| collaborators | string\[] | Collaborating organizations |
| enrollment\_count | number | Participant count — enrolled or estimated |
| enrollment\_type | string | Whether the enrollment count is ACTUAL or ESTIMATED |
| start\_date | string | Study start date |
| primary\_completion\_date | string | Date of last participant's last visit for the primary outcome |
| completion\_date | string | Full study completion date |
| primary\_outcome | string | Primary outcome measure with time frame |
| secondary\_outcomes | string\[] | Secondary outcome measures with time frames |
| eligibility\_criteria | string | Full inclusion and exclusion criteria text |
| min\_age | string | Minimum eligible age |
| max\_age | string | Maximum eligible age (empty string if no upper limit) |
| sex | string | Eligible sex: ALL, MALE, FEMALE |
| locations | object\[] | Study sites — facility, city, state, country, zip, and contact details |
| has\_results | boolean | Whether results have been posted to ClinicalTrials.gov |
| results\_first\_posted | string | Date results were first posted |
| last\_update\_posted | string | Date of the most recent record update |
| study\_url | string | Direct URL to the study page on ClinicalTrials.gov |

### FAQ

**How many clinical trials does ClinicalTrials.gov Crawler cover?**
ClinicalTrials.gov Crawler queries the full ClinicalTrials.gov database — over 500,000 registered studies from all countries. If a study was registered there, the crawler can reach it.

**Do I need proxies or an API key to run this?**
No. ClinicalTrials.gov is a public U.S. government service maintained by the National Library of Medicine. The API requires no authentication and no proxy. The crawler ships with proxies disabled by default.

**Can I run a bulk export without filters?**
Not with `maxItems` set to `0`. An unlimited run with no filters would queue the entire 500K+ record database, which is rarely what anyone actually needs. Provide at least one filter — condition, sponsor, phase, status, or study type — when running unlimited. With filters, unlimited runs are fine.

**How current is the data?**
ClinicalTrials.gov Crawler reads from the live API. Sponsors are required to update their registrations regularly, and the `last_update_posted` field on each record shows when that specific study was last modified. The crawler does not cache anything.

**What is the difference between `studyStatus` and `studyType`?**
ClinicalTrials.gov Crawler treats them as separate axes. Status describes where a study is in its lifecycle — RECRUITING, COMPLETED, SUSPENDED, etc. Type describes the study design — INTERVENTIONAL (a drug or device being tested), OBSERVATIONAL (no assigned intervention), or EXPANDED\_ACCESS. Both filters can be applied at the same time.

### Need More Features?

Need additional fields, a different data source, or a scheduled run? [Get in touch](https://console.apify.com/actors/issues).

### Why Use ClinicalTrials.gov Crawler?

- **Official API, not HTML scraping** — the crawler reads the ClinicalTrials.gov v2 JSON endpoints directly, so field names and data structure match what the NLM publishes, not what a selector happened to grab last Tuesday
- **25+ fields per study, including contact data** — each location record carries facility name, address, and primary contact information, which matters when the goal is outreach rather than just counting trials
- **No proxy cost, no authentication overhead** — government data, open access; the crawler's per-record cost reflects actual compute, not unnecessary infrastructure

# Actor input Schema

## `sp_intended_usage` (type: `string`):

Please describe how you plan to use the data extracted by this crawler.

## `sp_improvement_suggestions` (type: `string`):

Provide any feedback or suggestions for improvements.

## `sp_contact` (type: `string`):

Provide your email address so we can get in touch with you.

## `condition` (type: `string`):

Search by condition or disease being studied (e.g. 'breast cancer', 'diabetes', 'Alzheimer'). Leave empty for all conditions.

## `intervention` (type: `string`):

Search by intervention name (e.g. 'pembrolizumab', 'radiation therapy'). Leave empty for all.

## `sponsor` (type: `string`):

Filter by lead sponsor name (e.g. 'Pfizer', 'National Cancer Institute'). Leave empty for all.

## `phase` (type: `string`):

Filter by clinical trial phase.

## `studyStatus` (type: `array`):

Filter by study status. Select one or more.

## `studyType` (type: `string`):

Filter by study type.

## `keyword` (type: `string`):

General keyword search across all study fields. Use this for broad searches.

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

Maximum number of clinical study records to return. Set to 0 for unlimited.

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

Select proxies. ClinicalTrials.gov is a government service and typically does not require proxies.

## Actor input object example

```json
{
  "sp_intended_usage": "Describe your intended use...",
  "sp_improvement_suggestions": "Share your suggestions here...",
  "sp_contact": "Share your email here...",
  "studyStatus": [],
  "maxItems": 200,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `results` (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 = {
    "sp_intended_usage": "Describe your intended use...",
    "sp_improvement_suggestions": "Share your suggestions here...",
    "sp_contact": "Share your email here...",
    "condition": "",
    "intervention": "",
    "sponsor": "",
    "phase": "",
    "studyStatus": [],
    "studyType": "",
    "keyword": "",
    "maxItems": 200,
    "proxyConfiguration": {
        "useApifyProxy": false
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("jungle_synthesizer/clinicaltrials-gov-crawler").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 = {
    "sp_intended_usage": "Describe your intended use...",
    "sp_improvement_suggestions": "Share your suggestions here...",
    "sp_contact": "Share your email here...",
    "condition": "",
    "intervention": "",
    "sponsor": "",
    "phase": "",
    "studyStatus": [],
    "studyType": "",
    "keyword": "",
    "maxItems": 200,
    "proxyConfiguration": { "useApifyProxy": False },
}

# Run the Actor and wait for it to finish
run = client.actor("jungle_synthesizer/clinicaltrials-gov-crawler").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 '{
  "sp_intended_usage": "Describe your intended use...",
  "sp_improvement_suggestions": "Share your suggestions here...",
  "sp_contact": "Share your email here...",
  "condition": "",
  "intervention": "",
  "sponsor": "",
  "phase": "",
  "studyStatus": [],
  "studyType": "",
  "keyword": "",
  "maxItems": 200,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}' |
apify call jungle_synthesizer/clinicaltrials-gov-crawler --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "ClinicalTrials.gov Study Crawler",
        "description": "Crawl 500K+ clinical trial records from ClinicalTrials.gov via the v2 API. Extract study details, conditions, interventions, sponsors, phases, enrollment, eligibility, outcomes, and locations. Filter by condition, intervention, sponsor, phase, status, and study type.",
        "version": "1.0",
        "x-build-id": "Fkim24Kh0enLdglIO"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/jungle_synthesizer~clinicaltrials-gov-crawler/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-jungle_synthesizer-clinicaltrials-gov-crawler",
                "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/jungle_synthesizer~clinicaltrials-gov-crawler/runs": {
            "post": {
                "operationId": "runs-sync-jungle_synthesizer-clinicaltrials-gov-crawler",
                "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/jungle_synthesizer~clinicaltrials-gov-crawler/run-sync": {
            "post": {
                "operationId": "run-sync-jungle_synthesizer-clinicaltrials-gov-crawler",
                "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": [
                    "sp_intended_usage",
                    "sp_improvement_suggestions"
                ],
                "properties": {
                    "sp_intended_usage": {
                        "title": "What is the intended usage of this data?",
                        "minLength": 1,
                        "type": "string",
                        "description": "Please describe how you plan to use the data extracted by this crawler."
                    },
                    "sp_improvement_suggestions": {
                        "title": "How can we improve this crawler for you?",
                        "minLength": 1,
                        "type": "string",
                        "description": "Provide any feedback or suggestions for improvements."
                    },
                    "sp_contact": {
                        "title": "Contact Email",
                        "minLength": 1,
                        "type": "string",
                        "description": "Provide your email address so we can get in touch with you."
                    },
                    "condition": {
                        "title": "Condition / Disease",
                        "type": "string",
                        "description": "Search by condition or disease being studied (e.g. 'breast cancer', 'diabetes', 'Alzheimer'). Leave empty for all conditions."
                    },
                    "intervention": {
                        "title": "Intervention / Treatment",
                        "type": "string",
                        "description": "Search by intervention name (e.g. 'pembrolizumab', 'radiation therapy'). Leave empty for all."
                    },
                    "sponsor": {
                        "title": "Sponsor / Funder",
                        "type": "string",
                        "description": "Filter by lead sponsor name (e.g. 'Pfizer', 'National Cancer Institute'). Leave empty for all."
                    },
                    "phase": {
                        "title": "Study Phase",
                        "enum": [
                            "",
                            "EARLY_PHASE1",
                            "PHASE1",
                            "PHASE2",
                            "PHASE3",
                            "PHASE4",
                            "NA"
                        ],
                        "type": "string",
                        "description": "Filter by clinical trial phase."
                    },
                    "studyStatus": {
                        "title": "Study Status",
                        "type": "array",
                        "description": "Filter by study status. Select one or more.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "RECRUITING",
                                "ACTIVE_NOT_RECRUITING",
                                "COMPLETED",
                                "ENROLLING_BY_INVITATION",
                                "NOT_YET_RECRUITING",
                                "SUSPENDED",
                                "TERMINATED",
                                "WITHDRAWN"
                            ],
                            "enumTitles": [
                                "Recruiting",
                                "Active, Not Recruiting",
                                "Completed",
                                "Enrolling by Invitation",
                                "Not Yet Recruiting",
                                "Suspended",
                                "Terminated",
                                "Withdrawn"
                            ]
                        }
                    },
                    "studyType": {
                        "title": "Study Type",
                        "enum": [
                            "",
                            "INTERVENTIONAL",
                            "OBSERVATIONAL",
                            "EXPANDED_ACCESS"
                        ],
                        "type": "string",
                        "description": "Filter by study type."
                    },
                    "keyword": {
                        "title": "General Keyword",
                        "type": "string",
                        "description": "General keyword search across all study fields. Use this for broad searches."
                    },
                    "maxItems": {
                        "title": "Max Items",
                        "type": "integer",
                        "description": "Maximum number of clinical study records to return. Set to 0 for unlimited.",
                        "default": 200
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Select proxies. ClinicalTrials.gov is a government service and typically does not require proxies."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
