# Rightmove Natural Language Property Search (`stueyboy/rightmove-natural-language-property-search`) Actor

🎉 FREE until 18 July 2026. Search Rightmove in plain English — AI parses your wishlist, searches UK listings, and returns scored, ranked matches with explanations of why each property fits. No API key needed.

- **URL**: https://apify.com/stueyboy/rightmove-natural-language-property-search.md
- **Developed by:** [Stu Travers](https://apify.com/stueyboy) (community)
- **Categories:** Real estate, AI, Agents
- **Stats:** 2 total users, 0 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

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

## 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

## Rightmove AI Property Search 🏠 — search UK property in plain English

> 🎉 **Launch offer: completely FREE until 18 July 2026** — including AI scoring, no API key needed. Try it now while every run is on the house.

Search UK properties on Rightmove the way humans think — describe your ideal home in plain English and get **AI-scored, ranked property matches with explanations** of exactly why each one fits (or doesn't).

````

Input:  "Victorian flat in Hackney with south-facing balcony,
near Overground, max £550k"

Output: Ranked properties with match scores:

1. Brooke Road, E5 — 95/100
   ✓ Period conversion ✓ Balcony ✓ 0.2mi from Clapton Overground ✓ £550k
2. Chatsworth Road, E5 — 82/100
   ✓ Victorian ✓ Near Homerton Overground ✗ No balcony

````

No API keys, no configuration, no Rightmove URLs to build. Type what you want, press Start.

### What it does

1. **Understands** — your natural language query is parsed by AI into structured search intent: locations, bedrooms, budget, must-have features, style preferences, things to avoid
2. **Searches** — locations are resolved via Rightmove's own location lookup, then searched with your hard filters applied
3. **Extracts** — full listing details are pulled for the best candidates: description, key features, nearest stations, tenure, agent, images
4. **Scores** — AI evaluates every property against your wishlist, citing specific evidence from each listing
5. **Ranks** — results are sorted by match score, each with a one-line verdict and detailed ✓/✗ breakdown

### Use cases

- **House hunters** — stop re-running the same filtered searches; describe the home once and let AI shortlist
- **Buying agents & relocation services** — turn a client brief directly into a ranked shortlist with justifications
- **Property investors** — screen for specifics filters can't express ("period conversion", "potential to extend", "not ex-council")
- **AI agents & LLM workflows** — pay-per-event pricing is fully MCP-compatible; the natural-language input makes this Actor trivially easy for agents to call

### Use from AI agents & LLMs (MCP) 🤖

This Actor is built for the agent era. Because the entire input is **one natural-language string**, an LLM can call it without any parameter mapping — no location IDs, no filter syntax, no URL building. Whatever the user says about their dream home *is* the API call.

**Connect via MCP** — add the [Apify MCP server](https://mcp.apify.com) to Claude, ChatGPT, Cursor, or any MCP-compatible agent and expose `stueyboy/rightmove-natural-language-property-search` as a tool. Your agent can then answer prompts like *"find me a 3-bed house with a garden near good schools in Sheffield under £350k"* with live, AI-ranked Rightmove listings.

**Or call the API directly:**

```bash
curl -X POST "https://api.apify.com/v2/acts/stueyboy~rightmove-natural-language-property-search/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"query": "2-bed flat in Hackney with balcony, near Overground, max £550k"}'
````

Returns ranked JSON matches, ready to feed straight back into your agent's context. Pay-per-event pricing means agents are billed only for the results they actually generate — no subscriptions, no idle costs.

### Pricing

**Free until 18 July 2026** — all features, including AI scoring, at no charge during the launch period.

From 18 July 2026, pay per event — you only pay for what you use:

| Event | Price | When |
|-------|-------|------|
| AI-scored property | **$0.025** | Each property scored and ranked by AI |
| Search result | $0.002 | Each basic (unscored) property returned |
| Actor start | ~$0.00001 | Once per run |

A typical run (search + 10 AI-scored properties) costs about **$0.25** plus platform usage. Rightmove blocks datacenter IPs, so residential proxy usage (Apify proxy, billed as platform usage) is enabled by default.

**Bring your own LLM key and AI scoring is free** — set `llmApiKey` (DeepSeek, OpenAI, or any OpenAI-compatible endpoint) and the $0.025 per-property charge is waived; you pay your provider directly instead.

### Input

| Field | Type | Default | Description |
|-------|------|---------|-------------|
| `query` | string | (required) | Natural language search query |
| `channel` | enum | `BUY` | `BUY` or `RENT` |
| `maxProperties` | int | `20` | Max properties to collect from search |
| `maxDetailPages` | int | `10` | Max properties to fetch details for and AI-score |
| `minScore` | int | `50` | Only output properties scoring above this (0–100) |
| `useLlmScoring` | bool | `true` | AI scoring on/off (off = basic search, no scoring charges) |
| `llmApiKey` | string | — | Optional: your own LLM key (waives scoring charges) |
| `llmProvider` | enum | `deepseek` | `deepseek`, `openai`, or `custom` |
| `llmModel` | string | — | Optional model override |
| `llmBaseUrl` | string | — | OpenAI-compatible base URL (for `custom` provider) |
| `proxyConfiguration` | object | Apify residential (GB) | Recommended — Rightmove blocks datacenter IPs |

### Output

One dataset item per property, ranked by match score:

```json
{
  "rank": 1,
  "score": 95,
  "property_id": 89657583,
  "url": "https://www.rightmove.co.uk/properties/89657583",
  "address": "Brooke Road, London, E5",
  "bedrooms": 2,
  "price": "£550,000",
  "type": "Flat",
  "match_summary": "First-floor period conversion with 2 bedrooms, within budget at £550k, 0.2 miles from Clapton Overground.",
  "match_details": [
    "✓ Period conversion (style preference met)",
    "✓ 0.2mi from Clapton Overground (near Overground met)",
    "✗ No south-facing balcony"
  ],
  "must_have_met": ["near Overground"],
  "must_have_missed": ["south-facing balcony"],
  "nice_to_have_met": [],
  "key_features": ["Period features", "Two double bedrooms"],
  "nearest_stations": ["Clapton (0.2mi)", "Rectory Road (0.6mi)"],
  "images": ["https://media.rightmove.co.uk/..."],
  "agent": "Example Estates"
}
```

The run summary (parsed intent, totals) is saved to the key-value store as `OUTPUT`:

```json
{
  "query": "Victorian flat in Hackney...",
  "intent": {
    "locations": ["Hackney"],
    "min_bedrooms": 2,
    "max_bedrooms": 2,
    "max_price": 550000,
    "must_have": ["south-facing balcony", "near Overground"],
    "style_preference": "Victorian"
  },
  "total_found": 20,
  "detailed": 10,
  "scored": 10,
  "results_above_min_score": 7
}
```

### Query tips

Write your query the way you'd brief an estate agent. The AI understands:

- **Locations** — boroughs, towns, postcodes, multiple areas ("Hackney or Islington")
- **Budget** — "max £550k", "under £2,000 pcm", "£300k–£400k"
- **Must-haves vs nice-to-haves** — "must have a garden, ideally with a garage"
- **Style** — "Victorian conversion", "new build", "period features"
- **Exclusions** — "not ground floor", "avoid busy roads", "no ex-council"
- **Renting** — say "to rent" and the search switches to rental listings

### FAQ

**Do I need an API key?** No. AI scoring works out of the box — free until 18 July 2026, then charged per scored property. If you'd rather pay an LLM provider directly, supply your own key and the scoring charge is waived.

**Why residential proxies?** Rightmove blocks datacenter IPs. The default proxy configuration (Apify residential, GB) makes runs reliable; the cost is part of platform usage.

**Can I use it without AI?** Yes — set `useLlmScoring` to `false` for basic structured search results (locations, beds, and budget still parsed from your query).

**Is it legal?** The Actor reads only publicly available listing data, the same pages any browser downloads, with polite rate limits.

### What makes this different

Every other Rightmove scraper is a "dumb pipe" — you build a filtered URL, it returns raw JSON, and you still have to read 200 listings yourself. This is the only Actor that understands *what you actually want* and tells you *why each property matches*. It replaces the hour of scrolling, not just the copy-paste.

# Actor input Schema

## `query` (type: `string`):

Describe what you're looking for in natural language. E.g. '2-bed Victorian flat in Hackney with balcony, near Overground, max £550k'

## `channel` (type: `string`):

Buy or rent?

## `maxProperties` (type: `integer`):

Maximum property cards to fetch from search results.

## `maxDetailPages` (type: `integer`):

Maximum properties to fetch full details for and AI-score. Free until 18 July 2026; then $0.025 per AI-scored property (waived if you provide your own llmApiKey).

## `minScore` (type: `integer`):

Only return properties scoring above this threshold (0-100).

## `sortType` (type: `integer`):

1 = lowest price first, 2 = highest price first, 6 = most recent first

## `useLlmScoring` (type: `boolean`):

AI-powered property matching with scores and match explanations. Works out of the box — no API key needed. FREE until 18 July 2026, then $0.025 per scored property. Turn off for basic search results only.

## `llmApiKey` (type: `string`):

Optional: bring your own key (DeepSeek, OpenAI, or any OpenAI-compatible endpoint) and the $0.025 per-property scoring charge is waived — you pay your provider directly instead.

## `llmProvider` (type: `string`):

Which LLM provider to use. DeepSeek is cheapest, OpenAI works with existing keys, or set 'custom' for any compatible endpoint.

## `llmModel` (type: `string`):

Override the default model for your provider. Leave empty to use defaults (deepseek-chat / gpt-4o-mini).

## `llmBaseUrl` (type: `string`):

OpenAI-compatible API base URL, e.g. https://api.example.com/v1. Only needed when llmProvider is 'custom'.

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

Rightmove blocks datacenter IPs — Apify residential proxies (RESIDENTIAL group, GB) are strongly recommended for reliable results.

## Actor input object example

```json
{
  "query": "2-bed flat in Hackney or Islington, period conversion, balcony or garden, near Overground, max £550k",
  "channel": "BUY",
  "maxProperties": 20,
  "maxDetailPages": 10,
  "minScore": 50,
  "sortType": 2,
  "useLlmScoring": true,
  "llmProvider": "deepseek",
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "GB"
  }
}
```

# 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 = {
    "query": "2-bed flat in Hackney or Islington, period conversion, balcony or garden, near Overground, max £550k",
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ],
        "apifyProxyCountry": "GB"
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("stueyboy/rightmove-natural-language-property-search").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 = {
    "query": "2-bed flat in Hackney or Islington, period conversion, balcony or garden, near Overground, max £550k",
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
        "apifyProxyCountry": "GB",
    },
}

# Run the Actor and wait for it to finish
run = client.actor("stueyboy/rightmove-natural-language-property-search").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 '{
  "query": "2-bed flat in Hackney or Islington, period conversion, balcony or garden, near Overground, max £550k",
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "GB"
  }
}' |
apify call stueyboy/rightmove-natural-language-property-search --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=stueyboy/rightmove-natural-language-property-search",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Rightmove Natural Language Property Search",
        "description": "🎉 FREE until 18 July 2026. Search Rightmove in plain English — AI parses your wishlist, searches UK listings, and returns scored, ranked matches with explanations of why each property fits. No API key needed.",
        "version": "0.1",
        "x-build-id": "oWqoebCbeGamIuSdb"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/stueyboy~rightmove-natural-language-property-search/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-stueyboy-rightmove-natural-language-property-search",
                "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/stueyboy~rightmove-natural-language-property-search/runs": {
            "post": {
                "operationId": "runs-sync-stueyboy-rightmove-natural-language-property-search",
                "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/stueyboy~rightmove-natural-language-property-search/run-sync": {
            "post": {
                "operationId": "run-sync-stueyboy-rightmove-natural-language-property-search",
                "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": [
                    "query"
                ],
                "properties": {
                    "query": {
                        "title": "Natural Language Search Query",
                        "type": "string",
                        "description": "Describe what you're looking for in natural language. E.g. '2-bed Victorian flat in Hackney with balcony, near Overground, max £550k'"
                    },
                    "channel": {
                        "title": "Channel",
                        "enum": [
                            "BUY",
                            "RENT"
                        ],
                        "type": "string",
                        "description": "Buy or rent?",
                        "default": "BUY"
                    },
                    "maxProperties": {
                        "title": "Max Search Results",
                        "minimum": 5,
                        "maximum": 200,
                        "type": "integer",
                        "description": "Maximum property cards to fetch from search results.",
                        "default": 20
                    },
                    "maxDetailPages": {
                        "title": "Max Properties to Score",
                        "minimum": 1,
                        "maximum": 50,
                        "type": "integer",
                        "description": "Maximum properties to fetch full details for and AI-score. Free until 18 July 2026; then $0.025 per AI-scored property (waived if you provide your own llmApiKey).",
                        "default": 10
                    },
                    "minScore": {
                        "title": "Minimum Match Score",
                        "minimum": 0,
                        "maximum": 100,
                        "type": "integer",
                        "description": "Only return properties scoring above this threshold (0-100).",
                        "default": 50
                    },
                    "sortType": {
                        "title": "Sort Order (1=cheapest, 2=priciest, 6=recent)",
                        "minimum": 1,
                        "maximum": 6,
                        "type": "integer",
                        "description": "1 = lowest price first, 2 = highest price first, 6 = most recent first",
                        "default": 2
                    },
                    "useLlmScoring": {
                        "title": "AI Scoring",
                        "type": "boolean",
                        "description": "AI-powered property matching with scores and match explanations. Works out of the box — no API key needed. FREE until 18 July 2026, then $0.025 per scored property. Turn off for basic search results only.",
                        "default": true
                    },
                    "llmApiKey": {
                        "title": "Your Own LLM API Key (optional)",
                        "type": "string",
                        "description": "Optional: bring your own key (DeepSeek, OpenAI, or any OpenAI-compatible endpoint) and the $0.025 per-property scoring charge is waived — you pay your provider directly instead."
                    },
                    "llmProvider": {
                        "title": "LLM Provider",
                        "enum": [
                            "deepseek",
                            "openai",
                            "custom"
                        ],
                        "type": "string",
                        "description": "Which LLM provider to use. DeepSeek is cheapest, OpenAI works with existing keys, or set 'custom' for any compatible endpoint.",
                        "default": "deepseek"
                    },
                    "llmModel": {
                        "title": "LLM Model (optional override)",
                        "type": "string",
                        "description": "Override the default model for your provider. Leave empty to use defaults (deepseek-chat / gpt-4o-mini)."
                    },
                    "llmBaseUrl": {
                        "title": "LLM Base URL (for custom provider)",
                        "type": "string",
                        "description": "OpenAI-compatible API base URL, e.g. https://api.example.com/v1. Only needed when llmProvider is 'custom'."
                    },
                    "proxyConfiguration": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Rightmove blocks datacenter IPs — Apify residential proxies (RESIDENTIAL group, GB) are strongly recommended for reliable results."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
