{
  "openapi": "3.0.1",
  "info": {
    "title": "LinkedIn Jobs Scraper From $0.25/1k · No Start Fee · No Cookies",
    "description": "[From $0.25/1k] LinkedIn jobs scraper — no login, no cookies, no start fee. Search by keyword, URL or job ID with 1K-result-cap bypass and expiry monitoring. Salary, seniority, description, recruiter contacts and apply URL per job, plus optional deduped company firmographics.",
    "version": "0.0",
    "x-build-id": "MLxCboax9U7PYtyuh"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/memo23~linkedin-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-memo23-linkedin-jobs-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/memo23~linkedin-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-memo23-linkedin-jobs-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/memo23~linkedin-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-memo23-linkedin-jobs-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "startUrls": {
            "title": "Start URLs",
            "type": "array",
            "description": "Paste any mix of LinkedIn Jobs URLs. Examples: search URL <code>https://www.linkedin.com/jobs/search?keywords=…</code>, single-job URL <code>https://www.linkedin.com/jobs/view/4410745146/</code>, or slug-with-id form <code>https://www.linkedin.com/jobs/view/mobile-engineer-at-jll-4410745146</code>. Search URLs extract filters (keywords, location, geoId, f_PP, workplace type, experience, contract type) from the URL itself. View URLs go straight to the detail page — no search step.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "jobIds": {
            "title": "Job IDs or job URLs (exact listings)",
            "type": "array",
            "description": "Scrape (or re-verify) exact LinkedIn job listings — one entry per line. Accepts raw job IDs (<code>4410745146</code>), view URLs (<code>https://www.linkedin.com/jobs/view/4410745146/</code>), or any LinkedIn URL carrying <code>currentJobId=…</code>. Each entry goes straight to the job detail page — no search phase. Re-run the same list on a schedule to monitor listings: every row includes <code>isExpired</code>, <code>verifiedAt</code>, and <code>verificationStatus</code> (<code>active</code> / <code>closed</code> / <code>removed</code>), so dead listings are flagged instead of silently missing.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "keywords": {
            "title": "Keywords or job titles",
            "type": "array",
            "description": "Keywords or job titles to search for in the job listings.",
            "items": {
              "type": "string"
            }
          },
          "location": {
            "title": "Broad location",
            "type": "string",
            "description": "Broad LinkedIn search location, such as a country or region. Example: `United States`. For city-level filtering, also use `placeIds` or paste a full LinkedIn search URL above.",
            "default": "United States"
          },
          "locations": {
            "title": "Locations (multiple)",
            "type": "array",
            "description": "Search several locations in one run. Each location is combined with every keyword above. Example: <code>United States</code>, <code>Germany</code>, <code>Remote</code>. When set, this takes precedence over the single Broad location field. Ignored when Start URLs are provided.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "geoId": {
            "title": "Geo ID",
            "type": "string",
            "description": "Optional LinkedIn geoId for the broad location. Example: `103644278` for United States. This usually works together with the broad location field above."
          },
          "placeIds": {
            "title": "Place filter IDs",
            "type": "array",
            "description": "Optional LinkedIn place filter IDs (`f_PP`) for city-level or sub-location filtering. Example: `104555257` for Santiago. Use one or more IDs copied from a LinkedIn Jobs URL.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "timeRange": {
            "title": "Time range",
            "enum": [
              "any time",
              "r86400",
              "r604800",
              "r2592000"
            ],
            "type": "string",
            "description": "Time range to search for in the job listings.",
            "default": "any time"
          },
          "jobTypes": {
            "title": "Job Types",
            "type": "array",
            "description": "Select the types of work arrangements to include in the search.",
            "items": {
              "type": "string",
              "enum": [
                "1",
                "2",
                "3"
              ],
              "enumTitles": [
                "On-site",
                "Remote",
                "Hybrid"
              ]
            },
            "default": []
          },
          "remote": {
            "title": "Remote / workplace",
            "type": "array",
            "description": "Select the workplace type filters to include in the search.",
            "items": {
              "type": "string",
              "enum": [
                "1",
                "2",
                "3"
              ],
              "enumTitles": [
                "On-site",
                "Remote",
                "Hybrid"
              ]
            },
            "default": []
          },
          "experienceLevels": {
            "title": "Experience Levels",
            "type": "array",
            "description": "Select the experience levels to include in the search.",
            "items": {
              "type": "string",
              "enum": [
                "1",
                "2",
                "3",
                "4",
                "5",
                "6"
              ],
              "enumTitles": [
                "Internship",
                "Entry level",
                "Associate",
                "Mid-Senior level",
                "Executive",
                "Director"
              ]
            },
            "default": []
          },
          "experienceLevel": {
            "title": "Experience level",
            "type": "array",
            "description": "Alias for Experience Levels; select one or more experience codes to include.",
            "items": {
              "type": "string",
              "enum": [
                "1",
                "2",
                "3",
                "4",
                "5",
                "6"
              ],
              "enumTitles": [
                "Internship",
                "Entry level",
                "Associate",
                "Mid-Senior level",
                "Executive",
                "Director"
              ]
            },
            "default": []
          },
          "contractType": {
            "title": "Contract type",
            "type": "array",
            "description": "Select contract types to include in the search.",
            "items": {
              "type": "string",
              "enum": [
                "F",
                "P",
                "C",
                "T",
                "I",
                "V",
                "O"
              ],
              "enumTitles": [
                "Full-time",
                "Part-time",
                "Contract",
                "Temporary",
                "Internship",
                "Volunteer",
                "Other"
              ]
            },
            "default": []
          },
          "companyNames": {
            "title": "Company names",
            "type": "array",
            "description": "Only return jobs from these companies. Each name is resolved to its LinkedIn company ID and filtered server-side (exact); if a name can't be resolved it falls back to name matching. <strong>Ignored when a search URL is provided</strong> — that URL defines the search.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "filterUnder10Applicants": {
            "title": "Under 10 applicants only",
            "type": "boolean",
            "description": "Only return jobs with fewer than 10 applicants (LinkedIn's own 'early applicant' filter, <code>f_EA=true</code>). The best odds of a reply — apply before the crowd arrives. Keyword-search only — a pasted search URL runs verbatim (add <code>f_EA=true</code> to the URL instead).",
            "default": false
          },
          "filterEasyApply": {
            "title": "Easy Apply only",
            "type": "boolean",
            "description": "Only return jobs that support LinkedIn Easy Apply (<code>f_AL=true</code>) — apply directly on LinkedIn without leaving the site. Keyword-search only — a pasted search URL runs verbatim (add <code>f_AL=true</code> to the URL instead).",
            "default": false
          },
          "salaryBase": {
            "title": "Minimum salary (LinkedIn filter)",
            "enum": [
              "",
              "1",
              "2",
              "3",
              "4",
              "5",
              "6",
              "7",
              "8",
              "9"
            ],
            "type": "string",
            "description": "Only return jobs at or above this base salary, using LinkedIn's own salary filter (<code>f_SB2</code>). LinkedIn applies it where salary data exists — mostly US searches.",
            "default": ""
          },
          "distance": {
            "title": "Distance (search radius)",
            "enum": [
              "",
              "5",
              "10",
              "25",
              "50",
              "100"
            ],
            "type": "string",
            "description": "Search radius in miles around the location, using LinkedIn's own <code>distance</code> filter. Applies to keyword searches; for a pasted search URL the URL's own <code>distance</code> value wins.",
            "default": ""
          },
          "titleMustInclude": {
            "title": "Title must include",
            "type": "array",
            "description": "Keep only jobs whose title contains at least ONE of these terms (case-insensitive). Example: <code>senior</code>, <code>staff</code> keeps \"Senior Backend Engineer\" and \"Staff Engineer\" but drops \"Junior Developer\". Leave empty to keep all titles.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "titleExclude": {
            "title": "Skip titles containing",
            "type": "array",
            "description": "Drop jobs whose title contains ANY of these terms (case-insensitive). Example: <code>intern</code>, <code>junior</code>, <code>unpaid</code>. Applied after 'Title must include'.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "excludeCompanies": {
            "title": "Skip employers",
            "type": "array",
            "description": "Drop jobs from these companies (case-insensitive name match, so <code>Microsoft</code> also skips \"Microsoft Corporation\"). Useful for filtering out staffing agencies or your own company's postings.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "subLocationExclude": {
            "title": "Skip locations / cities",
            "type": "array",
            "description": "Drop jobs whose location contains ANY of these terms (case-insensitive substring). Example: <code>Laval</code> skips every \"Laval, Quebec, Canada\" job. Applied BEFORE the job is fetched, so skipped jobs are never charged. Applies to search results; direct Job IDs / view URLs are always returned.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "requireSalaryInfo": {
            "title": "Salary info required",
            "type": "boolean",
            "description": "Only keep jobs whose posting publishes a salary. Jobs without a visible salary block are dropped for free — they never reach the dataset and are never charged. (Direct Job IDs / view URLs are always returned as requested.)",
            "default": false
          },
          "jobFunctionInclude": {
            "title": "Include job functions",
            "uniqueItems": true,
            "type": "array",
            "description": "Keep (dynamicFilterMatch:true) only jobs whose LinkedIn job function is one of these. Takes priority over Exclude when both are set.",
            "items": {
              "type": "string",
              "enum": [
                "Accounting / Auditing",
                "Administrative",
                "Advertising",
                "Analyst",
                "Art / Creative",
                "Business Development",
                "Consulting",
                "Customer Service",
                "Design",
                "Distribution",
                "Education",
                "Engineering",
                "Finance",
                "General Business",
                "HealthCare Provider",
                "Human Resources",
                "Information Technology",
                "Legal",
                "Management",
                "Manufacturing",
                "Marketing",
                "Other",
                "Product Management",
                "Production",
                "Project Management",
                "Public Relations",
                "Purchasing",
                "QualityAssurance",
                "Research",
                "Sales",
                "Science",
                "Strategy / Planning",
                "Supply Chain",
                "Training",
                "Writing / Editing"
              ]
            },
            "default": []
          },
          "jobFunctionExclude": {
            "title": "Exclude job functions",
            "uniqueItems": true,
            "type": "array",
            "description": "Flag jobs whose LinkedIn job function is any of these as <code>dynamicFilterMatch: false</code>. Ignored when Include job functions is set.",
            "items": {
              "type": "string",
              "enum": [
                "Accounting / Auditing",
                "Administrative",
                "Advertising",
                "Analyst",
                "Art / Creative",
                "Business Development",
                "Consulting",
                "Customer Service",
                "Design",
                "Distribution",
                "Education",
                "Engineering",
                "Finance",
                "General Business",
                "HealthCare Provider",
                "Human Resources",
                "Information Technology",
                "Legal",
                "Management",
                "Manufacturing",
                "Marketing",
                "Other",
                "Product Management",
                "Production",
                "Project Management",
                "Public Relations",
                "Purchasing",
                "QualityAssurance",
                "Research",
                "Sales",
                "Science",
                "Strategy / Planning",
                "Supply Chain",
                "Training",
                "Writing / Editing"
              ]
            },
            "default": []
          },
          "jobIndustryInclude": {
            "title": "Include industries",
            "uniqueItems": true,
            "type": "array",
            "description": "Keep (dynamicFilterMatch:true) only jobs whose industry matches ONE of these terms (case-insensitive). Free text — use LinkedIn industry names, e.g. <code>Software Development</code>, <code>Staffing and Recruiting</code>. Takes priority over Exclude industries when both are set.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "jobIndustryExclude": {
            "title": "Exclude industries",
            "uniqueItems": true,
            "type": "array",
            "description": "Flag jobs whose industry matches ANY of these terms as <code>dynamicFilterMatch: false</code> (case-insensitive). Ignored when Include industries is set. Example: <code>Staffing and Recruiting</code>.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "excludeRecruitingAgencies": {
            "title": "Exclude recruiting / staffing agencies",
            "type": "boolean",
            "description": "Flag jobs posted by staffing and recruiting agencies as <code>dynamicFilterMatch: false</code> (matched on company industry). Automatically enables company enrichment.",
            "default": false
          },
          "companySizeMin": {
            "title": "Company min employees",
            "minimum": 1,
            "type": "integer",
            "description": "Flag jobs from companies with FEWER employees than this as <code>dynamicFilterMatch: false</code>. Companies with no employee count on LinkedIn always pass. Automatically enables company enrichment."
          },
          "companySizeMax": {
            "title": "Company max employees",
            "minimum": 1,
            "type": "integer",
            "description": "Flag jobs from companies with MORE employees than this as <code>dynamicFilterMatch: false</code>. Companies with no employee count on LinkedIn always pass. Automatically enables company enrichment."
          },
          "companyOrganizationTypeInclude": {
            "title": "Include company organization types",
            "uniqueItems": true,
            "type": "array",
            "description": "Keep (dynamicFilterMatch:true) only jobs whose company organization type is one of these. Companies with no type available always pass. Takes priority over Exclude when both are set. Automatically enables company enrichment.",
            "items": {
              "type": "string",
              "enum": [
                "Public Company",
                "Educational",
                "Self Employed",
                "Government Agency",
                "Non Profit",
                "Self Owned",
                "Privately Held",
                "Partnership"
              ]
            },
            "default": []
          },
          "companyOrganizationTypeExclude": {
            "title": "Exclude company organization types",
            "uniqueItems": true,
            "type": "array",
            "description": "Flag jobs whose company organization type is any of these as <code>dynamicFilterMatch: false</code>. Companies with no type available always pass. Ignored when Include is set. Automatically enables company enrichment.",
            "items": {
              "type": "string",
              "enum": [
                "Public Company",
                "Educational",
                "Self Employed",
                "Government Agency",
                "Non Profit",
                "Self Owned",
                "Privately Held",
                "Partnership"
              ]
            },
            "default": []
          },
          "companyFoundedDateMin": {
            "title": "Company founded after (year)",
            "minimum": 1800,
            "type": "integer",
            "description": "Keep (dynamicFilterMatch:true) only jobs from companies founded in or after this year. Companies with no founding year always pass. Automatically enables company enrichment."
          },
          "companyFoundedDateMax": {
            "title": "Company founded before (year)",
            "minimum": 1800,
            "type": "integer",
            "description": "Keep (dynamicFilterMatch:true) only jobs from companies founded in or before this year. Companies with no founding year always pass. Automatically enables company enrichment."
          },
          "companyFollowersCountMin": {
            "title": "Company min followers",
            "minimum": 0,
            "type": "integer",
            "description": "Keep (dynamicFilterMatch:true) only jobs from companies with at least this many LinkedIn followers. Companies with no follower count always pass. Automatically enables company enrichment."
          },
          "companyFollowersCountMax": {
            "title": "Company max followers",
            "minimum": 0,
            "type": "integer",
            "description": "Keep (dynamicFilterMatch:true) only jobs from companies with at most this many LinkedIn followers. Companies with no follower count always pass. Automatically enables company enrichment."
          },
          "requireRecruiterProfile": {
            "title": "Recruiter profile required",
            "type": "boolean",
            "description": "Flag jobs that have NO recruiter/hiring-team profile on the posting as <code>dynamicFilterMatch: false</code>.",
            "default": false
          },
          "resumeKeywords": {
            "title": "Skills and Keywords",
            "type": "array",
            "description": "⚠️ <strong>This is NOT a search filter</strong> — it does not change which jobs LinkedIn returns. Each job in the output is scored against these skills: <code>profileMatchScore</code> (0–100 = % of your keywords found in the job title + description), plus <code>profileMatch.matchedKeywords</code> / <code>profileMatch.missingKeywords</code>. Entries are plain strings (<code>\"TypeScript\"</code>) or objects with aliases so abbreviations count as the same skill: <code>{ \"keyword\": \"JavaScript\", \"aliases\": [\"JS\"] }</code>. Matching is case-insensitive on whole words — <code>Java</code> will not match <code>JavaScript</code>.",
            "items": {
              "type": "object",
              "properties": {
                "keyword": {
                  "title": "Keyword",
                  "type": "string",
                  "description": "Skill or keyword from your resume (e.g. JavaScript)",
                  "editor": "textfield"
                },
                "aliases": {
                  "title": "Aliases",
                  "type": "array",
                  "description": "Alternate names or abbreviations (e.g. JS)",
                  "editor": "stringList"
                }
              },
              "required": [
                "keyword"
              ]
            }
          },
          "scrapeCompanyDetails": {
            "title": "Scrape company details (billed add-on)",
            "type": "boolean",
            "description": "Enrich each row with company website, industry, size, headquarters, logo, description, and follower count (best-effort, from the public company page) — surfaced as flat <code>company*</code> fields plus a full <code>companyDetails</code> object. Adds one request per <strong>unique</strong> company (cached within a run) and is <strong>billed as a separate per-company event</strong> on top of the per-result price. Off by default — enable only when you need firmographics.",
            "default": false
          },
          "onlyNewJobs": {
            "title": "Remove duplicate jobs across runs (only new jobs)",
            "type": "boolean",
            "description": "Remember job IDs across runs and skip any job already returned in a previous run — you only ever receive (and pay for) NEW jobs. Ideal for scheduled daily job-alert runs. Stored in the actor's key-value store.",
            "default": false
          },
          "autoSplit": {
            "title": "Bypass 1000-result cap (split by experience)",
            "type": "boolean",
            "description": "LinkedIn's guest search caps each query at ~1000 results. When enabled (and no experience level is pinned), the search is split across all six experience levels and the deduplicated results are merged, returning well beyond 1000 jobs per search. This and 'Split by city' are alternative cap-busting strategies — if both are on, 'Split by city' takes precedence (it yields more unique jobs per request).",
            "default": false
          },
          "splitByLocation": {
            "title": "Bypass 1000-result cap (split by city)",
            "type": "boolean",
            "description": "LinkedIn caps each search at ~1000 results. When enabled, the search fans out across the major cities of the chosen Split country and merges the deduplicated results — typically returning many times more jobs than a single country query. Raise Max items to capture them, since each city is a separate search. Takes precedence over 'Split by experience' when both are on. Ignored when Start URLs are provided.",
            "default": false
          },
          "splitCountry": {
            "title": "Split country (for split by city)",
            "enum": [
              "US",
              "GB",
              "CA",
              "AU",
              "IE",
              "IN",
              "DE",
              "FR",
              "NL",
              "ES",
              "IT",
              "PT",
              "BE",
              "CH",
              "AT",
              "SE",
              "NO",
              "DK",
              "FI",
              "PL",
              "CZ",
              "RO",
              "BR",
              "MX",
              "AR",
              "SG",
              "AE",
              "SA",
              "ZA",
              "NG",
              "JP",
              "KR",
              "NZ",
              "HK",
              "MY",
              "PH",
              "ID",
              "TR",
              "IL"
            ],
            "type": "string",
            "description": "Country whose major cities are fanned out when 'Split by city' is enabled. Pick the country your search targets. Has no effect unless 'Split by city' is on.",
            "default": "US"
          },
          "maxItems": {
            "title": "Max number items OR limit of results per crawl",
            "type": "integer",
            "description": "Maximum number of items that will be scraped.",
            "default": 1000
          },
          "minDelay": {
            "title": "Min delay for wait",
            "type": "integer",
            "description": "Minimum delay to wait before firing another request. This is useful to avoid getting blocked by Linkedin. The delay is in seconds.",
            "default": 5
          },
          "maxDelay": {
            "title": "Max delay for wait",
            "type": "integer",
            "description": "Maximum delay to wait before firing another request. This is useful to avoid getting blocked by Linkedin. The delay is in seconds.",
            "default": 10
          },
          "maxConcurrency": {
            "title": "Max Concurrency",
            "type": "integer",
            "description": "Maximum number of pages that can be processed at the same time.",
            "default": 2
          },
          "minConcurrency": {
            "title": "Min Concurrency",
            "type": "integer",
            "description": "Minimum number of pages that will be processed at the same time.",
            "default": 1
          },
          "maxRequestRetries": {
            "title": "Max Request Retries",
            "type": "integer",
            "description": "Number of times the crawler will retry a failed request before giving up.",
            "default": 8
          },
          "proxy": {
            "title": "Proxy configuration (optional override)",
            "type": "object",
            "description": "Leave empty — the actor already routes all traffic through its own built-in residential proxy at no extra cost to you. Only set this if you want to use your own proxies."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}