# Google Patents Scraper (`crawlerbros/google-patents-scraper`) Actor

Search Google Patents and pull full patent metadata: abstract, claims, classifications (CPC/IPC), inventors, assignees, priority/grant dates, family, citations, and PDFs. Search by keyword, inventor, assignee, classification, or citation; lookup by publication number or URL.

- **URL**: https://apify.com/crawlerbros/google-patents-scraper.md
- **Developed by:** [Crawler Bros](https://apify.com/crawlerbros) (community)
- **Categories:** Developer tools, Automation, Other
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 16 bookmarks
- **User rating**: 5.00 out of 5 stars

## 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.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

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

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Google Patents Scraper

Search Google Patents and pull complete patent records — title, abstract, claims, classifications (CPC/IPC), inventors, assignees, priority/grant dates, family jurisdictions, citation graph, and PDF link — all from the public Google Patents endpoints.

No login, no API key, no captcha-solving service required.

### What you can do

- **Search patents** by free-text query (same syntax as the [Google Patents](https://patents.google.com) site search).
- **Lookup a single patent** by publication number (e.g. `US11704715B2`, `EP3789012A1`, `WO2020012345A1`).
- **Search by inventor** name.
- **Search by assignee** / company.
- **Search by CPC or IPC classification** code (e.g. `H04L9/06`, `G06N3/00`).
- **Walk the citation graph** — list every patent a given patent cites (backward) and every patent that cites it (forward).
- **Fetch by URL** — paste any `patents.google.com` URL (search result, patent page).

### Output fields

Every record contains as many of these fields as Google Patents exposes for the patent:

| Field | Type | Description |
|---|---|---|
| `publicationNumber` | string | Canonical publication number (e.g. `US11704715B2`). |
| `country` | string | Filing-jurisdiction prefix (US, EP, WO, JP, ...). |
| `title` | string | Patent title. |
| `abstract` | string | Full abstract paragraph. |
| `description` | string | Specification text (truncated at 50k chars). |
| `claims` | string[] | Each claim as a separate string. |
| `claimCount` | integer | Number of claims. |
| `inventors` | string[] | All listed inventors. |
| `primaryInventor` | string | First listed inventor. |
| `assigneesOriginal` | string[] | Original assignees at filing. |
| `assigneesCurrent` | string[] | Current assignees after re-assignment. |
| `primaryAssignee` | string | First assignee. |
| `priorityDate` | string (YYYY-MM-DD) | Earliest priority date. |
| `filingDate` | string | |
| `publicationDate` | string | |
| `grantDate` | string | When granted. |
| `expirationDate` | string | When applicable. |
| `applicationNumber` | string | |
| `legalStatus` | string | Active / Expired / Pending — when shown. |
| `classifications` | string[] | CPC + IPC codes. |
| `backwardCitations` | object[] | Patents this one cites (publication number, title, dates, assignee). |
| `forwardCitations` | object[] | Patents citing this one. |
| `backwardCitationCount` | integer | |
| `forwardCitationCount` | integer | |
| `familyJurisdictions` | object[] | Per-country status of family members. |
| `language` | string | Language of the rendered metadata. |
| `pdfUrl` | string | Public Google Cloud Storage PDF URL. |
| `thumbnailUrl` | string | Front-page figure image URL. |
| `figureUrls` | string[] | All embedded figures (search-only). |
| `patentUrl` | string | Canonical `patents.google.com` URL. |
| `recordType` | string | `patent` or `citation`. |
| `siteName` | string | `Google Patents`. |
| `scrapedAt` | string (ISO-8601) | |

### Modes & input

| Mode | What it does | Required input |
|---|---|---|
| `searchPatents` | Free-text search across all of Google Patents. | `query` |
| `byPatent` | Fetch one patent (or many via `publicationNumbers`). | `publicationNumber` or `publicationNumbers` |
| `byInventor` | All patents naming a specific inventor. | `inventor` |
| `byAssignee` | All patents assigned to a company. | `assignee` |
| `byClassification` | All patents under a CPC / IPC code. | `classification` |
| `byCitation` | Forward and/or backward citations of a patent. | `publicationNumber`, `citationDirection` |
| `byUrl` | Fetch any `patents.google.com` URL. | `urls` |

#### Filters (all modes)

- `country` — restrict to a specific patent office (US, EP, WO, JP, CN, ...).
- `language` — translation locale for rendered metadata.
- `status` — granted only / applications only / any.
- `sortBy` — relevance / newest / oldest.
- `filingDateFrom`, `filingDateTo`, `publicationDateFrom`, `publicationDateTo` — YYYY-MM-DD bounds.
- `fetchFullDetails` — for search modes, also fetch each patent's full HTML for abstract/claims/citations (1 extra request per patent).
- `maxItems` — hard cap.
- `useProxy` / `proxyConfiguration` / `autoEscalateOnBlock` — proxy controls. Direct fetches usually work; the actor auto-escalates to Apify proxy if Google starts returning 403/429.

### Daily test prefill

`mode=searchPatents`, `query="quantum computing"`, `maxItems=10` — produces ≥10 records on every run.

### Reliability

- HTTP-only via `curl_cffi` (Chrome 131 fingerprint). No browser, no Playwright.
- Retries on 429/5xx with exponential backoff.
- Auto-escalates to Apify proxy on the first 403/429.
- Recursive omit-empty before every record push (no `null` / `""` / `[]` fields).

### FAQ

**Q: Does this scrape USPTO directly?**  
No — Google Patents already aggregates USPTO + EPO + WIPO + JPO + CNIPA + KIPO + 80+ other patent offices. Querying Google Patents is broader and faster.

**Q: How many patents can I get per run?**  
`maxItems` is capped at 1000. Beyond that, split into multiple runs with date-range filters.

**Q: Does `fetchFullDetails` slow things down?**  
Yes — adds ~1 second per patent. Leave it off if you only need the search snippet (title, dates, primary inventor/assignee, thumbnail).

**Q: PDF URLs — do they work directly?**  
Yes. Patent PDFs are public on `patentimages.storage.googleapis.com` with no auth or hotlinking restriction.

**Q: Citation traversal — recursive?**  
No, single hop. Provide one or more publication numbers, get their direct citations. Run again with the new IDs to walk further.

**Q: Why is my non-English query returning English results?**  
Google Patents detects query language automatically. Set `language=de` (or another) to bias the rendered metadata.

# Actor input Schema

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

Which lookup axis to use.
## `query` (type: `string`):

Free-text search query — same syntax as the Google Patents site search box.
## `publicationNumber` (type: `string`):

Patent publication number, e.g. US11704715B2, EP3789012A1, WO2020012345A1, CN101234567A. The actor accepts any country prefix supported by Google Patents.
## `publicationNumbers` (type: `array`):

Optional: list multiple publication numbers to fetch in one run (mode=byPatent) or to seed citation traversal (mode=byCitation).
## `inventor` (type: `string`):

Inventor name, e.g. "Geoffrey Hinton".
## `assignee` (type: `string`):

Assignee or applicant company, e.g. "Google", "Apple Inc", "IBM".
## `classification` (type: `string`):

CPC or IPC code, e.g. H04L9/06 or G06N3/00. The Google Patents site search uses CPC=... internally.
## `citationDirection` (type: `string`):

Which side of the citation graph to walk: backward (cited by this patent), forward (citing this patent), or both.
## `urls` (type: `array`):

Direct patents.google.com URLs (search results, patent pages, or inventor / assignee search URLs).
## `country` (type: `string`):

Restrict search modes to a specific patent office. (any) = no restriction.
## `language` (type: `string`):

Translate the returned patent metadata to this language when Google Patents has a translation available. Patent text is multilingual; this only affects the rendered locale.
## `status` (type: `string`):

Restrict results by legal status of the family.
## `sortBy` (type: `string`):

Sort order for search modes.
## `filingDateFrom` (type: `string`):

Drop patents filed before this date.
## `filingDateTo` (type: `string`):

Drop patents filed after this date.
## `publicationDateFrom` (type: `string`):

Drop patents published before this date.
## `publicationDateTo` (type: `string`):

Drop patents published after this date.
## `fetchFullDetails` (type: `boolean`):

For search modes (searchPatents, byInventor, byAssignee, byClassification): also fetch each patent's full HTML page for abstract, claims, classifications, citations. Adds 1 HTTP request per patent.
## `maxItems` (type: `integer`):

Hard cap on emitted records.
## `useProxy` (type: `boolean`):

Route requests through Apify proxy. Google Patents is generally accessible without a proxy; enable only if direct fetches return 429 / 403.
## `autoEscalateOnBlock` (type: `boolean`):

If direct fetches start returning 403 / 429, automatically retry through Apify proxy.
## `proxyConfiguration` (type: `object`):

Apify proxy configuration. Used when useProxy is enabled or auto-escalation triggers.

## Actor input object example

```json
{
  "mode": "searchPatents",
  "query": "quantum computing",
  "publicationNumber": "US11704715B2",
  "publicationNumbers": [],
  "inventor": "",
  "assignee": "",
  "classification": "",
  "citationDirection": "both",
  "urls": [],
  "country": "",
  "language": "en",
  "status": "",
  "sortBy": "relevance",
  "filingDateFrom": "",
  "filingDateTo": "",
  "publicationDateFrom": "",
  "publicationDateTo": "",
  "fetchFullDetails": false,
  "maxItems": 10,
  "useProxy": false,
  "autoEscalateOnBlock": true,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": []
  }
}
````

# Actor output Schema

## `records` (type: `string`):

Dataset containing all scraped patents.

# 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 = {
    "mode": "searchPatents",
    "query": "quantum computing",
    "publicationNumber": "US11704715B2",
    "publicationNumbers": [],
    "inventor": "",
    "assignee": "",
    "classification": "",
    "citationDirection": "both",
    "urls": [],
    "country": "",
    "language": "en",
    "status": "",
    "sortBy": "relevance",
    "fetchFullDetails": false,
    "maxItems": 10,
    "useProxy": false,
    "autoEscalateOnBlock": true,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": []
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("crawlerbros/google-patents-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 = {
    "mode": "searchPatents",
    "query": "quantum computing",
    "publicationNumber": "US11704715B2",
    "publicationNumbers": [],
    "inventor": "",
    "assignee": "",
    "classification": "",
    "citationDirection": "both",
    "urls": [],
    "country": "",
    "language": "en",
    "status": "",
    "sortBy": "relevance",
    "fetchFullDetails": False,
    "maxItems": 10,
    "useProxy": False,
    "autoEscalateOnBlock": True,
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": [],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("crawlerbros/google-patents-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 '{
  "mode": "searchPatents",
  "query": "quantum computing",
  "publicationNumber": "US11704715B2",
  "publicationNumbers": [],
  "inventor": "",
  "assignee": "",
  "classification": "",
  "citationDirection": "both",
  "urls": [],
  "country": "",
  "language": "en",
  "status": "",
  "sortBy": "relevance",
  "fetchFullDetails": false,
  "maxItems": 10,
  "useProxy": false,
  "autoEscalateOnBlock": true,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": []
  }
}' |
apify call crawlerbros/google-patents-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Google Patents Scraper",
        "description": "Search Google Patents and pull full patent metadata: abstract, claims, classifications (CPC/IPC), inventors, assignees, priority/grant dates, family, citations, and PDFs. Search by keyword, inventor, assignee, classification, or citation; lookup by publication number or URL.",
        "version": "1.0",
        "x-build-id": "CK2139c6caxTRTVbr"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/crawlerbros~google-patents-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-crawlerbros-google-patents-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/crawlerbros~google-patents-scraper/runs": {
            "post": {
                "operationId": "runs-sync-crawlerbros-google-patents-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/crawlerbros~google-patents-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-crawlerbros-google-patents-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "mode"
                ],
                "properties": {
                    "mode": {
                        "title": "Mode",
                        "enum": [
                            "searchPatents",
                            "byPatent",
                            "byInventor",
                            "byAssignee",
                            "byClassification",
                            "byCitation",
                            "byUrl"
                        ],
                        "type": "string",
                        "description": "Which lookup axis to use.",
                        "default": "searchPatents"
                    },
                    "query": {
                        "title": "Query (mode=searchPatents)",
                        "type": "string",
                        "description": "Free-text search query — same syntax as the Google Patents site search box.",
                        "default": "quantum computing"
                    },
                    "publicationNumber": {
                        "title": "Publication number (mode=byPatent)",
                        "type": "string",
                        "description": "Patent publication number, e.g. US11704715B2, EP3789012A1, WO2020012345A1, CN101234567A. The actor accepts any country prefix supported by Google Patents.",
                        "default": ""
                    },
                    "publicationNumbers": {
                        "title": "Publication numbers (batch — mode=byPatent or mode=byCitation)",
                        "type": "array",
                        "description": "Optional: list multiple publication numbers to fetch in one run (mode=byPatent) or to seed citation traversal (mode=byCitation).",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "inventor": {
                        "title": "Inventor (mode=byInventor)",
                        "type": "string",
                        "description": "Inventor name, e.g. \"Geoffrey Hinton\".",
                        "default": ""
                    },
                    "assignee": {
                        "title": "Assignee / Company (mode=byAssignee)",
                        "type": "string",
                        "description": "Assignee or applicant company, e.g. \"Google\", \"Apple Inc\", \"IBM\".",
                        "default": ""
                    },
                    "classification": {
                        "title": "Classification code (mode=byClassification)",
                        "type": "string",
                        "description": "CPC or IPC code, e.g. H04L9/06 or G06N3/00. The Google Patents site search uses CPC=... internally.",
                        "default": ""
                    },
                    "citationDirection": {
                        "title": "Citation direction (mode=byCitation)",
                        "enum": [
                            "backward",
                            "forward",
                            "both"
                        ],
                        "type": "string",
                        "description": "Which side of the citation graph to walk: backward (cited by this patent), forward (citing this patent), or both.",
                        "default": "both"
                    },
                    "urls": {
                        "title": "Patent URLs (mode=byUrl)",
                        "type": "array",
                        "description": "Direct patents.google.com URLs (search results, patent pages, or inventor / assignee search URLs).",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "country": {
                        "title": "Filing-jurisdiction filter",
                        "enum": [
                            "",
                            "US",
                            "EP",
                            "WO",
                            "JP",
                            "CN",
                            "KR",
                            "DE",
                            "GB",
                            "FR",
                            "CA",
                            "AU",
                            "IN",
                            "BR",
                            "RU",
                            "ES",
                            "IT",
                            "NL",
                            "AT",
                            "BE",
                            "CH",
                            "SE",
                            "DK",
                            "FI",
                            "NO",
                            "PL",
                            "PT",
                            "TW",
                            "MX",
                            "AR",
                            "ZA"
                        ],
                        "type": "string",
                        "description": "Restrict search modes to a specific patent office. (any) = no restriction.",
                        "default": ""
                    },
                    "language": {
                        "title": "Result language",
                        "enum": [
                            "en",
                            "de",
                            "fr",
                            "es",
                            "ja",
                            "ko",
                            "zh",
                            "ru",
                            "pt",
                            "it"
                        ],
                        "type": "string",
                        "description": "Translate the returned patent metadata to this language when Google Patents has a translation available. Patent text is multilingual; this only affects the rendered locale.",
                        "default": "en"
                    },
                    "status": {
                        "title": "Status filter",
                        "enum": [
                            "",
                            "GRANT",
                            "APPLICATION"
                        ],
                        "type": "string",
                        "description": "Restrict results by legal status of the family.",
                        "default": ""
                    },
                    "sortBy": {
                        "title": "Sort order",
                        "enum": [
                            "relevance",
                            "new",
                            "old"
                        ],
                        "type": "string",
                        "description": "Sort order for search modes.",
                        "default": "relevance"
                    },
                    "filingDateFrom": {
                        "title": "Filing date — from (YYYY-MM-DD)",
                        "type": "string",
                        "description": "Drop patents filed before this date.",
                        "default": ""
                    },
                    "filingDateTo": {
                        "title": "Filing date — to (YYYY-MM-DD)",
                        "type": "string",
                        "description": "Drop patents filed after this date.",
                        "default": ""
                    },
                    "publicationDateFrom": {
                        "title": "Publication date — from (YYYY-MM-DD)",
                        "type": "string",
                        "description": "Drop patents published before this date.",
                        "default": ""
                    },
                    "publicationDateTo": {
                        "title": "Publication date — to (YYYY-MM-DD)",
                        "type": "string",
                        "description": "Drop patents published after this date.",
                        "default": ""
                    },
                    "fetchFullDetails": {
                        "title": "Fetch full patent details",
                        "type": "boolean",
                        "description": "For search modes (searchPatents, byInventor, byAssignee, byClassification): also fetch each patent's full HTML page for abstract, claims, classifications, citations. Adds 1 HTTP request per patent.",
                        "default": false
                    },
                    "maxItems": {
                        "title": "Max items",
                        "minimum": 1,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Hard cap on emitted records.",
                        "default": 25
                    },
                    "useProxy": {
                        "title": "Use Apify proxy",
                        "type": "boolean",
                        "description": "Route requests through Apify proxy. Google Patents is generally accessible without a proxy; enable only if direct fetches return 429 / 403.",
                        "default": false
                    },
                    "autoEscalateOnBlock": {
                        "title": "Auto-escalate on block",
                        "type": "boolean",
                        "description": "If direct fetches start returning 403 / 429, automatically retry through Apify proxy.",
                        "default": true
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Apify proxy configuration. Used when useProxy is enabled or auto-escalation triggers.",
                        "default": {
                            "useApifyProxy": true,
                            "apifyProxyGroups": []
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
