# FranchiseDirect Franchise Listings Scraper (`automation-lab/franchisedirect-scraper`) Actor

Scrape public FranchiseDirect franchise rankings and category pages for opportunity names, URLs, investment ranges, sectors, and locations.

- **URL**: https://apify.com/automation-lab/franchisedirect-scraper.md
- **Developed by:** [Stas Persiianenko](https://apify.com/automation-lab) (community)
- **Categories:** Other
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per event

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

## FranchiseDirect Franchise Listings Scraper

Extract structured franchise opportunity data from public FranchiseDirect ranking and category pages. The actor turns FranchiseDirect pages into clean records with franchise names, listing URLs, ranks, sectors, countries, investment signals, quick facts, and source URLs.

### What does this actor do?

FranchiseDirect Franchise Listings Scraper reads public FranchiseDirect pages and saves one dataset row per franchise opportunity.

It is designed for:

- Top 100 global franchise ranking pages
- Franchise category pages such as food franchises
- Franchise directory/listing pages that expose opportunity cards in the HTML
- Investment research workflows where you need repeatable exports instead of manual copy and paste

The actor uses HTTP extraction and Cheerio parsing. It does not open a browser, log in, submit forms, or request private lead information.

### Common use cases

- Build a shortlist of franchise brands for investment research
- Compare FranchiseDirect Top 100 rankings across categories
- Collect listing URLs for manual due diligence
- Export franchise category pages into CSV or Excel
- Track sectors and native countries for market mapping
- Enrich internal franchise CRM records with public listing data
- Compare available locations, minimum cash fields, and business-type signals when FranchiseDirect exposes them

### Who is it for?

This scraper is useful for franchise investors, brokers, consultants, lead-generation teams, market researchers, and analysts who need structured FranchiseDirect data.

Examples:

- An investor exports the Top 100 rankings and filters for food-service opportunities.
- A broker collects public listing URLs for a franchise category before manual review.
- A market researcher tracks how many opportunities appear in each FranchiseDirect sector.
- A lead-generation team exports public opportunity names and source URLs for enrichment in a separate workflow.

### Input overview

The actor has two inputs.

| Field | Type | Required | Description |
|---|---|---:|---|
| `startUrls` | array | yes | FranchiseDirect ranking, category, investment, or listing result pages to scrape. |
| `maxItems` | integer | no | Maximum number of franchise records to save across all start URLs. Default is `20`. |

Keep `maxItems` low for your first run. Increase it after checking that your selected pages produce the fields you need.

### Example start URLs

Good first-run URLs include:

```text
https://www.franchisedirect.com/top100globalfranchises/rankings
https://www.franchisedirect.com/foodfranchises/14
````

You can add multiple FranchiseDirect URLs in one run. The actor deduplicates listing URLs and stops after the global `maxItems` limit is reached.

### Output overview

Each dataset item represents one franchise opportunity or ranking record.

Typical output fields include:

| Field | Description |
|---|---|
| `sourceUrl` | FranchiseDirect page where the record was discovered. |
| `url` | Absolute FranchiseDirect listing URL. |
| `name` | Franchise or opportunity name. |
| `rank` | Ranking number when scraped from a ranking page. |
| `nativeCountry` | Country shown on ranking pages when available. |
| `sector` | Sector shown on ranking pages when available. |
| `category` | Category inferred from the source page or card content. |
| `description` | Public summary text from the listing/card. |
| `minCashRequired` | Minimum cash text when present in FranchiseDirect HTML. |
| `minimumInvestment` | Minimum investment text when present. |
| `investmentMinimumUsd` | Parsed numeric minimum investment when the source text allows parsing. |
| `availableLocations` | Available location text when exposed by the listing card. |
| `businessType` | Business type quick fact when available. |
| `financingAssistance` | Financing assistance quick fact when available. |
| `trainingProvided` | Training quick fact when available. |
| `homeBased` | Home-based quick fact when available. |
| `partTimeFullTime` | Part-time/full-time quick fact when available. |
| `imageUrl` | Franchise image/logo URL when available. |
| `scrapedAt` | ISO timestamp when the record was saved. |

FranchiseDirect page layouts vary. Some records from rankings have rank, sector, and country fields; category records may include investment and quick-fact fields instead.

### Example output item

```json
{
  "sourceUrl": "https://www.franchisedirect.com/top100globalfranchises/rankings",
  "url": "https://www.franchisedirect.com/foodfranchises/example-franchise/12345",
  "name": "Example Franchise",
  "rank": 12,
  "nativeCountry": "United States",
  "sector": "Food",
  "category": "Food Franchises",
  "description": "Public FranchiseDirect summary text for the opportunity.",
  "minCashRequired": "$100,000",
  "minimumInvestment": "$250,000",
  "investmentMinimumUsd": 250000,
  "availableLocations": "United States and Canada",
  "businessType": "Franchise",
  "financingAssistance": "Available",
  "trainingProvided": "Yes",
  "homeBased": "No",
  "partTimeFullTime": "Full-time",
  "imageUrl": "https://www.franchisedirect.com/example-logo.jpg",
  "scrapedAt": "2026-06-15T09:00:00.000Z"
}
```

### How to run the actor in Apify Console

1. Open the actor page in Apify Console.
2. Add one or more FranchiseDirect URLs to **Start URLs**.
3. Set **Maximum franchises** to a small value such as `20` for the first run.
4. Click **Start**.
5. Open the default dataset when the run finishes.
6. Export the dataset as CSV, JSON, Excel, XML, RSS, or HTML.

### Recommended first run

Use this input for a quick smoke test:

```json
{
  "startUrls": [
    { "url": "https://www.franchisedirect.com/top100globalfranchises/rankings" }
  ],
  "maxItems": 20
}
```

For category research, try:

```json
{
  "startUrls": [
    { "url": "https://www.franchisedirect.com/foodfranchises/14" }
  ],
  "maxItems": 50
}
```

### Combining multiple pages

You can scrape several FranchiseDirect pages in the same run:

```json
{
  "startUrls": [
    { "url": "https://www.franchisedirect.com/top100globalfranchises/rankings" },
    { "url": "https://www.franchisedirect.com/foodfranchises/14" }
  ],
  "maxItems": 100
}
```

This is useful when you want one dataset for a broader franchise research project.

### Data quality notes

- The actor preserves the `sourceUrl` so you can audit every row.
- Records are deduplicated by listing URL when possible.
- Optional fields are only saved when FranchiseDirect exposes them on the public page.
- Numeric investment parsing is best-effort. Always review the original text field before making financial decisions.
- Rankings and listing pages expose different details, so not every row will have every field.

### Pricing

This actor uses pay-per-event pricing.

- A small one-time start event is charged when the run starts.
- A per-item event is charged for every franchise record saved.

Use small limits for tests. For production exports, set `maxItems` to the number of records you actually need.

### API usage with Node.js

Install the Apify API client:

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

Run the actor and read the dataset:

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

const client = new ApifyClient({
  token: process.env.APIFY_TOKEN,
});

const input = {
  startUrls: [
    { url: 'https://www.franchisedirect.com/top100globalfranchises/rankings' },
  ],
  maxItems: 50,
};

const run = await client.actor('automation-lab/franchisedirect-scraper').call(input);
const { items } = await client.dataset(run.defaultDatasetId).listItems({ limit: 50 });

console.log(items);
```

### API usage with Python

Install the Apify API client:

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

Run the actor and read the dataset:

```python
import os
from apify_client import ApifyClient

client = ApifyClient(os.environ['APIFY_TOKEN'])

run_input = {
    'startUrls': [
        {'url': 'https://www.franchisedirect.com/foodfranchises/14'},
    ],
    'maxItems': 50,
}

run = client.actor('automation-lab/franchisedirect-scraper').call(run_input=run_input)
items = client.dataset(run['defaultDatasetId']).list_items(limit=50).items

for item in items:
    print(item['name'], item.get('minCashRequired'), item['url'])
```

### API usage with cURL

Start a run:

```bash
curl -X POST \
  "https://api.apify.com/v2/acts/automation-lab~franchisedirect-scraper/runs?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "startUrls": [
      { "url": "https://www.franchisedirect.com/top100globalfranchises/rankings" }
    ],
    "maxItems": 50
  }'
```

After the run succeeds, replace `DATASET_ID` with the run's `defaultDatasetId`:

```bash
curl "https://api.apify.com/v2/datasets/DATASET_ID/items?clean=true&format=json&token=$APIFY_TOKEN"
```

### Using the actor from Apify MCP

You can expose this actor to Claude Desktop or another MCP-compatible client through Apify MCP.

CLI setup:

```bash
claude mcp add apify https://mcp.apify.com/?tools=automation-lab/franchisedirect-scraper
```

Desktop JSON configuration:

```json
{
  "mcpServers": {
    "apify": {
      "url": "https://mcp.apify.com/?tools=automation-lab/franchisedirect-scraper"
    }
  }
}
```

Useful MCP prompts:

- "Run `automation-lab/franchisedirect-scraper` for the FranchiseDirect Top 100 rankings with maxItems 50 and summarize the top sectors."
- "Scrape `https://www.franchisedirect.com/foodfranchises/14` and return franchise names, listing URLs, and minimum cash required."
- "Compare a Top 100 export and a food category export. Which franchise names appear in both?"

### Exporting and integrations

The default Apify dataset can be exported to:

- CSV for spreadsheets
- JSON for APIs and data pipelines
- Excel for manual review
- Google Sheets through Apify integrations
- Webhooks for downstream automation
- CRM enrichment workflows after your own compliance review

### Scheduling

Schedule recurring runs when you need a regular snapshot of public FranchiseDirect pages.

Suggested schedule patterns:

- Weekly Top 100 ranking export
- Monthly category refresh for target sectors
- Before-investment snapshot before manual due diligence

Store the dataset ID from each run if you need historical comparisons.

### FAQ

#### The run returned zero items

Check that your URL is a FranchiseDirect ranking, category, investment, or listing results page. The homepage and informational articles may not contain franchise listing cards.

#### Some fields are missing

FranchiseDirect does not show every field on every page. Ranking pages may have rank/country/sector fields, while category cards may have investment and quick-fact fields.

#### I received fewer records than `maxItems`

The selected pages may contain fewer public listings than your requested maximum, or duplicate listing URLs may have been skipped.

#### I need detail-page enrichment

This version focuses on public ranking and category/listing pages. If you need additional detail-page fields, open an issue with example FranchiseDirect URLs and the exact fields required.

### Limitations

- No login or account-only data is supported.
- No lead forms are submitted.
- No private franchisor data is requested.
- The actor depends on public HTML structure, so source-layout changes can affect extraction.
- Investment fields should be treated as research signals, not financial advice.

### Legality

This actor extracts public web pages that are visible without an account. You are responsible for using the data lawfully, respecting FranchiseDirect's terms, and following applicable privacy, marketing, and anti-spam rules.

Do not use exported data for unlawful targeting or unsolicited spam.

### Related automation-lab actors

These actors may complement franchise and business-opportunity research:

- [BizBuySell Scraper](https://apify.com/automation-lab/bizbuysell-scraper) — business acquisition listings and deal sourcing.
- [Clutch Scraper](https://apify.com/automation-lab/clutch-scraper) — company directory and agency research.
- [Google Search Scraper](https://apify.com/automation-lab/google-search-scraper) — search-result discovery for market research.
- [Google Maps Scraper](https://apify.com/automation-lab/google-maps-scraper) — local business discovery and location research.

### Support

If a FranchiseDirect page stops working or you need a new page type, open an issue with:

- The exact start URL
- The expected fields
- A sample row from the page, if possible
- The run ID where you saw the problem

Clear examples make it much faster to add extraction support.

# Actor input Schema

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

FranchiseDirect ranking, category, investment, or listing result pages to scrape.

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

Maximum number of franchise records to save across all start URLs.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://www.franchisedirect.com/top100globalfranchises/rankings"
    },
    {
      "url": "https://www.franchisedirect.com/foodfranchises/14"
    }
  ],
  "maxItems": 20
}
```

# 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 = {
    "startUrls": [
        {
            "url": "https://www.franchisedirect.com/top100globalfranchises/rankings"
        },
        {
            "url": "https://www.franchisedirect.com/foodfranchises/14"
        }
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("automation-lab/franchisedirect-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 = { "startUrls": [
        { "url": "https://www.franchisedirect.com/top100globalfranchises/rankings" },
        { "url": "https://www.franchisedirect.com/foodfranchises/14" },
    ] }

# Run the Actor and wait for it to finish
run = client.actor("automation-lab/franchisedirect-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 '{
  "startUrls": [
    {
      "url": "https://www.franchisedirect.com/top100globalfranchises/rankings"
    },
    {
      "url": "https://www.franchisedirect.com/foodfranchises/14"
    }
  ]
}' |
apify call automation-lab/franchisedirect-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "FranchiseDirect Franchise Listings Scraper",
        "description": "Scrape public FranchiseDirect franchise rankings and category pages for opportunity names, URLs, investment ranges, sectors, and locations.",
        "version": "0.1",
        "x-build-id": "Yr4r1Yfa962sajTIs"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/automation-lab~franchisedirect-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-automation-lab-franchisedirect-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/automation-lab~franchisedirect-scraper/runs": {
            "post": {
                "operationId": "runs-sync-automation-lab-franchisedirect-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/automation-lab~franchisedirect-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-automation-lab-franchisedirect-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "startUrls"
                ],
                "properties": {
                    "startUrls": {
                        "title": "Start URLs",
                        "type": "array",
                        "description": "FranchiseDirect ranking, category, investment, or listing result pages to scrape.",
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "maxItems": {
                        "title": "Maximum franchises",
                        "minimum": 1,
                        "maximum": 10000,
                        "type": "integer",
                        "description": "Maximum number of franchise records to save across all start URLs.",
                        "default": 20
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
