# PanoramaFirm.pl Company Scraper | Cheap 4$ / 1k (`trev0n/panoramafirm-scraper`) Actor

Scraper for PanoramaFirm.pl - Poland's largest business directory. Extract company contact info, addresses, phone numbers, emails, ratings, opening hours, and more. Supports keyword search and category browsing.

- **URL**: https://apify.com/trev0n/panoramafirm-scraper.md
- **Developed by:** [Paweł](https://apify.com/trev0n) (community)
- **Categories:** Lead generation, Automation, Developer tools
- **Stats:** 2 total users, 1 monthly users, 0.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

$4.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## What's an Apify Actor?

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

## How to integrate an Actor?

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

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

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

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

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

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

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

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

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

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

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


# README

## 🏢 PanoramaFirm.pl Company Scraper

🎯 **Extract complete business listings from Poland's largest company directory — contact info, addresses, ratings, and more!**

This scraper automatically collects structured data from PanoramaFirm.pl, including company names, phone numbers, emails, websites, full addresses, ratings, reviews, and business registration numbers (NIP/REGON). Perfect for lead generation, market research, and building B2B contact databases.

---

### 🚀 What Does It Do?

This scraper automatically browses PanoramaFirm.pl and collects **structured, ready-to-use business data**. No manual browsing needed — just set your search criteria and hit Start.

💡 **Two modes of operation:**

1. **🔍 Discovery Mode** — Search by keyword (e.g., "hydraulik") and location (e.g., "Warszawa") to find all matching businesses
2. **📋 Direct URL Mode** — Provide specific category or company URLs to scrape exactly what you need

---

### 👥 Who Is This For?

| 🏢 Use Case                 | 💬 How It Helps                                                   |
| --------------------------- | ----------------------------------------------------------------- |
| 📊 **Sales Teams**          | Build targeted B2B lead lists with verified contact information   |
| 🔎 **Market Researchers**   | Analyze business density, ratings, and competition across regions |
| 📣 **Marketing Agencies**   | Find potential clients in specific industries and locations       |
| 🤝 **Business Consultants** | Research local markets for expansion planning                     |
| 📈 **Data Analysts**        | Collect structured business data for market intelligence reports  |

---

### ✨ Features

- 🏢 **Full Business Profiles** — Company name, category, description, and subcategory
- 📍 **Complete Address Data** — Street, city, postal code, district, and voivodeship
- 📞 **Contact Information** — Phone numbers, emails, and website URLs
- 🌐 **Social Media Links** — Facebook, Instagram, LinkedIn profiles when available
- ⭐ **Ratings & Reviews** — Average rating and total review count
- 🏛️ **Business Registration** — NIP and REGON numbers (with extractDetails mode)
- 🕐 **Opening Hours** — Full weekly schedule (with extractDetails mode)
- 📸 **Images** — Company logo and photo gallery
- 📍 **Geolocation** — GPS coordinates for mapping and distance calculations
- ⚡ **Fast & Scalable** — Extract thousands of businesses in a single run
- 🔄 **Smart Deduplication** — No duplicate entries, ever
- 📤 **Export Anywhere** — Download results as JSON, CSV, Excel, or push to Google Sheets, Zapier, Make, or your CRM

---

### 🎛️ Filters & Options

| Option                      | What It Does                                                              |
| --------------------------- | ------------------------------------------------------------------------- |
| 🔍 **Search Keyword**       | Business category to search (e.g., "dentysta", "restauracja", "mechanik") |
| 📍 **Location**             | City or region to search in (e.g., "warszawa", "krakow", "malopolskie")   |
| 📋 **Start URLs**           | Direct links to category pages or individual company profiles             |
| 📊 **Extract Full Details** | Visit each company page for complete data (slower but comprehensive)      |
| 🔢 **Max Items**            | Control how many businesses to extract per run                            |
| ⚡ **Max Concurrency**      | Parallel requests for faster scraping (1-20)                              |

---

### 📦 What You Get (Output Fields)

Every business listing includes:

#### Basic Info

| Field       | Example               |
| ----------- | --------------------- |
| id          | `aclx4f_wpz`          |
| name        | `GMP Klima Services`  |
| category    | `Klimatyzacja`        |
| subcategory | `Montaż klimatyzacji` |

#### Address

| Field       | Example                            |
| ----------- | ---------------------------------- |
| street      | `Kolejowa 4`                       |
| city        | `Ożarów Mazowiecki`                |
| postalCode  | `05-850`                           |
| district    | `Konotopa`                         |
| voivodeship | `mazowieckie`                      |
| coordinates | `{"lat": 52.2345, "lon": 20.7890}` |

#### Contact

| Field   | Example               |
| ------- | --------------------- |
| phone   | `+48 123 456 789`     |
| email   | `kontakt@gmpklima.pl` |
| website | `https://gmpklima.pl` |

#### Social Media

| Field                 | Example                                  |
| --------------------- | ---------------------------------------- |
| socialLinks.facebook  | `https://facebook.com/gmpklima`          |
| socialLinks.linkedin  | `https://linkedin.com/company/gmp-klima` |
| socialLinks.instagram | `https://instagram.com/gmpklima`         |

#### Ratings & Reviews

| Field        | Example |
| ------------ | ------- |
| rating       | `4.8`   |
| reviewsCount | `127`   |

#### Business Details (extractDetails mode)

| Field        | Example                                         |
| ------------ | ----------------------------------------------- |
| description  | `Profesjonalny montaż i serwis klimatyzacji...` |
| openingHours | `{"Poniedziałek": "8:00-17:00", ...}`           |
| nip          | `1234567890`                                    |
| regon        | `123456789`                                     |

#### Media

| Field  | Example                                     |
| ------ | ------------------------------------------- |
| logo   | `https://cdn.panoramafirm.pl/logo/...`      |
| images | `["https://cdn.panoramafirm.pl/photo/..."]` |

#### Metadata

| Field     | Example                                                                      |
| --------- | ---------------------------------------------------------------------------- |
| url       | `https://panoramafirm.pl/mazowieckie/.../gmp_klima_services-aclx4f_wpz.html` |
| scrapedAt | `2026-04-13T10:00:00.000Z`                                                   |

---

### 📊 Example Output

```json
{
    "id": "aclx4f_wpz",
    "name": "GMP Klima Services",
    "slug": "/mazowieckie,warszawski_zachodni,ozarow_mazowiecki,kolejowa,4/gmp_klima_services-aclx4f_wpz.html",
    "category": "Klimatyzacja",
    "subcategory": "Montaż klimatyzacji",
    "street": "Kolejowa 4",
    "city": "Ożarów Mazowiecki",
    "postalCode": "05-850",
    "district": "Konotopa",
    "voivodeship": "mazowieckie",
    "coordinates": {
        "lat": 52.2345,
        "lon": 20.789
    },
    "phone": "+48 123 456 789",
    "email": "kontakt@gmpklima.pl",
    "website": "https://gmpklima.pl",
    "socialLinks": {
        "facebook": "https://facebook.com/gmpklima",
        "linkedin": null,
        "instagram": null
    },
    "rating": 4.8,
    "reviewsCount": 127,
    "description": "Profesjonalny montaż i serwis klimatyzacji dla firm i klientów indywidualnych. Oferujemy montaż, przeglądy i naprawy wszystkich marek.",
    "openingHours": {
        "Poniedziałek": "8:00-17:00",
        "Wtorek": "8:00-17:00",
        "Środa": "8:00-17:00",
        "Czwartek": "8:00-17:00",
        "Piątek": "8:00-16:00",
        "Sobota": "Zamknięte",
        "Niedziela": "Zamknięte"
    },
    "nip": "1234567890",
    "regon": "123456789",
    "logo": "https://cdn.panoramafirm.pl/logo/gmp_klima.jpg",
    "images": ["https://cdn.panoramafirm.pl/photo/gmp_1.jpg", "https://cdn.panoramafirm.pl/photo/gmp_2.jpg"],
    "url": "https://panoramafirm.pl/mazowieckie,warszawski_zachodni,ozarow_mazowiecki,kolejowa,4/gmp_klima_services-aclx4f_wpz.html",
    "scrapedAt": "2026-04-13T10:00:00.000Z"
}
````

***

### 📋 Dataset Views

The Apify Console gives you **3 ready-made table views** to quickly browse your results:

| View                | What It Shows                                             |
| ------------------- | --------------------------------------------------------- |
| 📊 **Overview**     | Company name, category, city, phone, rating, reviews, URL |
| 📞 **Contact Info** | Name, phone, email, website, full address                 |
| 📋 **Full Details** | Every single field — the complete dataset                 |

***

### ❓ FAQ

**🤔 What categories can I search?**
Any business category available on PanoramaFirm.pl — from "hydraulik" and "dentysta" to "restauracja" and "mechanik samochodowy". Just enter the Polish keyword.

**🤔 Can I search multiple cities at once?**
Yes — provide multiple Start URLs, each with a different city. The scraper will process them all in a single run.

**🤔 What's the difference between basic and extractDetails mode?**
Basic mode extracts data from listing pages (fast, ~10 items/second). ExtractDetails mode visits each company page for complete info including description, opening hours, and NIP/REGON (slower but comprehensive).

**🤔 Are phone numbers always available?**
Most listings include phone numbers. Some businesses hide them behind click-to-reveal buttons — the scraper attempts to extract these when possible.

**🤔 Can I export the data?**
Yes — JSON, CSV, Excel, XML, HTML, RSS. You can also push data directly to Google Sheets, Zapier, Make, or any webhook/API endpoint.

**🤔 How often should I run this?**
For fresh data, run weekly or monthly. Business listings don't change as frequently as e-commerce prices. You can schedule automatic runs on Apify with just a few clicks.

**🤔 Does it work with proxies?**
Yes — residential proxies are recommended for high-volume scraping. The scraper works with Apify's built-in proxy service.

***

### 🛠️ Need Custom Filters or Features?

**I'm happy to customize this scraper for your specific needs!** 🤝

Whether you need:

- 🎯 Additional filters (specific voivodeships, rating thresholds, only businesses with email)
- 📊 Extra data fields or custom output formats
- 🔄 Integration with your CRM, Google Sheets, or database
- ⏰ Scheduled scraping with automatic deduplication
- 🌐 Scraping from other Polish business directories alongside PanoramaFirm

👉 **Don't hesitate to reach out via private message** — I respond quickly and I'm always open to building exactly what you need. No request is too small or too specific!

***

### ⚖️ Legal & Ethical Use

This scraper collects **only publicly available information** from PanoramaFirm.pl. It does not access private data, bypass authentication, or scrape information that requires a login. Please use the data responsibly and in compliance with applicable laws and platform terms of service.

# Actor input Schema

## `startUrls` (type: `array`):

List of PanoramaFirm.pl URLs to scrape. Can be category pages (e.g., https://panoramafirm.pl/hydraulik/warszawa) or individual company URLs.

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

Business category or keyword to search for (e.g., 'hydraulik', 'dentysta', 'restauracja'). Used only if startUrls is not provided.

## `location` (type: `string`):

City or region name (e.g., 'warszawa', 'krakow', 'wroclaw'). Polish characters are normalized automatically.

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

Maximum number of companies to scrape (0 = unlimited).

## `extractDetails` (type: `boolean`):

Visit each company page to extract full details (description, opening hours, NIP/REGON, images). Slower but more comprehensive.

## `maxConcurrency` (type: `integer`):

Maximum number of parallel requests (1-20).

## `maxRequestRetries` (type: `integer`):

Maximum number of retries for failed requests.

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

Proxy settings. Recommended for high-volume scraping.

## Actor input object example

```json
{
  "maxItems": 100,
  "extractDetails": false,
  "maxConcurrency": 5,
  "maxRequestRetries": 3
}
```

# Actor output Schema

## `overview` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {};

// Run the Actor and wait for it to finish
const run = await client.actor("trev0n/panoramafirm-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {}

# Run the Actor and wait for it to finish
run = client.actor("trev0n/panoramafirm-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{}' |
apify call trev0n/panoramafirm-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "PanoramaFirm.pl Company Scraper | Cheap 4$ / 1k",
        "description": "Scraper for PanoramaFirm.pl - Poland's largest business directory. Extract company contact info, addresses, phone numbers, emails, ratings, opening hours, and more. Supports keyword search and category browsing.",
        "version": "1.0",
        "x-build-id": "n0AtbLa1RAw3Yt5Fg"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/trev0n~panoramafirm-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-trev0n-panoramafirm-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/trev0n~panoramafirm-scraper/runs": {
            "post": {
                "operationId": "runs-sync-trev0n-panoramafirm-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/trev0n~panoramafirm-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-trev0n-panoramafirm-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "startUrls": {
                        "title": "Start URLs",
                        "type": "array",
                        "description": "List of PanoramaFirm.pl URLs to scrape. Can be category pages (e.g., https://panoramafirm.pl/hydraulik/warszawa) or individual company URLs.",
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "keyword": {
                        "title": "Search Keyword",
                        "type": "string",
                        "description": "Business category or keyword to search for (e.g., 'hydraulik', 'dentysta', 'restauracja'). Used only if startUrls is not provided."
                    },
                    "location": {
                        "title": "Location",
                        "type": "string",
                        "description": "City or region name (e.g., 'warszawa', 'krakow', 'wroclaw'). Polish characters are normalized automatically."
                    },
                    "maxItems": {
                        "title": "Max Items",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum number of companies to scrape (0 = unlimited).",
                        "default": 100
                    },
                    "extractDetails": {
                        "title": "Extract Full Details",
                        "type": "boolean",
                        "description": "Visit each company page to extract full details (description, opening hours, NIP/REGON, images). Slower but more comprehensive.",
                        "default": false
                    },
                    "maxConcurrency": {
                        "title": "Max Concurrency",
                        "minimum": 1,
                        "maximum": 20,
                        "type": "integer",
                        "description": "Maximum number of parallel requests (1-20).",
                        "default": 5
                    },
                    "maxRequestRetries": {
                        "title": "Max Request Retries",
                        "minimum": 0,
                        "maximum": 10,
                        "type": "integer",
                        "description": "Maximum number of retries for failed requests.",
                        "default": 3
                    },
                    "proxyConfiguration": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Proxy settings. Recommended for high-volume scraping."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
