{
  "openapi": "3.0.1",
  "info": {
    "title": "Domain Analysis | SE Ranking SEO & AI Search API",
    "description": "This collection of endpoints allows you to perform in-depth competitive analysis on any domain. Use these requests to uncover keyword strategies, traffic trends, and competitor performance in both organic and paid search.",
    "version": "0.0",
    "x-build-id": "uyn9F8FCt6eqcFBMu"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/se_ranking~domain-analysis/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-se_ranking-domain-analysis",
        "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/se_ranking~domain-analysis/runs": {
      "post": {
        "operationId": "runs-sync-se_ranking-domain-analysis",
        "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/se_ranking~domain-analysis/run-sync": {
      "post": {
        "operationId": "run-sync-se_ranking-domain-analysis",
        "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": [
          "endpoint"
        ],
        "properties": {
          "endpoint": {
            "title": "Endpoint",
            "enum": [
              "overview/db",
              "overview/worldwide",
              "overview/worldwide/url",
              "overview/history",
              "keywords",
              "pages",
              "subdomains",
              "ads",
              "competitors",
              "keywords/comparison"
            ],
            "type": "string",
            "description": "Which Domain Analysis endpoint to call. This field is NOT sent to the API — the Actor uses it to pick the base URL and to decide which of the fields below are relevant.",
            "default": "overview/db"
          },
          "source": {
            "title": "source",
            "type": "string",
            "description": "API param: source. Country code of the regional keyword database, e.g. us, uk, de. Required for: overview/db, overview/history, keywords, pages, subdomains, ads, competitors, keywords/comparison. Not used by: overview/worldwide, overview/worldwide/url (those are worldwide-aggregated).",
            "default": "us"
          },
          "domain": {
            "title": "domain",
            "type": "string",
            "description": "API param: domain. Domain to analyze, e.g. seranking.com. Required for: overview/db, overview/worldwide, overview/history, competitors. Optional (mutually exclusive with url) for: keywords, keywords/comparison. For ads: provide domain here for the 'ads run BY this domain' query — leave empty and use keyword instead for the 'who advertises ON this keyword' query. Not used by: overview/worldwide/url, pages, subdomains (they use target instead).",
            "default": "seranking.com"
          },
          "url": {
            "title": "url",
            "type": "string",
            "description": "API param: url. Specific URL to analyze instead of a root domain. Required for: overview/worldwide/url. Optional alternative to domain for: overview/db, overview/history, keywords, keywords/comparison — when both are sent for keywords, url wins and domain is silently dropped."
          },
          "with_subdomains": {
            "title": "with_subdomains",
            "enum": [
              "1",
              "0"
            ],
            "type": "string",
            "description": "API param: with_subdomains. Whether to include subdomain data. Used by: overview/db, overview/worldwide, overview/history, keywords (ignored there if url is supplied instead of domain). Not used by: pages, subdomains (they use scope instead), overview/worldwide/url, ads, competitors, keywords/comparison.",
            "default": "1"
          },
          "type": {
            "title": "type",
            "enum": [
              "organic",
              "adv"
            ],
            "type": "string",
            "description": "API param: type. organic vs paid search traffic. Used by: overview/history, keywords, pages, subdomains, competitors, keywords/comparison (default organic everywhere it appears). Not used by: overview/db, overview/worldwide, overview/worldwide/url, ads.",
            "default": "organic"
          },
          "target": {
            "title": "target",
            "type": "string",
            "description": "API param: target. Root domain to analyze, e.g. example.com. Required for: pages, subdomains. Not used by any other endpoint (those use domain/url instead). For pages specifically, if you set scope=url below, put the full URL here instead of a bare domain. Schema default: seranking.com (so the Actor works out of the box for pages/subdomains).",
            "default": "seranking.com"
          },
          "scope": {
            "title": "scope",
            "type": "string",
            "description": "API param: scope. Required for: pages, subdomains — but the SET OF VALID VALUES DIFFERS between them, so this is a free-text field rather than a dropdown. For pages, valid values are: base_domain (all subdomains under the registrable domain), domain (this exact host only), url (a single specific URL — put it in target above). For subdomains, valid values are only: base_domain or domain (no url option there). Schema default: base_domain (valid for both pages and subdomains).",
            "default": "base_domain"
          },
          "currency": {
            "title": "currency",
            "type": "string",
            "description": "API param: currency. ISO 4217 currency code for monetary values in the response, e.g. USD, EUR, GBP. Used only by: overview/worldwide. Default: USD.",
            "default": "USD"
          },
          "fields": {
            "title": "fields",
            "type": "string",
            "description": "API param: fields. Comma-separated list of data categories to include. VALID VALUES DIFFER BY ENDPOINT: for overview/worldwide — price, traffic, keywords, positions_diff, positions_tops (default if omitted: price,traffic,keywords). For overview/worldwide/url — only keywords, traffic, price (no default; omit to get none/varies — check response). Not used by any other endpoint. Schema default: price,traffic,keywords (valid for both endpoints that use it).",
            "default": "price,traffic,keywords"
          },
          "show_zones_list": {
            "title": "show_zones_list",
            "enum": [
              "1",
              "0"
            ],
            "type": "string",
            "description": "API param: show_zones_list. Whether to include a per-country breakdown alongside the worldwide aggregate. Used only by: overview/worldwide.",
            "default": "0"
          },
          "year": {
            "title": "year",
            "type": "integer",
            "description": "API param: year. Year of the historical keyword snapshot. Used only by: keywords. Must be supplied together with month, or both are ignored and the current snapshot returns instead. Historical responses use a different response schema than current ones."
          },
          "month": {
            "title": "month",
            "minimum": 1,
            "maximum": 12,
            "type": "integer",
            "description": "API param: month. Month (1-12) of the historical keyword snapshot. Used only by: keywords. Must be supplied together with year."
          },
          "page": {
            "title": "page",
            "minimum": 1,
            "type": "integer",
            "description": "API param: page. Page number for paginated results. Used by: keywords, ads, keywords/comparison. Default 1 everywhere it's used.",
            "default": 1
          },
          "limit": {
            "title": "limit",
            "minimum": 1,
            "type": "integer",
            "description": "API param: limit. Page size. VALID RANGE DIFFERS BY ENDPOINT: keywords — 1 to 1000, default 100 (values above 1000 silently capped). keywords/comparison — 1 to 1000, default 100. ads — 1 to 100, default 100. pages / subdomains — no stated upper bound in docs, default 1000. Schema default: 10 — a small, safe value valid for every endpoint (handy for testing). Raise it for real runs.",
            "default": 10
          },
          "offset": {
            "title": "offset",
            "minimum": 0,
            "type": "integer",
            "description": "API param: offset. Starting position for the paginated list. Used by: pages, subdomains. Schema default: 0.",
            "default": 0
          },
          "order_field": {
            "title": "order_field",
            "type": "string",
            "description": "API param: order_field. Sort key. VALID VALUES DIFFER BY ENDPOINT: keywords — traffic, volume, position, cpc, competition, kei, difficulty, traffic_percent, price (default: traffic). pages / subdomains — keywords_count, traffic_sum, traffic_percent, price_sum (default: keywords_count). keywords/comparison — keyword, volume, cpc, competition, difficulty, position (default: keyword)."
          },
          "order_type": {
            "title": "order_type",
            "enum": [
              "",
              "asc",
              "desc"
            ],
            "type": "string",
            "description": "API param: order_type. Sort direction. Used by: keywords, pages, subdomains (API default: desc) and keywords/comparison (API default: asc). Deliberately no schema default, so every endpoint keeps its own API default when this is left empty."
          },
          "cols": {
            "title": "cols",
            "type": "string",
            "description": "API param: cols. Comma-separated list of response fields to return; invalid names are silently dropped; leave empty for the default set. Used by: keywords, keywords/comparison. VALID VALUES DIFFER BY ENDPOINT. keywords — keyword, position, prev_pos, volume, cpc, competition, difficulty, url, total_sites, traffic, traffic_percent, price, intents, serp_features, block_type, block_position (default: all 16; paid-only when type=adv: block, snippet_num, snippets_count, snippet_title, snippet_description, snippet_display_url; 'kei' is a valid order_field but not a column). keywords/comparison — keyword, volume, cpc, competition, difficulty, total_sites, position, url, price, traffic, compare_position, compare_url, compare_price, compare_traffic, intents, serp_features."
          },
          "pos_change": {
            "title": "pos_change",
            "enum": [
              "",
              "up",
              "down",
              "new",
              "lost",
              "diff",
              "same"
            ],
            "type": "string",
            "description": "API param: pos_change. Selects keywords by how their position changed vs. the previous snapshot. Used only by: keywords."
          },
          "filter[volume][from]": {
            "title": "filter[volume][from]",
            "minimum": 0,
            "type": "integer",
            "description": "API param: filter[volume][from]. Minimum monthly search volume. Used by: keywords, keywords/comparison."
          },
          "filter[volume][to]": {
            "title": "filter[volume][to]",
            "minimum": 0,
            "type": "integer",
            "description": "API param: filter[volume][to]. Maximum monthly search volume. Used by: keywords, keywords/comparison."
          },
          "filter[traffic][from]": {
            "title": "filter[traffic][from]",
            "minimum": 0,
            "type": "integer",
            "description": "API param: filter[traffic][from]. Minimum estimated monthly traffic to the ranking URL. Used only by: keywords."
          },
          "filter[traffic][to]": {
            "title": "filter[traffic][to]",
            "minimum": 0,
            "type": "integer",
            "description": "API param: filter[traffic][to]. Maximum estimated monthly traffic to the ranking URL. Used only by: keywords."
          },
          "filter[traffic_percent][from]": {
            "title": "filter[traffic_percent][from]",
            "type": "number",
            "description": "API param: filter[traffic_percent][from]. Minimum share (%) of the keyword's total traffic captured by the domain. Used only by: keywords."
          },
          "filter[traffic_percent][to]": {
            "title": "filter[traffic_percent][to]",
            "type": "number",
            "description": "API param: filter[traffic_percent][to]. Maximum share (%) of the keyword's total traffic captured by the domain. Used only by: keywords."
          },
          "filter[position][from]": {
            "title": "filter[position][from]",
            "minimum": 1,
            "type": "integer",
            "description": "API param: filter[position][from]. Minimum ranking position. Used only by: keywords."
          },
          "filter[position][to]": {
            "title": "filter[position][to]",
            "minimum": 1,
            "type": "integer",
            "description": "API param: filter[position][to]. Maximum ranking position. Used only by: keywords."
          },
          "filter[keyword_count][from]": {
            "title": "filter[keyword_count][from]",
            "minimum": 1,
            "type": "integer",
            "description": "API param: filter[keyword_count][from]. Minimum number of words in the keyword phrase. Used only by: keywords."
          },
          "filter[keyword_count][to]": {
            "title": "filter[keyword_count][to]",
            "minimum": 1,
            "type": "integer",
            "description": "API param: filter[keyword_count][to]. Maximum number of words in the keyword phrase. Used only by: keywords."
          },
          "filter[characters_count][from]": {
            "title": "filter[characters_count][from]",
            "minimum": 1,
            "type": "integer",
            "description": "API param: filter[characters_count][from]. Minimum character length of the keyword phrase. Used only by: keywords."
          },
          "filter[characters_count][to]": {
            "title": "filter[characters_count][to]",
            "minimum": 1,
            "type": "integer",
            "description": "API param: filter[characters_count][to]. Maximum character length of the keyword phrase. Used only by: keywords."
          },
          "filter[cpc][from]": {
            "title": "filter[cpc][from]",
            "minimum": 0,
            "type": "number",
            "description": "API param: filter[cpc][from]. Minimum cost per click, USD. Used by: keywords, keywords/comparison."
          },
          "filter[cpc][to]": {
            "title": "filter[cpc][to]",
            "minimum": 0,
            "type": "number",
            "description": "API param: filter[cpc][to]. Maximum cost per click, USD. Used by: keywords, keywords/comparison."
          },
          "filter[price][from]": {
            "title": "filter[price][from]",
            "minimum": 0,
            "type": "number",
            "description": "API param: filter[price][from]. Minimum estimated traffic value (PPC-equivalent), USD. Used only by: keywords."
          },
          "filter[price][to]": {
            "title": "filter[price][to]",
            "minimum": 0,
            "type": "number",
            "description": "API param: filter[price][to]. Maximum estimated traffic value (PPC-equivalent), USD. Used only by: keywords."
          },
          "filter[competition][from]": {
            "title": "filter[competition][from]",
            "minimum": 0,
            "maximum": 1,
            "type": "number",
            "description": "API param: filter[competition][from]. Minimum competition score, 0.00-1.00. Used by: keywords, keywords/comparison."
          },
          "filter[competition][to]": {
            "title": "filter[competition][to]",
            "minimum": 0,
            "maximum": 1,
            "type": "number",
            "description": "API param: filter[competition][to]. Maximum competition score, 0.00-1.00. Used by: keywords, keywords/comparison."
          },
          "filter[difficulty][from]": {
            "title": "filter[difficulty][from]",
            "minimum": 0,
            "maximum": 100,
            "type": "integer",
            "description": "API param: filter[difficulty][from]. Minimum keyword difficulty, 0-100. Used by: keywords, keywords/comparison."
          },
          "filter[difficulty][to]": {
            "title": "filter[difficulty][to]",
            "minimum": 0,
            "maximum": 100,
            "type": "integer",
            "description": "API param: filter[difficulty][to]. Maximum keyword difficulty, 0-100. Used by: keywords, keywords/comparison."
          },
          "filter[keyword]": {
            "title": "filter[keyword]",
            "type": "string",
            "description": "API param: filter[keyword]. Plain substring match on the keyword text, e.g. vegas — send plain text, NOT JSON (JSON formats return no rows). The docs say 'case-insensitive', but the API matches case-sensitively against lowercase keywords ('SEO' and 'Ranking' returned no rows, 'seo' worked), so the Actor lowercases the value automatically. Verified on keywords/comparison; the keywords endpoint uses the same plain-text format. For advanced logic (AND/OR, begins/ends/exact) use filter[multi_keyword_included]. Used by: keywords, keywords/comparison."
          },
          "filter[multi_keyword_included]": {
            "title": "filter[multi_keyword_included]",
            "type": "string",
            "description": "API param: filter[multi_keyword_included]. Keyword must contain these tokens. Used by: keywords, keywords/comparison. Matching is case-sensitive against lowercase keywords ('Ranking' returned no rows), so plain text you type is lowercased and wrapped automatically into a single 'contains' condition. For advanced logic paste raw JSON (sent untouched — use lowercase values), e.g. [[{\"type\":\"contains\",\"value\":\"seo tools\"},{\"type\":\"begins\",\"value\":\"free\"}]] — inner array = AND, outer array = OR. Supported types: contains, begins, ends, exact."
          },
          "filter[multi_keyword_excluded]": {
            "title": "filter[multi_keyword_excluded]",
            "type": "string",
            "description": "API param: filter[multi_keyword_excluded]. Same structure and automatic lowercasing/wrapping of plain text as multi_keyword_included, but keywords matching the condition are excluded. Raw JSON is sent untouched (use lowercase values). Used by: keywords, keywords/comparison."
          },
          "filter[url]": {
            "title": "filter[url]",
            "type": "string",
            "description": "API param: filter[url]. Filter by ranking URL (substring), single condition only — no OR logic (unlike multi_keyword filters). Plain text such as /blog is wrapped automatically into [[{\"type\":\"contains\",\"value\":\"/blog\"}]]; raw JSON starting with [ is sent untouched. Used only by: keywords. For an exact single-URL match use the top-level url field in Base parameters instead."
          },
          "filter[intents]": {
            "title": "filter[intents]",
            "type": "string",
            "description": "API param: filter[intents]. Comma-separated intent codes: I (informational), N (navigational), T (transactional), C (commercial), L (local). Keyword passes if ANY listed intent matches. Used by: keywords, keywords/comparison."
          },
          "filter[serp_features]": {
            "title": "filter[serp_features]",
            "type": "string",
            "description": "API param: filter[serp_features]. Comma-separated SERP feature codes (e.g. sitelinks, video, sge, reviews, people_also_ask). Matches when the SERP shows this feature at all, regardless of whether the analyzed domain appears inside it. Used by: keywords, keywords/comparison. For 'domain is cited inside the feature', use filter[serp_features_2][mode]/[value] instead."
          },
          "filter[serp_features_2][mode]": {
            "title": "filter[serp_features_2][mode]",
            "enum": [
              "",
              "with_link",
              "without_link"
            ],
            "type": "string",
            "description": "API param: filter[serp_features_2][mode]. Whether the analyzed domain must be cited inside the SERP feature(s), or must be absent (citation-gap opportunities). Used only by: keywords, together with filter[serp_features_2][value]."
          },
          "filter[serp_features_2][value]": {
            "title": "filter[serp_features_2][value]",
            "type": "string",
            "description": "API param: filter[serp_features_2][value]. Comma-separated SERP feature codes to check citation for, e.g. sge,reviews. Used only by: keywords, together with filter[serp_features_2][mode]."
          },
          "filter[domain_url]": {
            "title": "filter[domain_url]",
            "type": "string",
            "description": "API param: filter[domain_url]. URL/host text that must be included — send plain text, e.g. /blog, NOT JSON (verified on pages: /blog and blog both work; the JSON format the docs describe returns no rows). Sent exactly as typed. Used by: pages, subdomains (subdomains uses the same parameter but is not separately tested)."
          },
          "filter[domain_traffic_percent][from]": {
            "title": "filter[domain_traffic_percent][from]",
            "type": "number",
            "description": "API param: filter[domain_traffic_percent][from]. Minimum % of total domain traffic contributed by the page/subdomain. Used by: pages, subdomains."
          },
          "filter[domain_traffic_percent][to]": {
            "title": "filter[domain_traffic_percent][to]",
            "type": "number",
            "description": "API param: filter[domain_traffic_percent][to]. Maximum % of total domain traffic contributed by the page/subdomain. Used by: pages, subdomains."
          },
          "filter[keywords_count][from]": {
            "title": "filter[keywords_count][from]",
            "type": "integer",
            "description": "API param: filter[keywords_count][from]. Minimum number of ranking keywords for the page/subdomain. Used by: pages, subdomains. (Not to be confused with filter[keyword_count] under keywords, which counts words in a keyword phrase.)"
          },
          "filter[keywords_count][to]": {
            "title": "filter[keywords_count][to]",
            "type": "integer",
            "description": "API param: filter[keywords_count][to]. Maximum number of ranking keywords for the page/subdomain. Used by: pages, subdomains."
          },
          "filter[traffic_sum][from]": {
            "title": "filter[traffic_sum][from]",
            "type": "integer",
            "description": "API param: filter[traffic_sum][from]. Minimum estimated monthly traffic for the page/subdomain. Used by: pages, subdomains."
          },
          "filter[traffic_sum][to]": {
            "title": "filter[traffic_sum][to]",
            "type": "integer",
            "description": "API param: filter[traffic_sum][to]. Maximum estimated monthly traffic for the page/subdomain. Used by: pages, subdomains."
          },
          "filter[price_sum][from]": {
            "title": "filter[price_sum][from]",
            "type": "number",
            "description": "API param: filter[price_sum][from]. Minimum estimated traffic value (PPC equivalent) for the page/subdomain. Used by: pages, subdomains."
          },
          "filter[price_sum][to]": {
            "title": "filter[price_sum][to]",
            "type": "number",
            "description": "API param: filter[price_sum][to]. Maximum estimated traffic value (PPC equivalent) for the page/subdomain. Used by: pages, subdomains."
          },
          "keyword": {
            "title": "keyword",
            "type": "string",
            "description": "API param: keyword. Keyword to look up advertisers for. Used only by: ads — provide this (leave domain empty) to run the 'who advertises ON this keyword' query. If you provide domain instead, the Actor runs the 'ads run BY this domain' query."
          },
          "from": {
            "title": "from",
            "type": "string",
            "description": "API param: from. Start of the data retrieval period, format YYYY-MM, e.g. 2023-01. Used only by: ads. Leave empty for all available data."
          },
          "to": {
            "title": "to",
            "type": "string",
            "description": "API param: to. End of the data retrieval period, format YYYY-MM, e.g. 2023-12. Used only by: ads. Leave empty for all available data."
          },
          "compare": {
            "title": "compare",
            "type": "string",
            "description": "API param: compare. Competitor domain or full URL to compare against your primary domain/url (Base parameters). Used only by: keywords/comparison. Must match the type of your primary parameter — domain vs domain, or URL vs URL. Schema default: semrush.com (only sent to keywords/comparison).",
            "default": "semrush.com"
          },
          "diff": {
            "title": "diff",
            "enum": [
              "0",
              "1"
            ],
            "type": "string",
            "description": "API param: diff. Comparison mode. Used only by: keywords/comparison. 0 = common keywords (both compare and the primary domain rank: A ∩ B). 1 = keyword gap (the primary domain ranks, the compare domain does not: A − B). To get the competitor's unique keywords (B − A), swap domain and compare and keep diff=1.",
            "default": "0"
          }
        }
      },
      "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}