# Similar App Store Applications Finder (`automation-lab/similar-app-store-applications-finder`) Actor

Find similar iOS App Store apps from seed URLs, IDs, or keywords. Build ASO competitor maps with ratings, genres, prices, and URLs.

- **URL**: https://apify.com/automation-lab/similar-app-store-applications-finder.md
- **Developed by:** [Stas Persiianenko](https://apify.com/automation-lab) (community)
- **Categories:** Marketing, E-commerce
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.01 / 1,000 similar app items

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
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.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

## Similar App Store Applications Finder

Find similar iOS App Store applications from seed app URLs, app IDs, or keyword-discovered seed apps.

Use this actor to build ASO competitor maps, discover adjacent apps, compare categories, and monitor app-market neighborhoods without logging in or managing API keys.

### What does Similar App Store Applications Finder do?

Similar App Store Applications Finder turns one or more iOS App Store seed apps into a ranked dataset of related applications.

It combines public Apple App Store pages with iTunes Search and Lookup JSON endpoints.

For each seed app, it extracts candidates from App Store shelves such as “You Might Also Like” and, optionally, same-developer sections.

When shelves are short, it can fall back to iTunes Search using the seed app name, genre, and your extra fallback terms.

The output is normalized into one dataset with seed context, source section, ranking, app metadata, ratings, prices, URLs, artwork, version details, and scrape timestamps.

### Who is it for?

- 📈 ASO teams researching competing apps around a seed application.
- 🧭 App marketers building market maps for a category or niche.
- 🧪 Product managers validating adjacent products before roadmap planning.
- 💼 Investors scanning similar apps for app-store due diligence.
- 🧰 Agencies creating recurring competitor discovery reports for clients.
- 📊 Data teams enriching app databases with related-app signals.

### Why use this actor?

Apple's public pages are useful, but manually clicking every related app is slow and hard to repeat.

This actor makes the workflow repeatable and exportable.

You can run it from the Apify Console, API, scheduler, webhooks, or MCP.

The dataset is ready for spreadsheets, BI dashboards, data warehouses, and downstream enrichment actors.

### How it works

1. Provide App Store app URLs, numeric app IDs, search terms, or a mix.
2. The actor resolves seed apps with the iTunes Lookup/Search endpoints.
3. It downloads each public App Store page over HTTP.
4. It parses related-app and same-developer shelves when present.
5. It expands short shelves with optional search fallback terms.
6. It looks up candidate app metadata in batches.
7. It emits one normalized record per similar app per seed.

### Input options

- `appUrls` — App Store URLs, for example `https://apps.apple.com/us/app/spotify-music-and-podcasts/id324684580`.
- `appIds` — Numeric iOS app IDs such as `324684580`.
- `searchTerms` — Terms used to discover seed apps through iTunes Search.
- `country` — Two-letter App Store country code such as `us`, `gb`, or `de`.
- `maxSeeds` — Maximum seed apps to process.
- `maxResultsPerSeed` — Maximum similar apps emitted per seed.
- `includeSameDeveloper` — Include “More by this developer” apps.
- `includeSearchFallback` — Use search fallback when page shelves are short.
- `fallbackSearchTerms` — Extra market/category terms used during fallback.

### Example input

```json
{
  "appUrls": [
    { "url": "https://apps.apple.com/us/app/spotify-music-and-podcasts/id324684580" },
    { "url": "https://apps.apple.com/us/app/duolingo-language-lessons/id570060128" }
  ],
  "country": "us",
  "maxSeeds": 2,
  "maxResultsPerSeed": 50,
  "includeSameDeveloper": true,
  "includeSearchFallback": true,
  "fallbackSearchTerms": ["music streaming", "language learning"]
}
````

### Output data

Each dataset item is one related app for one seed app.

| Field | Description |
| --- | --- |
| `seedAppId` | Numeric ID of the seed app. |
| `seedAppName` | Seed app name. |
| `seedDeveloperName` | Seed app developer. |
| `seedUrl` | App Store URL for the seed. |
| `country` | App Store country used for the run. |
| `sourceSection` | Discovery source such as `you_might_also_like`, `same_developer`, or `search:<term>`. |
| `rank` | Rank within the seed/source candidate list. |
| `appId` | Numeric ID of the similar app. |
| `trackName` | Similar app name. |
| `developerName` | Similar app developer. |
| `developerId` | Apple developer ID. |
| `bundleId` | iOS bundle ID. |
| `primaryGenreName` | Primary App Store genre. |
| `genres` | Genre list returned by Apple. |
| `averageUserRating` | Average user rating when available. |
| `userRatingCount` | Rating count when available. |
| `price` | Numeric price. |
| `formattedPrice` | Display price such as `Free`. |
| `currency` | Currency code. |
| `isFree` | Whether the app is free to download. |
| `trackViewUrl` | App Store URL. |
| `artworkUrl` | High-resolution artwork URL. |
| `descriptionSnippet` | Short app description snippet. |
| `version` | Current version. |
| `releaseDate` | First release timestamp. |
| `currentVersionReleaseDate` | Current version release timestamp. |
| `contentAdvisoryRating` | App Store age rating. |
| `sellerName` | Seller/legal entity. |
| `minimumOsVersion` | Minimum iOS version. |
| `scrapedAt` | Actor scrape timestamp. |

### How much does it cost to find similar App Store applications?

This actor uses pay-per-event pricing.

There is a small start charge per run and a per-item charge for every similar app record produced.

Current baseline pricing before volume discounts:

- Start: `$0.005` per run.
- Similar app item: formula-derived tiered price from `$0.000026195` on the free tier, `$0.000022778` on Bronze, and lower prices on higher Apify plans.

Because the actor uses public HTTP endpoints and no browser automation, compute costs are typically low.

Use `maxSeeds` and `maxResultsPerSeed` to control dataset size.

### Tips for better results

- Use real App Store URLs when you know the exact seed app.
- Use `searchTerms` when you want to start from a market niche instead of a known app.
- Keep `includeSearchFallback` enabled for larger competitor maps.
- Turn off `includeSameDeveloper` when you only want broader competitors, not portfolio neighbors.
- Set the `country` to the market you actually analyze because App Store rankings and availability vary by country.
- Add category-specific `fallbackSearchTerms` such as `habit tracker`, `invoice maker`, or `meal planner`.

### Common workflows

#### ASO competitor map

Start with your own app URL.

Set `maxResultsPerSeed` to 100.

Export the dataset to CSV and group by genre, rating count, and developer.

#### Investor app-market scan

Start with several leading apps in a category.

Keep same-developer apps enabled.

Use output fields such as rating count, rating score, seller, genre, and release dates for a first-pass market map.

#### Agency monitoring

Save one Apify task per client app.

Run it weekly.

Compare new related apps against previous datasets in your BI tool or database.

### Integrations

- Send dataset items to Google Sheets for lightweight ASO research.
- Connect Apify webhooks to Slack when new runs finish.
- Store app IDs and URLs in BigQuery, Snowflake, or PostgreSQL.
- Chain the results into automation-lab App Store detail, reviews, keyword, or chart actors when those are useful for your workflow.

### API usage

#### Node.js

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

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/similar-app-store-applications-finder').call({
  appIds: ['324684580'],
  country: 'us',
  maxSeeds: 1,
  maxResultsPerSeed: 50,
});
console.log(run.defaultDatasetId);
```

#### Python

```python
from apify_client import ApifyClient

client = ApifyClient('YOUR_APIFY_TOKEN')
run = client.actor('automation-lab/similar-app-store-applications-finder').call(run_input={
    'appIds': ['324684580'],
    'country': 'us',
    'maxSeeds': 1,
    'maxResultsPerSeed': 50,
})
print(run['defaultDatasetId'])
```

#### cURL

```bash
curl -X POST "https://api.apify.com/v2/acts/automation-lab~similar-app-store-applications-finder/runs?token=$APIFY_TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{"appIds":["324684580"],"country":"us","maxResultsPerSeed":50}'
```

### MCP usage

Use the actor from Claude Desktop, Claude Code, or another MCP-compatible client through Apify MCP.

MCP server URL:

```text
https://mcp.apify.com/?tools=automation-lab/similar-app-store-applications-finder
```

Claude Code setup:

```bash
claude mcp add apify-similar-apps "https://mcp.apify.com/?tools=automation-lab/similar-app-store-applications-finder"
```

Claude Desktop JSON config:

```json
{
  "mcpServers": {
    "apify-similar-apps": {
      "url": "https://mcp.apify.com/?tools=automation-lab/similar-app-store-applications-finder"
    }
  }
}
```

Example prompts:

- “Find similar App Store apps for Spotify in the US and summarize the top music competitors.”
- “Run the Similar App Store Applications Finder for this app ID and return apps with more than 100k ratings.”
- “Build a competitor table for these three language-learning apps.”

### Legality

This actor uses public App Store pages and public iTunes endpoints.

It does not log in, bypass paywalls, or collect private user data.

You are responsible for using the results in compliance with applicable laws, Apple terms, and your own data policies.

### FAQ

#### Why are there fewer results than my limit?

Apple may expose only a small related-app shelf for some seed apps.

Keep search fallback enabled and add relevant fallback terms to increase coverage.

#### Why do country results differ?

App availability, localization, categories, and App Store shelves can vary by country.

Run separate tasks for each market you monitor.

#### Can I use Android apps?

No.

This actor targets Apple's iOS App Store.

Use a Google Play actor for Android workflows.

### Related automation-lab actors

- https://apify.com/automation-lab/app-store-reviews-scraper
- https://apify.com/automation-lab/apple-app-store-scraper
- https://apify.com/automation-lab/app-store-keywords-discovery-tool
- https://apify.com/automation-lab/google-play-scraper

### Limitations

- The actor depends on public Apple endpoints and page markup.
- Some pages expose fewer related apps than others.
- Ratings and pricing are returned by Apple's country-scoped endpoints and may differ across markets.
- The actor does not install, open, or interact with apps.

### Changelog

- `0.1` — Initial private build for seed-app similar application discovery.

# Actor input Schema

## `appUrls` (type: `array`):

Apple App Store app URLs to use as seed apps. Example: https://apps.apple.com/us/app/spotify-music-and-podcasts/id324684580

## `appIds` (type: `array`):

Numeric App Store app IDs. You can mix IDs with URLs and search terms.

## `searchTerms` (type: `array`):

Optional iTunes Search terms. Top apps from each term become additional seed apps.

## `country` (type: `string`):

Two-letter App Store country code used for lookup, search, and localized App Store pages.

## `maxSeeds` (type: `integer`):

Maximum number of normalized seed apps to process after IDs, URLs, and search terms are combined.

## `maxResultsPerSeed` (type: `integer`):

Maximum related/similar app records emitted for each seed app.

## `includeSameDeveloper` (type: `boolean`):

Include apps from the App Store “More by this developer” shelf. Turn off if you only want broader market competitors.

## `includeSearchFallback` (type: `boolean`):

Use iTunes Search on the seed app name/category when App Store related shelves do not contain enough candidates.

## `fallbackSearchTerms` (type: `array`):

Optional terms added to each seed's fallback search, such as category keywords or market-map themes.

## Actor input object example

```json
{
  "appUrls": [
    {
      "url": "https://apps.apple.com/us/app/spotify-music-and-podcasts/id324684580"
    },
    {
      "url": "https://apps.apple.com/us/app/duolingo-language-lessons/id570060128"
    }
  ],
  "appIds": [
    "324684580"
  ],
  "searchTerms": [
    "fitness tracker"
  ],
  "country": "us",
  "maxSeeds": 3,
  "maxResultsPerSeed": 20,
  "includeSameDeveloper": true,
  "includeSearchFallback": true,
  "fallbackSearchTerms": [
    "music streaming",
    "language learning"
  ]
}
```

# 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 = {
    "appUrls": [
        {
            "url": "https://apps.apple.com/us/app/spotify-music-and-podcasts/id324684580"
        },
        {
            "url": "https://apps.apple.com/us/app/duolingo-language-lessons/id570060128"
        }
    ],
    "appIds": [
        "324684580"
    ],
    "searchTerms": [
        "fitness tracker"
    ],
    "country": "us",
    "maxSeeds": 3,
    "maxResultsPerSeed": 20,
    "includeSameDeveloper": true,
    "includeSearchFallback": true,
    "fallbackSearchTerms": [
        "music streaming",
        "language learning"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("automation-lab/similar-app-store-applications-finder").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 = {
    "appUrls": [
        { "url": "https://apps.apple.com/us/app/spotify-music-and-podcasts/id324684580" },
        { "url": "https://apps.apple.com/us/app/duolingo-language-lessons/id570060128" },
    ],
    "appIds": ["324684580"],
    "searchTerms": ["fitness tracker"],
    "country": "us",
    "maxSeeds": 3,
    "maxResultsPerSeed": 20,
    "includeSameDeveloper": True,
    "includeSearchFallback": True,
    "fallbackSearchTerms": [
        "music streaming",
        "language learning",
    ],
}

# Run the Actor and wait for it to finish
run = client.actor("automation-lab/similar-app-store-applications-finder").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 '{
  "appUrls": [
    {
      "url": "https://apps.apple.com/us/app/spotify-music-and-podcasts/id324684580"
    },
    {
      "url": "https://apps.apple.com/us/app/duolingo-language-lessons/id570060128"
    }
  ],
  "appIds": [
    "324684580"
  ],
  "searchTerms": [
    "fitness tracker"
  ],
  "country": "us",
  "maxSeeds": 3,
  "maxResultsPerSeed": 20,
  "includeSameDeveloper": true,
  "includeSearchFallback": true,
  "fallbackSearchTerms": [
    "music streaming",
    "language learning"
  ]
}' |
apify call automation-lab/similar-app-store-applications-finder --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Similar App Store Applications Finder",
        "description": "Find similar iOS App Store apps from seed URLs, IDs, or keywords. Build ASO competitor maps with ratings, genres, prices, and URLs.",
        "version": "0.1",
        "x-build-id": "ZBgcD27uANfm7hTWw"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/automation-lab~similar-app-store-applications-finder/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-automation-lab-similar-app-store-applications-finder",
                "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~similar-app-store-applications-finder/runs": {
            "post": {
                "operationId": "runs-sync-automation-lab-similar-app-store-applications-finder",
                "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~similar-app-store-applications-finder/run-sync": {
            "post": {
                "operationId": "run-sync-automation-lab-similar-app-store-applications-finder",
                "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": {
                    "appUrls": {
                        "title": "📱 App Store app URLs",
                        "type": "array",
                        "description": "Apple App Store app URLs to use as seed apps. Example: https://apps.apple.com/us/app/spotify-music-and-podcasts/id324684580",
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "appIds": {
                        "title": "🔢 App IDs",
                        "type": "array",
                        "description": "Numeric App Store app IDs. You can mix IDs with URLs and search terms.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "searchTerms": {
                        "title": "🔎 Search terms for seed discovery",
                        "type": "array",
                        "description": "Optional iTunes Search terms. Top apps from each term become additional seed apps.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "country": {
                        "title": "🌍 App Store country",
                        "minLength": 2,
                        "maxLength": 2,
                        "type": "string",
                        "description": "Two-letter App Store country code used for lookup, search, and localized App Store pages.",
                        "default": "us"
                    },
                    "maxSeeds": {
                        "title": "Maximum seed apps",
                        "minimum": 1,
                        "maximum": 50,
                        "type": "integer",
                        "description": "Maximum number of normalized seed apps to process after IDs, URLs, and search terms are combined.",
                        "default": 3
                    },
                    "maxResultsPerSeed": {
                        "title": "Maximum similar apps per seed",
                        "minimum": 1,
                        "maximum": 200,
                        "type": "integer",
                        "description": "Maximum related/similar app records emitted for each seed app.",
                        "default": 20
                    },
                    "includeSameDeveloper": {
                        "title": "Include same-developer apps",
                        "type": "boolean",
                        "description": "Include apps from the App Store “More by this developer” shelf. Turn off if you only want broader market competitors.",
                        "default": true
                    },
                    "includeSearchFallback": {
                        "title": "Use search fallback",
                        "type": "boolean",
                        "description": "Use iTunes Search on the seed app name/category when App Store related shelves do not contain enough candidates.",
                        "default": true
                    },
                    "fallbackSearchTerms": {
                        "title": "Extra fallback search terms",
                        "type": "array",
                        "description": "Optional terms added to each seed's fallback search, such as category keywords or market-map themes.",
                        "items": {
                            "type": "string"
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
