# Patent & IP Filing Monitor (`vamsi-krishna/patent-ip-filing-monitor`) Actor

Recurring USPTO patent monitoring for assignees, inventors, keywords, and CPC classifications with relevance scoring and alert-ready output.

- **URL**: https://apify.com/vamsi-krishna/patent-ip-filing-monitor.md
- **Developed by:** [Vamsi Krishna](https://apify.com/vamsi-krishna) (community)
- **Categories:** Automation, Developer tools, AI
- **Stats:** 2 total users, 1 monthly users, 57.1% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.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 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

## Patent & IP Filing Monitor

**Know when competitors, clients, or technology areas file new USPTO patents — before you hear it elsewhere.**

Stop manually checking USPTO. Set watchlists for companies, inventors, keywords, and patent classes. Get **scored, alert-ready results** you can feed into email, Slack, dashboards, or your IP workflow.

[**Run on Apify →**](https://console.apify.com/actors/OrDaBmcaxmipfruXf) · [**Try it free (Demo mode)**](https://console.apify.com/actors/OrDaBmcaxmipfruXf) — no USPTO account required

---

### Who this is for

| You are… | You get… |
|----------|----------|
| **IP & patent counsel** | Early notice of filings and grants that match your clients or matter keywords |
| **In-house R&D / IP** | Visibility into what rivals and partners are patenting in your space |
| **Competitive intelligence** | Structured competitor watchlists with risk scoring |
| **Investors & corporate dev** | Signals on technology bets (CPC classes, keywords, assignees) |
| **Legal ops & innovation teams** | Exportable records for review — JSON or CSV |

---

### Why teams use it

- **One place for USPTO monitoring** — applications and grants, not scattered manual searches  
- **Relevance scoring (0–100)** — focus on what matters; filter noise with a minimum score  
- **Risk levels** — highlight competitor filings and high-impact matches  
- **Built for alerts** — each row includes a one-line summary, match reasons, and a stable ID for deduplication  
- **“What’s new since last week?”** — scheduled runs flag patents you haven’t seen before  
- **Try before you commit** — Demo mode runs with realistic sample data; no API key signup  
- **Your data, your key** — live USPTO search uses **your own free** USPTO Open Data Portal key (we never share one publisher key across customers)

---

### How it works

1. **Define what to watch** — company names, competitors, inventors, keywords, or CPC/IPC classes (pick at least one).  
2. **Run once or on a schedule** — daily, weekly, or monthly monitoring.  
3. **Review scored results** — title, assignee, dates, status, relevance, risk, and a ready-made alert line.  
4. **Act** — export CSV, connect a webhook to Slack/email/Zapier, or pipe the dataset into your tools.

**Live USPTO data:** Add your free API key from [data.uspto.gov](https://data.uspto.gov) (USPTO.gov + ID.me).  
**Just exploring?** Leave **Demo mode** on — sample patents, zero USPTO signup.

---

### Get started in 2 minutes

1. Open the Actor in [Apify Console](https://console.apify.com/actors/OrDaBmcaxmipfruXf).  
2. Click **Try it** or **Start** (Demo mode is prefilled — e.g. Tesla + battery keywords).  
3. Open the **Output** tab — patent matches with scores and alert text.

**Going live:** Turn off Demo mode, paste your USPTO ODP API key, set data source to **ODP** (or **Auto** with key), and add your real watchlists.

---

### Example use cases

#### Competitor landscape  
Watch assignees like *Rivian Automotive* and *Lucid Motors* plus keywords such as *solid state battery*. Run **daily**, export only rows marked **new** since the last run.

#### Client & portfolio awareness  
Monitor assignee names for key clients and technology keywords tied to active matters. Use **minimum relevance score** to reduce review load.

#### Technology area radar  
Track CPC classes (e.g. `G06F`, `H01M`) and terms in titles and abstracts. Filter by filing or publication dates for recent activity only.

#### Executive-ready export  
Set output to **CSV** or **all** and download a spreadsheet for counsel or leadership — no integration required.

---

### What you receive

Every matching patent includes the essentials for decision-making:

| You see | Why it matters |
|--------|----------------|
| Title, assignee, inventors | Who filed what |
| Filing, publication, grant dates | Timeline |
| Application vs grant | Stage of rights |
| **Relevance score** | Prioritize review |
| **Risk level** | Spot competitor / high-impact hits |
| **Alert summary** | Drop straight into Slack or email |
| **Is new** | Incremental monitoring on schedules |
| **USPTO link** | One click to the source |

Optional: claims summary and citation fields when you need deeper context.

---

### Pricing

Pay only for what you use on Apify:

| | |
|--|--|
| **Patent matches** | **$2.00 per 1,000 results** (each saved patent row) |
| **Actor start** | **$0.00005** per run |
| **Platform usage** | Standard Apify compute (varies by plan) |

**Typical costs:** A quick Demo try (a few matches) is usually well under **$0.01** in Actor fees. A routine watchlist run with dozens of matches is often **$0.05–0.20** in event fees, plus platform usage.

Demo mode is ideal for evaluation; production monitoring uses your own USPTO key at no extra charge from us.

---

### Scheduling & alerts

- Set **alert frequency** to daily, weekly, or monthly.  
- Create an **Apify schedule** so monitoring runs automatically.  
- Use **webhooks** on run success to push results to Slack, email, Make, or Zapier.  
- Focus on rows where **Is new** is true — those weren’t in your previous scheduled run.

---

### Frequently asked questions

**Do I need a USPTO API key?**  
Not to try it. **Demo mode** uses sample data (prefilled in Try it). For **live USPTO** filings and grants, add your own free key from [data.uspto.gov](https://data.uspto.gov).

**Is my API key shared with other users?**  
No. Each customer uses their own key (bring your own key). We don’t provide a shared publisher key for live data.

**How do I know results are real USPTO data vs demo?**  
Live rows are labeled accordingly in the output; the run status also shows whether the run used demo or live data.

**What if I can’t get a USPTO key yet?**  
Use Demo mode to validate scoring, exports, and workflows. Move to live when your key is ready.

**Can I get a spreadsheet?**  
Yes — choose CSV or “all” output and download from the run.

**Why zero results?**  
Widen date ranges, lower the minimum relevance score, or check that company/keyword names match how they appear on patents. In demo, try names like *Tesla Inc.* with battery-related keywords.

---

### Integrations

Works with the Apify ecosystem you already use:

- **Schedules** — hands-off monitoring  
- **Webhooks** — Slack, email, custom endpoints  
- **API & datasets** — JSON for dashboards, data warehouses, or legal-tech stacks  
- **Make / Zapier** — via Apify integrations  

---

### Start monitoring

[**Open Patent & IP Filing Monitor on Apify**](https://console.apify.com/actors/OrDaBmcaxmipfruXf) — try Demo mode in one click, then switch to live USPTO when you’re ready.

Questions or custom deployment needs? Open an issue on the repository or contact the publisher through Apify Console.

---

*Technical documentation for contributors and integrators: see [`docs/README.md`](docs/README.md) and [`llms.txt`](llms.txt).*

# Actor input Schema

## `demoMode` (type: `boolean`):

ON = built-in sample patents for testing (not live USPTO). OFF for production only if you add your USPTO ODP API key below.
## `usptoApiKey` (type: `string`):

Required for live USPTO search. Each user must supply their own free key from data.uspto.gov (USPTO.gov account + validated ID.me). Stored as a secret; never shared by the Actor publisher.
## `dataSource` (type: `string`):

auto = live ODP when usptoApiKey is set, otherwise demo samples. demo = samples only. odp = live USPTO (key required). patentsview = legacy grants only (often unavailable).
## `searchDocumentTypes` (type: `array`):

Applications and/or grants. Live search needs usptoApiKey; demo mode includes both types as samples.
## `companyNames` (type: `array`):

Company or assignee names to monitor (e.g. Apple Inc., Google LLC).
## `inventorNames` (type: `array`):

Inventor names to track.
## `keywords` (type: `array`):

Keywords to search in titles, abstracts, and claims.
## `cpcClassifications` (type: `array`):

CPC codes to monitor (e.g. G06N3/00).
## `ipcClassifications` (type: `array`):

IPC codes (live search via USPTO ODP key; demo uses sample matches).
## `competitorList` (type: `array`):

Competitor assignees for competitive intelligence.
## `publicationDateFrom` (type: `string`):

Start date YYYY-MM-DD (live ODP; ignored in demo).
## `publicationDateTo` (type: `string`):

End date YYYY-MM-DD (live ODP; ignored in demo).
## `applicationDateFrom` (type: `string`):

Filing date start YYYY-MM-DD (live ODP; ignored in demo).
## `applicationDateTo` (type: `string`):

Filing date end YYYY-MM-DD (live ODP; ignored in demo).
## `patentStatus` (type: `array`):

Status filter for live USPTO ODP. Demo returns sample statuses regardless.
## `technologyCategory` (type: `string`):

Label for reporting (e.g. AI/ML, Biotech).
## `alertFrequency` (type: `string`):

Affects batch ID and incremental deduplication.
## `maxResults` (type: `integer`):

Max patents per search query.
## `outputFormat` (type: `string`):

json = dataset only; csv/all also writes OUTPUT to key-value store.
## `includeClaims` (type: `boolean`):

Whether to extract and include patent claims summary in the output.
## `includeCitations` (type: `boolean`):

Whether to include forward and backward citations in the output.
## `minRelevanceScore` (type: `integer`):

Filter results below this score (0-100). Store QA uses prefill 30 so demo Try-it runs always return matches.
## `enableRiskAssessment` (type: `boolean`):

Calculate risk level from competitor matches and patent status.

## Actor input object example

```json
{
  "demoMode": true,
  "dataSource": "auto",
  "searchDocumentTypes": [
    "application",
    "grant"
  ],
  "companyNames": [
    "Tesla Inc."
  ],
  "inventorNames": [],
  "keywords": [
    "battery",
    "electric vehicle"
  ],
  "cpcClassifications": [],
  "ipcClassifications": [],
  "competitorList": [],
  "patentStatus": [
    "Application",
    "Published",
    "Granted"
  ],
  "alertFrequency": "once",
  "maxResults": 100,
  "outputFormat": "json",
  "includeClaims": true,
  "includeCitations": true,
  "minRelevanceScore": 30,
  "enableRiskAssessment": true
}
````

# Actor output Schema

## `patentMatches` (type: `string`):

Dataset of matching patent applications and grants with relevance\_score, risk\_level, alert\_summary, dedupe\_key, and is\_new for incremental monitoring.

## `csvExport` (type: `string`):

Tabular export of saved patent rows. Written when outputFormat is csv or all.

## `runStatus` (type: `string`):

Run statistics, dataSource (demo vs live), isDemo, liveData, and search counts. Check before treating results as production alerts.

# 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 = {
    "demoMode": true,
    "companyNames": [
        "Tesla Inc."
    ],
    "keywords": [
        "battery",
        "electric vehicle"
    ],
    "minRelevanceScore": 30
};

// Run the Actor and wait for it to finish
const run = await client.actor("vamsi-krishna/patent-ip-filing-monitor").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 = {
    "demoMode": True,
    "companyNames": ["Tesla Inc."],
    "keywords": [
        "battery",
        "electric vehicle",
    ],
    "minRelevanceScore": 30,
}

# Run the Actor and wait for it to finish
run = client.actor("vamsi-krishna/patent-ip-filing-monitor").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 '{
  "demoMode": true,
  "companyNames": [
    "Tesla Inc."
  ],
  "keywords": [
    "battery",
    "electric vehicle"
  ],
  "minRelevanceScore": 30
}' |
apify call vamsi-krishna/patent-ip-filing-monitor --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=vamsi-krishna/patent-ip-filing-monitor",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Patent & IP Filing Monitor",
        "description": "Recurring USPTO patent monitoring for assignees, inventors, keywords, and CPC classifications with relevance scoring and alert-ready output.",
        "version": "1.0",
        "x-build-id": "MlJeV3FTgunsJGi6D"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/vamsi-krishna~patent-ip-filing-monitor/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-vamsi-krishna-patent-ip-filing-monitor",
                "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/vamsi-krishna~patent-ip-filing-monitor/runs": {
            "post": {
                "operationId": "runs-sync-vamsi-krishna-patent-ip-filing-monitor",
                "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/vamsi-krishna~patent-ip-filing-monitor/run-sync": {
            "post": {
                "operationId": "run-sync-vamsi-krishna-patent-ip-filing-monitor",
                "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": {
                    "demoMode": {
                        "title": "Demo mode (sample data)",
                        "type": "boolean",
                        "description": "ON = built-in sample patents for testing (not live USPTO). OFF for production only if you add your USPTO ODP API key below.",
                        "default": true
                    },
                    "usptoApiKey": {
                        "title": "USPTO ODP API Key (your key, live data)",
                        "type": "string",
                        "description": "Required for live USPTO search. Each user must supply their own free key from data.uspto.gov (USPTO.gov account + validated ID.me). Stored as a secret; never shared by the Actor publisher."
                    },
                    "dataSource": {
                        "title": "Data Source",
                        "enum": [
                            "auto",
                            "demo",
                            "odp",
                            "patentsview"
                        ],
                        "type": "string",
                        "description": "auto = live ODP when usptoApiKey is set, otherwise demo samples. demo = samples only. odp = live USPTO (key required). patentsview = legacy grants only (often unavailable).",
                        "default": "auto"
                    },
                    "searchDocumentTypes": {
                        "title": "Document Types",
                        "type": "array",
                        "description": "Applications and/or grants. Live search needs usptoApiKey; demo mode includes both types as samples.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "application",
                                "grant"
                            ]
                        },
                        "default": [
                            "application",
                            "grant"
                        ]
                    },
                    "companyNames": {
                        "title": "Company / Assignee Names",
                        "type": "array",
                        "description": "Company or assignee names to monitor (e.g. Apple Inc., Google LLC).",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "inventorNames": {
                        "title": "Inventor Names",
                        "type": "array",
                        "description": "Inventor names to track.",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "keywords": {
                        "title": "Keywords",
                        "type": "array",
                        "description": "Keywords to search in titles, abstracts, and claims.",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "cpcClassifications": {
                        "title": "CPC Classifications",
                        "type": "array",
                        "description": "CPC codes to monitor (e.g. G06N3/00).",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "ipcClassifications": {
                        "title": "IPC Classifications",
                        "type": "array",
                        "description": "IPC codes (live search via USPTO ODP key; demo uses sample matches).",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "competitorList": {
                        "title": "Competitor List",
                        "type": "array",
                        "description": "Competitor assignees for competitive intelligence.",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "publicationDateFrom": {
                        "title": "Publication Date From",
                        "type": "string",
                        "description": "Start date YYYY-MM-DD (live ODP; ignored in demo)."
                    },
                    "publicationDateTo": {
                        "title": "Publication Date To",
                        "type": "string",
                        "description": "End date YYYY-MM-DD (live ODP; ignored in demo)."
                    },
                    "applicationDateFrom": {
                        "title": "Application Date From",
                        "type": "string",
                        "description": "Filing date start YYYY-MM-DD (live ODP; ignored in demo)."
                    },
                    "applicationDateTo": {
                        "title": "Application Date To",
                        "type": "string",
                        "description": "Filing date end YYYY-MM-DD (live ODP; ignored in demo)."
                    },
                    "patentStatus": {
                        "title": "Patent Status",
                        "type": "array",
                        "description": "Status filter for live USPTO ODP. Demo returns sample statuses regardless.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "Application",
                                "Published",
                                "Granted",
                                "Expired",
                                "Abandoned"
                            ]
                        },
                        "default": [
                            "Application",
                            "Published",
                            "Granted"
                        ]
                    },
                    "technologyCategory": {
                        "title": "Technology Category",
                        "type": "string",
                        "description": "Label for reporting (e.g. AI/ML, Biotech)."
                    },
                    "alertFrequency": {
                        "title": "Alert Frequency",
                        "enum": [
                            "daily",
                            "weekly",
                            "monthly",
                            "once"
                        ],
                        "type": "string",
                        "description": "Affects batch ID and incremental deduplication.",
                        "default": "once"
                    },
                    "maxResults": {
                        "title": "Maximum Results",
                        "minimum": 1,
                        "maximum": 10000,
                        "type": "integer",
                        "description": "Max patents per search query.",
                        "default": 100
                    },
                    "outputFormat": {
                        "title": "Output Format",
                        "enum": [
                            "json",
                            "csv",
                            "all"
                        ],
                        "type": "string",
                        "description": "json = dataset only; csv/all also writes OUTPUT to key-value store.",
                        "default": "json"
                    },
                    "includeClaims": {
                        "title": "Include Claims Summary",
                        "type": "boolean",
                        "description": "Whether to extract and include patent claims summary in the output.",
                        "default": true
                    },
                    "includeCitations": {
                        "title": "Include Citations",
                        "type": "boolean",
                        "description": "Whether to include forward and backward citations in the output.",
                        "default": true
                    },
                    "minRelevanceScore": {
                        "title": "Minimum Relevance Score",
                        "minimum": 0,
                        "maximum": 100,
                        "type": "integer",
                        "description": "Filter results below this score (0-100). Store QA uses prefill 30 so demo Try-it runs always return matches.",
                        "default": 30
                    },
                    "enableRiskAssessment": {
                        "title": "Enable Risk Assessment",
                        "type": "boolean",
                        "description": "Calculate risk level from competitor matches and patent status.",
                        "default": true
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
