# Logic-Immo Scraper 🇫🇷 Téléphones + Particulier/Agence (`tagadanar/french-real-estate-logicimmo`) Actor

Récupérez les annonces Logic-Immo (vente et location) avec le téléphone de l'annonceur, le badge agence/constructeur/particulier, le prix au m², la surface, les pièces et les photos. Idéal pour la pige immobilière et la prospection d'agences, avec accès API et MCP.

- **URL**: https://apify.com/tagadanar/french-real-estate-logicimmo.md
- **Developed by:** [Tagada Data](https://apify.com/tagadanar) (community)
- **Categories:** Real estate, Lead generation, Agents
- **Stats:** 3 total users, 2 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.40 / 1,000 listings

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/docs.md):

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

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

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

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

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

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

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

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

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


# README

## Logic-Immo Scraper 🇫🇷 : Phone Numbers, Agence/Particulier & €/m²

**Scrape property listings from [Logic-Immo](https://www.logic-immo.com), one of France's biggest real-estate portals, with the advertiser's phone number on every listing.** Paste a search URL and you get clean, structured listings: **price, €/m², surface, rooms, land, location, photos, full description**, the **advertiser's phone number(s)**, and an **agency / builder / private-owner** flag.

Built for **lead generation (pige), agency prospecting, market analysis, property search, and AI agents** (API + MCP out of the box).

> **Why this one?** Logic-Immo is protected by DataDome, and almost no scraper on the market handles it. This actor runs a real browser through French residential proxies and reads Logic-Immo's own structured data payload (not fragile HTML), so you get complete records including the contact phone for **every** listing: agencies, builders and private owners alike.

### Why this actor

- ✅ **Phone numbers on every listing.** The advertiser's phone(s) come with each record, **cleaned to international format (`+33…`)**, split when several are packed together, and de-duplicated. Perfect for agency prospecting and buyer-side outreach.
- ✅ **Rich, structured data.** Price, €/m², surface, land, rooms, bedrooms, city, postal code, description, photos, exclusive/3D-visit/new flags, and publication dates all come standard.
- ✅ **Agency vs private-owner flag.** Every record says who's behind the ad through `publisherType` (AGENCY, BUILDER, REAL_ESTATE_AGENT…) plus an `isPrivateSeller` boolean, along with agency name, address and profile URL.
- ✅ **Paste-a-search simplicity.** Build any search on logic-immo.com (city, buy/rent, type, budget), then paste the URL. Both URL styles work, and all result pages are followed automatically.
- ✅ **Extra filtering.** Narrow further by price, surface, rooms, property type, keywords or private-owner-only, on top of what the search URL already selects.
- ✅ **Reliable.** It reads Logic-Immo's server-rendered data payload through a real browser and French residential proxies, so results stay complete and consistent.

### Use cases

- **Agency prospecting:** pull every agency advertising in a target area, with names, addresses and phone numbers, ready to drop into a CRM.
- **Lead generation / pige.** Pull the listings in your sector with phone numbers included, and re-run on a Schedule to stay current.
- **Market analysis:** asking prices and €/m² across a city or neighbourhood, ready for a spreadsheet or BI tool.
- **Property search.** Re-run a saved search on an Apify Schedule and feed listings into a sheet or CRM. Need a **new-listings-only** feed with cross-run memory and Slack alerts instead? Use our [Pige Immobilière bundle](https://apify.com/tagadanar/french-real-estate-pige).
- **AI agents:** plug into Claude / Cursor via MCP and ask something like *"houses with a garden under €500k around Bordeaux, with the agency's phone."*

### Input

```json
{
    "searchUrls": [
        "https://www.logic-immo.com/classified-search?distributionTypes=Buy&estateTypes=House,Apartment&locations=AD08FR4491"
    ],
    "minPrice": 150000,
    "maxPrice": 400000,
    "minSurface": 40,
    "minRooms": 3,
    "propertyTypes": ["Appartement"],
    "keywords": ["terrasse"],
    "maxResults": 500
}
````

**How to get a search URL:** go to [logic-immo.com](https://www.logic-immo.com), run the search you want (choose city, *acheter* or *louer*, property type, and any filters), then copy the address-bar URL and paste it into `searchUrls`. You can pass several URLs at once. The SEO-style URLs (`/recherche-immo/vente/...`) work too.

### Output (one record per listing)

```json
{
    "source": "Logic-Immo",
    "id": "26XATYIUFHTL",
    "legacyId": "274076423",
    "url": "https://www.logic-immo.com/detail-vente-274076423.htm",
    "transactionType": "sale",
    "propertyType": "Appartement",
    "propertySubType": "APARTMENT",
    "title": "Appartement à vendre",
    "price": 360000,
    "currency": "EUR",
    "priceLabel": "360 000 €",
    "pricePerM2": 5294,
    "rooms": 3,
    "bedrooms": 2,
    "surface": 68,
    "landSurface": null,
    "city": "Marseille",
    "postalCode": "13006",
    "description": "Au cœur du 6ème arrondissement… (listing summary, full text on the ad page)",
    "photos": ["https://mms.logic-immo.com/…jpg"],
    "photoCount": 11,
    "seller": "Professionnel",
    "isPrivateSeller": false,
    "publisherType": "AGENCY",
    "agencyName": "ORPI Marseille 6",
    "agencyAddress": "12 rue Breteuil, 13006 Marseille",
    "agencyProfileUrl": "https://www.logic-immo.com/agences-immobilieres/…",
    "phone": "+33491000000",
    "phones": ["+33491000000"],
    "isExclusive": true,
    "has3DVisit": false,
    "isNew": false,
    "publishedAt": "2026-05-15T07:02:00Z",
    "updatedAt": "2026-07-01T22:18:05Z"
}
```

### Companion actors: the French real-estate suite

- [**SeLoger Scraper**](https://apify.com/tagadanar/french-real-estate-seloger): same rich data from SeLoger, France's #1 portal (sister site of Logic-Immo).
- [**PAP Real Estate Listings**](https://apify.com/tagadanar/french-real-estate-pap): owner-direct (particulier) listings from PAP, with owner phones.
- [**French Real Estate Sales (DVF)**](https://apify.com/tagadanar/french-real-estate-dvf): official recorded **sold** prices, to benchmark asking prices against reality.
- [**Real Estate Deal Score**](https://apify.com/tagadanar/french-real-estate-deal-score): scores asking prices against DVF sold prices.

### Pricing

Pay per event, no subscription:

| Event | Price | When |
|---|---|---|
| Listing found | **$0.002** ($2 / 1,000) | Per listing returned |
| Actor start | $0.00005 (≈ zero) | Once per run |

Apify platform usage (compute + Residential proxy) is billed separately at platform rates. You control total spend with a per-run charge cap.

### FAQ

**What's the source?** Public listings on logic-immo.com, part of the SeLoger/AVIV group and one of France's most-visited property portals.

**Sales and rentals?** Both. The actor detects buy vs rent from the search URL; €/m² is provided for sales (and computed when missing).

**Are phone numbers really included?** Yes. Logic-Immo publishes the advertiser's phone number(s) with each listing's data, and this actor surfaces them for agencies, builders and private owners alike. They're cleaned to international format (`+33XXXXXXXXX`), split when a listing packs two numbers into one field, and de-duplicated, so `phones` ends up a ready-to-dial, CRM-importable list.

**Is the `description` the full ad text?** It's the listing **summary** Logic-Immo shows on the results page (a couple of sentences). The complete description lives on the individual ad page; use the `url` field to open it. This keeps runs fast and cheap by not fetching a second page per listing.

**Can I get only private sellers?** Yes, set `onlyPrivateSeller: true`. Note that Logic-Immo is agency-dominated, so private-owner ads are a small minority (for owner-direct leads at scale, see our PAP actor).

**What are "enlarged results"?** When your search area has few ads, Logic-Immo appends listings from surrounding areas. They're excluded by default; set `includeEnlargedResults: true` to get them, flagged `isEnlargedResult: true`.

**Does it work with AI agents?** Yes, it's exposed via REST API and **MCP**, callable as a tool from Claude, Cursor & co.

***

### Something missing?

If you need an extra field, another source, or a different output, open an issue on this Actor and describe it. I read every request and small additions usually ship within days. More French real estate Actors (pige, DVF, deal score, DPE leads) are on [my profile](https://apify.com/tagadanar).

*Keywords: Logic-Immo, logicimmo, immobilier, annonces immobilières, real estate France, property listings France, prix immobilier, €/m², vente appartement, location maison, agence immobilière, téléphone agence, lead generation, pige immobilière, proptech.*

# Actor input Schema

## `searchUrls` (type: `array`):

One or more logic-immo.com search-result URLs. Build the search on <a href='https://www.logic-immo.com' target='_blank'>logic-immo.com</a> (city, buy/rent, property type, filters), then copy the page URL and paste it here. Both URL styles work: <code>/classified-search?...</code> and the SEO form <code>/recherche-immo/vente/...</code>. All result pages are followed automatically.

## `onlyPrivateSeller` (type: `boolean`):

Keep only listings posted by private owners (particuliers), dropping agency/builder listings. Note: Logic-Immo is agency-dominated, so this typically keeps a small subset.

## `includeEnlargedResults` (type: `boolean`):

Also return the "élargissement" listings Logic-Immo appends from areas around your search (marked with <code>isEnlargedResult: true</code>).

## `minPrice` (type: `integer`):

Keep only listings at or above this price.

## `maxPrice` (type: `integer`):

Keep only listings at or below this price.

## `minSurface` (type: `integer`):

Keep only listings with at least this living surface.

## `minRooms` (type: `integer`):

Keep only listings with at least this many rooms (pièces).

## `propertyTypes` (type: `array`):

Keep only these property types. Empty = all types found in the search.

## `keywords` (type: `array`):

Keep only listings whose title, description or location contain at least one of these words (e.g. <code>terrasse</code>, <code>jardin</code>, <code>ascenseur</code>).

## `maxResults` (type: `integer`):

Stop after this many listings across all search URLs.

## Actor input object example

```json
{
  "searchUrls": [
    "https://www.logic-immo.com/classified-search?distributionTypes=Buy&estateTypes=House,Apartment&locations=AD08FR4491"
  ],
  "onlyPrivateSeller": false,
  "includeEnlargedResults": false,
  "propertyTypes": [],
  "keywords": [],
  "maxResults": 50
}
```

# Actor output Schema

## `listings` (type: `string`):

All scraped Logic-Immo listings (one item per property) in the default dataset.

# 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 = {
    "searchUrls": [
        "https://www.logic-immo.com/classified-search?distributionTypes=Buy&estateTypes=House,Apartment&locations=AD08FR4491"
    ],
    "maxResults": 50
};

// Run the Actor and wait for it to finish
const run = await client.actor("tagadanar/french-real-estate-logicimmo").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 = {
    "searchUrls": ["https://www.logic-immo.com/classified-search?distributionTypes=Buy&estateTypes=House,Apartment&locations=AD08FR4491"],
    "maxResults": 50,
}

# Run the Actor and wait for it to finish
run = client.actor("tagadanar/french-real-estate-logicimmo").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 '{
  "searchUrls": [
    "https://www.logic-immo.com/classified-search?distributionTypes=Buy&estateTypes=House,Apartment&locations=AD08FR4491"
  ],
  "maxResults": 50
}' |
apify call tagadanar/french-real-estate-logicimmo --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=tagadanar/french-real-estate-logicimmo",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Logic-Immo Scraper 🇫🇷 Téléphones + Particulier/Agence",
        "description": "Récupérez les annonces Logic-Immo (vente et location) avec le téléphone de l'annonceur, le badge agence/constructeur/particulier, le prix au m², la surface, les pièces et les photos. Idéal pour la pige immobilière et la prospection d'agences, avec accès API et MCP.",
        "version": "0.1",
        "x-build-id": "W8CISYMlgM8Zm2Fhc"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/tagadanar~french-real-estate-logicimmo/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-tagadanar-french-real-estate-logicimmo",
                "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/tagadanar~french-real-estate-logicimmo/runs": {
            "post": {
                "operationId": "runs-sync-tagadanar-french-real-estate-logicimmo",
                "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/tagadanar~french-real-estate-logicimmo/run-sync": {
            "post": {
                "operationId": "run-sync-tagadanar-french-real-estate-logicimmo",
                "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": [
                    "searchUrls"
                ],
                "properties": {
                    "searchUrls": {
                        "title": "Logic-Immo search URLs",
                        "minItems": 1,
                        "type": "array",
                        "description": "One or more logic-immo.com search-result URLs. Build the search on <a href='https://www.logic-immo.com' target='_blank'>logic-immo.com</a> (city, buy/rent, property type, filters), then copy the page URL and paste it here. Both URL styles work: <code>/classified-search?...</code> and the SEO form <code>/recherche-immo/vente/...</code>. All result pages are followed automatically.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "onlyPrivateSeller": {
                        "title": "Owner-direct only (no agencies)",
                        "type": "boolean",
                        "description": "Keep only listings posted by private owners (particuliers), dropping agency/builder listings. Note: Logic-Immo is agency-dominated, so this typically keeps a small subset.",
                        "default": false
                    },
                    "includeEnlargedResults": {
                        "title": "Include enlarged-area results",
                        "type": "boolean",
                        "description": "Also return the \"élargissement\" listings Logic-Immo appends from areas around your search (marked with <code>isEnlargedResult: true</code>).",
                        "default": false
                    },
                    "minPrice": {
                        "title": "Minimum price (€)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Keep only listings at or above this price."
                    },
                    "maxPrice": {
                        "title": "Maximum price (€)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Keep only listings at or below this price."
                    },
                    "minSurface": {
                        "title": "Minimum surface (m²)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Keep only listings with at least this living surface."
                    },
                    "minRooms": {
                        "title": "Minimum rooms",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Keep only listings with at least this many rooms (pièces)."
                    },
                    "propertyTypes": {
                        "title": "Property types",
                        "type": "array",
                        "description": "Keep only these property types. Empty = all types found in the search.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "Appartement",
                                "Maison",
                                "Programme neuf",
                                "Terrain",
                                "Immeuble",
                                "Local commercial",
                                "Bureau",
                                "Parking / Box"
                            ],
                            "enumTitles": [
                                "Apartment",
                                "House",
                                "New build program",
                                "Land",
                                "Building",
                                "Commercial",
                                "Office",
                                "Parking / Box"
                            ]
                        },
                        "default": []
                    },
                    "keywords": {
                        "title": "Keywords",
                        "type": "array",
                        "description": "Keep only listings whose title, description or location contain at least one of these words (e.g. <code>terrasse</code>, <code>jardin</code>, <code>ascenseur</code>).",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxResults": {
                        "title": "Max listings",
                        "minimum": 1,
                        "maximum": 5000,
                        "type": "integer",
                        "description": "Stop after this many listings across all search URLs.",
                        "default": 500
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
