{
  "openapi": "3.0.1",
  "info": {
    "title": "LinkedIn Ad Library Scraper",
    "description": "Extract LinkedIn ads from the LinkedIn Ad Library: creatives, impressions by country, targeting and paying entity. No login. Export CSV, JSON, Excel.",
    "version": "0.7",
    "x-build-id": "BupYLg1ZwSjiYPITK"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/rastriq~linkedin-ad-library-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-rastriq-linkedin-ad-library-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/rastriq~linkedin-ad-library-scraper/runs": {
      "post": {
        "operationId": "runs-sync-rastriq-linkedin-ad-library-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/rastriq~linkedin-ad-library-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-rastriq-linkedin-ad-library-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "searchUrls": {
            "title": "🔗 Ad library URLs",
            "uniqueItems": true,
            "type": "array",
            "description": "Paste URLs straight from the <b>LinkedIn Ad Library</b>. Build your search there with the filters you know, copy the URL, paste it here — every filter is preserved.<br><br>Accepted:<br>• <code>https://www.linkedin.com/ad-library/search?accountOwner=nike</code> — search<br>• <code>https://www.linkedin.com/ad-library/detail/1234567890</code> — single ad<br>• <code>https://www.linkedin.com/company/nike/</code> — company page (resolved to an exact ID)<br><br>💡 This is the fastest path. Everything below is optional.",
            "items": {
              "type": "string"
            }
          },
          "advertisers": {
            "title": "🔍 Advertisers by name",
            "uniqueItems": true,
            "type": "array",
            "description": "Company names, if you would rather not paste URLs. One per line.<br><br>⚠️ Name search is a substring match on LinkedIn's side, so <code>HubSpot</code> also returns its partner agencies. The <b>Advertiser match</b> setting handles that and defaults to <code>Starts with</code>, which drops them <b>before</b> you are charged.<br><br>💡 For exact results use <b>Company IDs</b> or <b>Company URLs</b> below.",
            "items": {
              "type": "string"
            }
          },
          "maxAdsTotal": {
            "title": "💯 Max ads",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum ads to return.<br><br>• <b>20–50</b> — quick preview<br>• <b>500–2.000</b> — one brand, full history<br>• <b>0</b> — no limit<br><br>💡 Start small to size the cost, then scale.",
            "default": 1000
          },
          "scrapeAdDetails": {
            "title": "📊 Scrape ad details",
            "type": "boolean",
            "description": "Fetch each ad's detail page: <b>impressions</b>, <b>impressions by country</b>, <b>targeting</b>, <b>paying entity</b> and run dates (EU DSA data).<br><br>Turn it off for a faster, cheaper listing with just advertiser, copy preview and format.",
            "default": true
          },
          "companyIds": {
            "title": "🎯 Company IDs (exact match)",
            "uniqueItems": true,
            "type": "array",
            "description": "Numeric LinkedIn company IDs. <b>This is the precise way to target an advertiser.</b><br><br>LinkedIn's name search is a substring match, so <code>HubSpot</code> also returns <i>Sparkon | HubSpot Elite Partner</i>, <i>MAN Digital: HubSpot &amp; RevOps Agency</i> and a dozen more partners — measured at <b>26% noise</b>. Company IDs filter server-side with zero noise and zero wasted requests.<br><br>💡 Don't know the ID? Paste the company page in <b>Company URLs</b> below and the Actor resolves it for you.",
            "items": {
              "type": "string"
            }
          },
          "companyUrls": {
            "title": "🔗 Company URLs",
            "uniqueItems": true,
            "type": "array",
            "description": "LinkedIn company pages, e.g. <code>https://www.linkedin.com/company/nvidia/</code>.<br><br>Each one costs a single extra request and is resolved to its numeric company ID, so the search is then <b>exact</b> — unlike Actors that just search the company name.",
            "items": {
              "type": "string"
            }
          },
          "advertiserMatch": {
            "title": "🎯 Advertiser name matching",
            "enum": [
              "any",
              "startsWith",
              "exact"
            ],
            "type": "string",
            "description": "How strictly the advertiser name must match.<br><br>• <b>Starts with</b> (default) — keeps <code>HubSpot</code> and <code>HubSpot for Developers</code>, drops <code>Sparkon | HubSpot Elite Partner</code>. Measured on a live run: name search returns <b>32% partner noise</b>, and this setting removes it <b>before</b> the detail page is fetched, so you are never charged for it.<br>• <b>Exact</b> — only the identical name.<br>• <b>Any</b> — no filtering. You pay for every substring match LinkedIn returns.<br><br>💡 Ignored when you search by <b>Company IDs</b> or <b>Company URLs</b>: those already match exactly on LinkedIn's side.",
            "default": "startsWith"
          },
          "adIds": {
            "title": "🆔 Ad IDs or detail URLs",
            "uniqueItems": true,
            "type": "array",
            "description": "Re-scrape mode: refresh known ads without searching again. Accepts raw IDs (<code>859756133</code>) or detail URLs (<code>https://www.linkedin.com/ad-library/detail/859756133</code>).<br><br>💡 Useful for daily impression tracking of a fixed ad set.",
            "items": {
              "type": "string"
            }
          },
          "keyword": {
            "title": "🔍 Keyword",
            "type": "string",
            "description": "Free-text search inside the ad creative. Combines with the advertiser filter."
          },
          "payer": {
            "title": "💳 Paying entity",
            "type": "string",
            "description": "Filter by the legal entity that paid for the ad (<code>payer</code>). Useful to map which media agency runs a brand's campaigns."
          },
          "countries": {
            "title": "🌍 Countries",
            "uniqueItems": true,
            "type": "array",
            "description": "Only return ads served in these countries. Leave empty for all.<br><br>💡 <b>Tip:</b> this is a <b>delivery</b> filter, not the advertiser's HQ.",
            "items": {
              "type": "string",
              "enum": [
                "AF",
                "AX",
                "AL",
                "DZ",
                "AS",
                "AD",
                "AO",
                "AI",
                "AQ",
                "AG",
                "AR",
                "AM",
                "AW",
                "AU",
                "AT",
                "AZ",
                "BS",
                "BH",
                "BD",
                "BB",
                "BY",
                "BE",
                "BZ",
                "BJ",
                "BM",
                "BT",
                "BO",
                "BA",
                "BW",
                "BV",
                "BR",
                "IO",
                "BN",
                "BG",
                "BF",
                "BI",
                "KH",
                "CM",
                "CA",
                "CV",
                "CB",
                "KY",
                "CF",
                "TD",
                "CL",
                "CN",
                "CX",
                "CC",
                "CO",
                "KM",
                "CG",
                "CK",
                "CR",
                "CI",
                "HR",
                "CU",
                "CY",
                "CZ",
                "CD",
                "DK",
                "DJ",
                "DM",
                "DO",
                "TP",
                "EC",
                "EG",
                "SV",
                "GQ",
                "ER",
                "EE",
                "ET",
                "FK",
                "FO",
                "FM",
                "FJ",
                "FI",
                "FR",
                "GF",
                "PF",
                "TF",
                "GA",
                "GM",
                "GE",
                "DE",
                "GH",
                "GI",
                "GR",
                "GL",
                "GD",
                "GP",
                "GU",
                "GT",
                "GG",
                "GN",
                "GW",
                "GY",
                "HT",
                "HM",
                "HN",
                "HK",
                "HU",
                "IS",
                "IN",
                "ID",
                "IR",
                "IQ",
                "IE",
                "IM",
                "IL",
                "IT",
                "JM",
                "JP",
                "JE",
                "JO",
                "KZ",
                "KE",
                "KI",
                "KR",
                "KP",
                "KO",
                "KW",
                "KG",
                "LA",
                "LV",
                "LB",
                "LS",
                "LR",
                "LY",
                "LI",
                "LT",
                "LU",
                "MO",
                "MK",
                "MG",
                "MW",
                "MY",
                "MV",
                "ML",
                "MT",
                "MH",
                "MQ",
                "MR",
                "MU",
                "YT",
                "MX",
                "MD",
                "MC",
                "MN",
                "ME",
                "MS",
                "MA",
                "MZ",
                "MM",
                "NA",
                "NR",
                "NP",
                "NL",
                "AN",
                "NC",
                "NZ",
                "NI",
                "NE",
                "NG",
                "NU",
                "NF",
                "MP",
                "NO",
                "PK",
                "PW",
                "PS",
                "PA",
                "PG",
                "PY",
                "PE",
                "PH",
                "PN",
                "PL",
                "PT",
                "PR",
                "QA",
                "RE",
                "RO",
                "RU",
                "RW",
                "GS",
                "SH",
                "KN",
                "LC",
                "PM",
                "VC",
                "WS",
                "SM",
                "ST",
                "SA",
                "SN",
                "RS",
                "CS",
                "SC",
                "SL",
                "SG",
                "SK",
                "SI",
                "SB",
                "SO",
                "ZA",
                "SS",
                "ES",
                "LK",
                "SD",
                "OM",
                "SR",
                "SJ",
                "SZ",
                "SE",
                "CH",
                "SY",
                "TW",
                "TJ",
                "TZ",
                "TH",
                "TL",
                "TG",
                "TK",
                "TO",
                "TT",
                "TN",
                "TR",
                "TM",
                "TC",
                "TV",
                "UG",
                "UA",
                "AE",
                "GB",
                "US",
                "UY",
                "UZ",
                "VU",
                "VA",
                "VE",
                "VN",
                "VG",
                "VI",
                "WF",
                "EH",
                "YE",
                "YU",
                "ZM",
                "ZW"
              ],
              "enumTitles": [
                "Afghanistan",
                "Aland Islands",
                "Albania",
                "Algeria",
                "American Samoa",
                "Andorra",
                "Angola",
                "Anguilla",
                "Antarctica",
                "Antigua and Barbuda",
                "Argentina",
                "Armenia",
                "Aruba",
                "Australia",
                "Austria",
                "Azerbaijan",
                "Bahamas",
                "Bahrain",
                "Bangladesh",
                "Barbados",
                "Belarus",
                "Belgium",
                "Belize",
                "Benin",
                "Bermuda",
                "Bhutan",
                "Bolivia",
                "Bosnia and Herzegovina",
                "Botswana",
                "Bouvet Island",
                "Brazil",
                "British Indian Ocean Territory",
                "Brunei Darussalam",
                "Bulgaria",
                "Burkina Faso",
                "Burundi",
                "Cambodia",
                "Cameroon",
                "Canada",
                "Cape Verde",
                "Caribbean Nations",
                "Cayman Islands",
                "Central African Republic",
                "Chad",
                "Chile",
                "China",
                "Christmas Island",
                "Cocos (Keeling) Islands",
                "Colombia",
                "Comoros",
                "Congo",
                "Cook Islands",
                "Costa Rica",
                "Cote D’Ivoire (Ivory Coast)",
                "Croatia",
                "Cuba",
                "Cyprus",
                "Czech Republic",
                "Democratic Republic of the Congo",
                "Denmark",
                "Djibouti",
                "Dominica",
                "Dominican Republic",
                "East Timor",
                "Ecuador",
                "Egypt",
                "El Salvador",
                "Equatorial Guinea",
                "Eritrea",
                "Estonia",
                "Ethiopia",
                "Falkland Islands (Malvinas)",
                "Faroe Islands",
                "Federated States of Micronesia",
                "Fiji",
                "Finland",
                "France",
                "French Guiana",
                "French Polynesia",
                "French Southern Territories",
                "Gabon",
                "Gambia",
                "Georgia",
                "Germany",
                "Ghana",
                "Gibraltar",
                "Greece",
                "Greenland",
                "Grenada",
                "Guadeloupe",
                "Guam",
                "Guatemala",
                "Guernsey",
                "Guinea",
                "Guinea-Bissau",
                "Guyana",
                "Haiti",
                "Heard Island and McDonald Islands",
                "Honduras",
                "Hong Kong",
                "Hungary",
                "Iceland",
                "India",
                "Indonesia",
                "Iran",
                "Iraq",
                "Ireland",
                "Isle of Man",
                "Israel",
                "Italy",
                "Jamaica",
                "Japan",
                "Jersey",
                "Jordan",
                "Kazakhstan",
                "Kenya",
                "Kiribati",
                "Korea",
                "Korea (North)",
                "Kosovo",
                "Kuwait",
                "Kyrgyzstan",
                "Laos",
                "Latvia",
                "Lebanon",
                "Lesotho",
                "Liberia",
                "Libya",
                "Liechtenstein",
                "Lithuania",
                "Luxembourg",
                "Macao",
                "Macedonia",
                "Madagascar",
                "Malawi",
                "Malaysia",
                "Maldives",
                "Mali",
                "Malta",
                "Marshall Islands",
                "Martinique",
                "Mauritania",
                "Mauritius",
                "Mayotte",
                "Mexico",
                "Moldova",
                "Monaco",
                "Mongolia",
                "Montenegro",
                "Montserrat",
                "Morocco",
                "Mozambique",
                "Myanmar",
                "Namibia",
                "Nauru",
                "Nepal",
                "Netherlands",
                "Netherlands Antilles",
                "New Caledonia",
                "New Zealand",
                "Nicaragua",
                "Niger",
                "Nigeria",
                "Niue",
                "Norfolk Island",
                "Northern Mariana Islands",
                "Norway",
                "Pakistan",
                "Palau",
                "Palestinian Territory",
                "Panama",
                "Papua New Guinea",
                "Paraguay",
                "Peru",
                "Philippines",
                "Pitcairn",
                "Poland",
                "Portugal",
                "Puerto Rico",
                "Qatar",
                "Reunion",
                "Romania",
                "Russian Federation",
                "Rwanda",
                "S. Georgia and S. Sandwich Islands",
                "Saint Helena",
                "Saint Kitts and Nevis",
                "Saint Lucia",
                "Saint Pierre and Miquelon",
                "Saint Vincent and the Grenadines",
                "Samoa",
                "San Marino",
                "Sao Tome and Principe",
                "Saudi Arabia",
                "Senegal",
                "Serbia",
                "Serbia and Montenegro",
                "Seychelles",
                "Sierra Leone",
                "Singapore",
                "Slovak Republic",
                "Slovenia",
                "Solomon Islands",
                "Somalia",
                "South Africa",
                "South Sudan",
                "Spain",
                "Sri Lanka",
                "Sudan",
                "Sultanate of Oman",
                "Suriname",
                "Svalbard and Jan Mayen",
                "Swaziland",
                "Sweden",
                "Switzerland",
                "Syria",
                "Taiwan",
                "Tajikistan",
                "Tanzania",
                "Thailand",
                "Timor-Leste",
                "Togo",
                "Tokelau",
                "Tonga",
                "Trinidad and Tobago",
                "Tunisia",
                "Turkey",
                "Turkmenistan",
                "Turks and Caicos Islands",
                "Tuvalu",
                "Uganda",
                "Ukraine",
                "United Arab Emirates",
                "United Kingdom",
                "United States",
                "Uruguay",
                "Uzbekistan",
                "Vanuatu",
                "Vatican City State (Holy See)",
                "Venezuela",
                "Vietnam",
                "Virgin Islands (British)",
                "Virgin Islands (U.S.)",
                "Wallis and Futuna",
                "Western Sahara",
                "Yemen",
                "Yugoslavia",
                "Zambia",
                "Zimbabwe"
              ]
            }
          },
          "dateOption": {
            "title": "📅 Date range",
            "enum": [
              "",
              "last-30-days",
              "current-month",
              "current-year",
              "last-year"
            ],
            "type": "string",
            "description": "Preset period. Leave as <b>Any time</b> and use the custom dates below for full control.<br><br>⚠️ LinkedIn only indexes ads created in the last 12 months.",
            "default": ""
          },
          "startDate": {
            "title": "📆 Start date",
            "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])$",
            "type": "string",
            "description": "Custom range start (<code>YYYY-MM-DD</code>). Overrides the preset above."
          },
          "endDate": {
            "title": "📆 End date",
            "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])$",
            "type": "string",
            "description": "Custom range end (<code>YYYY-MM-DD</code>)."
          },
          "impressionsMinValue": {
            "title": "📈 Min impressions",
            "minimum": 0,
            "type": "integer",
            "description": "Lower bound of the estimated impression range.<br><br>⚠️ EU-region ads only — LinkedIn publishes impressions under the DSA."
          },
          "impressionsMinUnit": {
            "title": "✖️ Min unit",
            "enum": [
              "thousand",
              "million"
            ],
            "type": "string",
            "description": "Multiplier applied to the minimum impressions value.",
            "default": "thousand"
          },
          "impressionsMaxValue": {
            "title": "📉 Max impressions",
            "minimum": 0,
            "type": "integer",
            "description": "Upper bound of the estimated impression range."
          },
          "impressionsMaxUnit": {
            "title": "✖️ Max unit",
            "enum": [
              "thousand",
              "million"
            ],
            "type": "string",
            "description": "Multiplier applied to the maximum impressions value.",
            "default": "thousand"
          },
          "includedTargetingFacets": {
            "title": "🎯 Targeting used by the advertiser",
            "uniqueItems": true,
            "type": "array",
            "description": "Only return ads where the advertiser <b>targeted</b> these parameter families.<br><br>💡 This filters on LinkedIn's side, so you never pay for the ads it excludes.<br><br>⚠️ EU-region ads only — targeting is a DSA disclosure.",
            "items": {
              "type": "string",
              "enum": [
                "LANGUAGE",
                "LOCATION",
                "AUDIENCE",
                "DEMOGRAPHIC",
                "COMPANY",
                "EDUCATION",
                "JOB",
                "INTERESTS_AND_TRAITS"
              ],
              "enumTitles": [
                "Language",
                "Location",
                "Audience",
                "Demographic",
                "Company",
                "Education",
                "Job",
                "Interests & traits"
              ]
            }
          },
          "excludedTargetingFacets": {
            "title": "🚫 Targeting excluded by the advertiser",
            "uniqueItems": true,
            "type": "array",
            "description": "Only return ads where the advertiser <b>excluded</b> these parameter families.",
            "items": {
              "type": "string",
              "enum": [
                "LANGUAGE",
                "LOCATION",
                "AUDIENCE",
                "DEMOGRAPHIC",
                "COMPANY",
                "EDUCATION",
                "JOB",
                "INTERESTS_AND_TRAITS"
              ],
              "enumTitles": [
                "Language",
                "Location",
                "Audience",
                "Demographic",
                "Company",
                "Education",
                "Job",
                "Interests & traits"
              ]
            }
          },
          "unifiedFieldsOnly": {
            "title": "🧩 Unified fields only",
            "type": "boolean",
            "description": "Return only the fields shared by every ad library (Meta, Google, TikTok, LinkedIn), dropping the LinkedIn-specific ones (<code>li_impressions_by_country</code>, <code>li_targeting_segments</code>, <code>li_paying_entity</code>…).<br><br>💡 Turn this on when you merge this dataset with other ad platforms and want one stable set of columns. Leave it off to keep LinkedIn's DSA data.",
            "default": false
          },
          "maxAdsPerQuery": {
            "title": "🔢 Max ads per advertiser",
            "minimum": 0,
            "type": "integer",
            "description": "Stop after N ads per advertiser / URL. <code>0</code> = no limit.<br><br>⚠️ <b>0 can produce thousands of requests.</b> The default keeps API, task and scheduled runs bounded; raise it for full backfills.",
            "default": 200
          },
          "proxyConfiguration": {
            "title": "🔒 Proxy configuration",
            "type": "object",
            "description": "LinkedIn rate-limits the Ad Library <b>per IP</b> (~1 request every 2 s). Proxies are the only way to go faster: each parallel session gets its own IP.<br><br>💡 <b>Leave it on the default datacenter proxy</b> — this site has no anti-bot, only per-IP rate limiting, and datacenter is far cheaper. Switch to <b>RESIDENTIAL</b> only if you see sustained 429s."
          },
          "sessions": {
            "title": "🧩 Parallel sessions",
            "minimum": 1,
            "maximum": 32,
            "type": "integer",
            "description": "Independent browsing identities (one proxy IP + cookie jar each). Throughput ≈ <code>sessions ÷ (delay in seconds)</code>.<br><br>Recommended:<br>• <b>1</b> — no proxy<br>• <b>4–8</b> — with Apify Proxy<br>• <b>12+</b> — large runs on residential proxies",
            "default": 4
          },
          "requestDelayMs": {
            "title": "⏱️ Delay per session",
            "minimum": 250,
            "maximum": 20000,
            "type": "integer",
            "description": "Milliseconds between two requests <b>of the same session</b>.<br><br>Measured behaviour:<br>• <b>2000 ms</b> — 0 rate limits (recommended)<br>• <b>1500 ms</b> — ~10% of requests get 429<br>• <b>&lt;1000 ms</b> — throttled immediately",
            "default": 2000
          },
          "maxRetries": {
            "title": "🔁 Max retries",
            "minimum": 0,
            "maximum": 10,
            "type": "integer",
            "description": "Retries per request on 429/5xx/network errors, with exponential backoff.",
            "default": 4
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}