{
  "openapi": "3.0.1",
  "info": {
    "title": "FINN Eiendom Scraper: Norway Homes and Rentals",
    "description": "FINN eiendom across Norway: homes for sale, rentals, new builds, holiday homes, plots and commercial property, by place, FINN's filters, agency or link, no login. Rows: prisantydning, totalpris, felleskostnader, BRA-i, price per m², eieform, agency, sales history. Pay per home, Excel, API, MCP.",
    "version": "0.1",
    "x-build-id": "XcgsalkuocqvMUWZU"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/automation_craft~finn-eiendom-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-automation_craft-finn-eiendom-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/automation_craft~finn-eiendom-scraper/runs": {
      "post": {
        "operationId": "runs-sync-automation_craft-finn-eiendom-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/automation_craft~finn-eiendom-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-automation_craft-finn-eiendom-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": {
          "propertyTypes": {
            "title": "Sections",
            "type": "array",
            "description": "Which FINN eiendom sections to read, each its own search: homes for sale, rentals, new builds, holiday homes, homes abroad, plots, holiday plots, commercial property to rent or for sale, commercial plots, companies for sale, wanted ads. Left empty: homes for sale.",
            "items": {
              "type": "string",
              "enum": [
                "homes",
                "lettings",
                "newbuildings",
                "leisuresale",
                "abroad",
                "plots",
                "leisureplots",
                "businessrent",
                "businesssale",
                "businessplots",
                "companyforsale",
                "wanted"
              ],
              "enumTitles": [
                "Homes for sale",
                "Homes to rent",
                "New builds",
                "Holiday homes for sale",
                "Homes abroad",
                "Plots",
                "Holiday plots",
                "Commercial property to rent",
                "Commercial property for sale",
                "Commercial plots",
                "Companies for sale",
                "Wanted to buy or rent"
              ]
            }
          },
          "keywords": {
            "title": "Keywords",
            "type": "array",
            "description": "Search words, each one its own search (\"sjøutsikt\", \"garasje\", \"peis\", \"Grünerløkka\"). FINN matches them in the ad texts. Left empty, each section is searched without words, newest first.",
            "items": {
              "type": "string"
            }
          },
          "agencyIds": {
            "title": "Agency ids",
            "type": "array",
            "description": "Every ad of one real estate agency office: FINN agency ids (the companyId of a row, such as \"2492100\" for one office or \"-3\" for a whole chain), each its own search (FINN's own agency filter, the one behind \"more ads from this broker\").",
            "items": {
              "type": "string"
            }
          },
          "listingStatuses": {
            "title": "Sale status",
            "type": "array",
            "description": "FINN's sale status filter: for sale, sold in the last 3 days (FINN keeps sold ads up for 3 days, with the sale time) or coming for sale. Left empty: what FINN shows by default (for sale and sold in the last 3 days).",
            "items": {
              "type": "string",
              "enum": [
                "forSale",
                "soldLast3Days",
                "comingForSale"
              ],
              "enumTitles": [
                "For sale",
                "Sold in the last 3 days",
                "Coming for sale"
              ]
            }
          },
          "searchUrls": {
            "title": "Search links",
            "type": "array",
            "description": "Search pages copied from FINN eiendom (https://www.finn.no/realestate/<section>/search.html?...), read with all their filters, a travel time area or a drawn map area included. FINN's sort order in a link is not sent (FINN asks robots not to); the link is read in FINN's default order, newest first.",
            "items": {
              "type": "string"
            }
          },
          "adUrls": {
            "title": "Ad links or FINN codes",
            "type": "array",
            "description": "Real estate ad links (https://www.finn.no/realestate/<kind>/ad.html?finnkode=<FINN code>, new build units included) or FINN codes (finnkode): each read with its full ad page and billed as one Home. A removed, sold out of sight or unknown ad is a free status row.",
            "items": {
              "type": "string"
            }
          },
          "locations": {
            "title": "Places",
            "type": "array",
            "description": "Counties, municipalities or districts by FINN's Norwegian name (\"Oslo\", \"Bergen\", \"Trøndelag\", \"Grünerløkka\", \"Utlandet\" for abroad) or FINN's value (\"0.20061\"). Several places are one search (any of them).",
            "items": {
              "type": "string",
              "enumSuggestedValues": [
                "Agder",
                "Akershus",
                "Buskerud",
                "Finnmark",
                "Innlandet",
                "Møre og Romsdal",
                "Nordland",
                "Oslo",
                "Rogaland",
                "Telemark",
                "Troms",
                "Trøndelag",
                "Vestfold",
                "Vestland",
                "Østfold",
                "Utlandet"
              ]
            }
          },
          "latitude": {
            "title": "Latitude",
            "minimum": 57,
            "maximum": 81,
            "type": "number",
            "description": "With longitude and radiusKm: ads around a point (FINN's own map radius)."
          },
          "longitude": {
            "title": "Longitude",
            "minimum": 4,
            "maximum": 32,
            "type": "number",
            "description": "With latitude and radiusKm."
          },
          "radiusKm": {
            "title": "Radius (km)",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "With latitude and longitude: the distance in kilometres."
          },
          "polygon": {
            "title": "Map area (polygon)",
            "type": "array",
            "description": "An area drawn on the map: 3 to 100 points, each [latitude, longitude], such as [[59.91, 10.74], [59.91, 10.76], [59.92, 10.76], [59.92, 10.74]]. Sent as FINN's own map area filter (the ring is closed for you). Not together with the radius or boundingBox."
          },
          "boundingBox": {
            "title": "Map area (box)",
            "type": "object",
            "description": "A rectangle on the map: {\"minLatitude\": 59.91, \"minLongitude\": 10.74, \"maxLatitude\": 59.92, \"maxLongitude\": 10.76}. Sent as FINN's own box filter. Not together with the radius or polygon."
          },
          "minPrice": {
            "title": "Lowest price",
            "minimum": 0,
            "maximum": 1000000000,
            "type": "integer",
            "description": "Asking price in kroner (for rentals the monthly rent), sent to FINN."
          },
          "maxPrice": {
            "title": "Highest price",
            "minimum": 0,
            "maximum": 1000000000,
            "type": "integer",
            "description": "Asking price in kroner (for rentals the monthly rent)."
          },
          "minTotalPrice": {
            "title": "Lowest total price",
            "minimum": 0,
            "maximum": 1000000000,
            "type": "integer",
            "description": "Homes, new builds, holiday homes, abroad and plots: the total price with shared debt and costs, in kroner."
          },
          "maxTotalPrice": {
            "title": "Highest total price",
            "minimum": 0,
            "maximum": 1000000000,
            "type": "integer",
            "description": "Homes, new builds, holiday homes, abroad and plots."
          },
          "minPricePerSqm": {
            "title": "Lowest price per m²",
            "minimum": 0,
            "maximum": 10000000,
            "type": "integer",
            "description": "Checked on every row: the asking price per square metre (pricePerSqm) at least this many kroner. A row whose price per square metre cannot be worked out is left out, free."
          },
          "maxPricePerSqm": {
            "title": "Highest price per m²",
            "minimum": 0,
            "maximum": 10000000,
            "type": "integer",
            "description": "Checked on every row: the asking price per square metre at most this many kroner."
          },
          "minArea": {
            "title": "Smallest area (m²)",
            "minimum": 0,
            "maximum": 1000000,
            "type": "integer",
            "description": "The usable area in square metres."
          },
          "maxArea": {
            "title": "Largest area (m²)",
            "minimum": 0,
            "maximum": 1000000,
            "type": "integer",
            "description": "The usable area in square metres."
          },
          "minBedrooms": {
            "title": "Bedrooms (at least)",
            "minimum": 1,
            "maximum": 5,
            "type": "integer",
            "description": "1 to 5 (FINN's \"N+\")."
          },
          "minPlotArea": {
            "title": "Smallest plot (m²)",
            "minimum": 0,
            "maximum": 100000000,
            "type": "integer",
            "description": "Homes, holiday homes and plots."
          },
          "maxPlotArea": {
            "title": "Largest plot (m²)",
            "minimum": 0,
            "maximum": 100000000,
            "type": "integer",
            "description": "Homes, holiday homes and plots."
          },
          "propertyKinds": {
            "title": "Property types",
            "type": "array",
            "description": "\"Leilighet\", \"Enebolig\", \"Tomannsbolig\", \"Rekkehus\", \"Hytte\", \"Gårdsbruk/Småbruk\" and the other types FINN lists in the section (on commercial property \"Kontor\", \"Butikk/Handel\", \"Lager/Logistikk\").",
            "items": {
              "type": "string"
            }
          },
          "ownershipTypes": {
            "title": "Ownership",
            "type": "array",
            "description": "\"Selveier\" (owned), \"Andel\" (cooperative), \"Aksje\" (share), \"Obligasjon\".",
            "items": {
              "type": "string"
            }
          },
          "facilities": {
            "title": "Facilities",
            "type": "array",
            "description": "\"Balkong/Terrasse\", \"Garasje/P-plass\", \"Heis\", \"Peis/Ildsted\", \"Strandlinje\", \"Utsikt\" and the other facilities FINN lists.",
            "items": {
              "type": "string"
            }
          },
          "energyLabels": {
            "title": "Energy labels",
            "type": "array",
            "description": "FINN's energy label filter: \"A\" to \"G\".",
            "items": {
              "type": "string"
            }
          },
          "minConstructionYear": {
            "title": "Built in or after",
            "minimum": 1800,
            "maximum": 2100,
            "type": "integer",
            "description": "The building year (homes, holiday homes, abroad)."
          },
          "maxConstructionYear": {
            "title": "Built in or before",
            "minimum": 1800,
            "maximum": 2100,
            "type": "integer",
            "description": "The building year."
          },
          "floors": {
            "title": "Floor",
            "type": "array",
            "description": "\"1. etasje\", \"Ikke 1. etasje\" (not the ground floor), \"2. etasje\" to \"6. etasje\", \"Over 6. etasje\".",
            "items": {
              "type": "string"
            }
          },
          "newBuildOnly": {
            "title": "New builds only",
            "type": "boolean",
            "description": "Homes for sale and holiday homes: only new builds (\"Nybygg\").",
            "default": false
          },
          "usedHomesOnly": {
            "title": "Resale homes only",
            "type": "boolean",
            "description": "Homes for sale and holiday homes: only resale homes (\"Brukt bolig\"). Not together with newBuildOnly.",
            "default": false
          },
          "sellerType": {
            "title": "Seller",
            "enum": [
              "any",
              "private",
              "business"
            ],
            "type": "string",
            "description": "Private sellers only, or agencies only (FINN's \"Privat\" or \"Megler\").",
            "default": "any"
          },
          "viewingDates": {
            "title": "Viewing days",
            "type": "array",
            "description": "Only ads with a viewing on one of these days (YYYY-MM-DD, FINN lists the next two weeks).",
            "items": {
              "type": "string"
            }
          },
          "digitalViewings": {
            "title": "Video or 360 viewing",
            "type": "array",
            "description": "Only ads with a video or a 360 degree viewing.",
            "items": {
              "type": "string",
              "enum": [
                "video",
                "virtualTour"
              ],
              "enumTitles": [
                "Video",
                "360 viewing"
              ]
            }
          },
          "postedToday": {
            "title": "New today",
            "type": "boolean",
            "description": "Only ads FINN marks as new (\"Nye i dag\", the last 24 hours).",
            "default": false
          },
          "furnishing": {
            "title": "Furnishing (rentals)",
            "type": "array",
            "description": "Homes to rent: furnished, partly furnished or unfurnished.",
            "items": {
              "type": "string",
              "enum": [
                "furnished",
                "partlyFurnished",
                "unfurnished"
              ],
              "enumTitles": [
                "Furnished",
                "Partly furnished",
                "Unfurnished"
              ]
            }
          },
          "petsAllowed": {
            "title": "Pets allowed (rentals)",
            "type": "boolean",
            "description": "Homes to rent: only ads where pets are allowed (\"Dyrehold tillatt\").",
            "default": false
          },
          "rentalStartMonths": {
            "title": "Available from (rentals, wanted)",
            "type": "array",
            "description": "Months the home is free from (homes to rent) or wanted from (wanted ads), written YYYY-MM such as \"2026-11\".",
            "items": {
              "type": "string"
            }
          },
          "refugeesWelcome": {
            "title": "FINN hjerterom (rentals)",
            "type": "boolean",
            "description": "Homes to rent: only ads open to refugees (FINN hjerterom).",
            "default": false
          },
          "leisureSituations": {
            "title": "Holiday home setting",
            "type": "array",
            "description": "Holiday homes and homes abroad: in the mountains, by the sea or inland.",
            "items": {
              "type": "string",
              "enum": [
                "mountain",
                "seaside",
                "inland"
              ],
              "enumTitles": [
                "In the mountains",
                "By the sea",
                "Inland"
              ]
            }
          },
          "plotOwnedOnly": {
            "title": "Owned plot only",
            "type": "boolean",
            "description": "Holiday homes and homes abroad: only owned plots (\"Selveiet\"), not leased ones.",
            "default": false
          },
          "occupants": {
            "title": "Occupants (wanted)",
            "type": "array",
            "description": "Wanted ads: how many people want to move in.",
            "items": {
              "type": "string",
              "enum": [
                "one",
                "two",
                "three",
                "fourOrMore"
              ],
              "enumTitles": [
                "1 person",
                "2 people",
                "3 people",
                "4 or more"
              ]
            }
          },
          "companyCategories": {
            "title": "Company category (companies for sale)",
            "type": "array",
            "description": "\"Restaurant/Kafé\", \"Butikk/Kiosk\", \"Frisør/Velvære\", \"Hotell/Overnatting\", \"Nettbutikk/Nettsted\", \"Agentur\", \"Annet\".",
            "items": {
              "type": "string"
            }
          },
          "attributeFilters": {
            "title": "Any other FINN filter",
            "type": "object",
            "description": "Any other filter of the section's own FINN filter list, by FINN's name or Norwegian label, with values by label or value, or {\"min\": n, \"max\": n} for a range. For example {\"plot_area\": {\"min\": 1000}, \"property_type\": [\"Hytte\"]}. A filter the section does not offer is refused with the filters it does offer."
          },
          "postedAfter": {
            "title": "Posted on or after",
            "type": "string",
            "description": "Only ads published on or after this day in Norway (YYYY-MM-DD), checked on every row."
          },
          "postedWithinHours": {
            "title": "Posted within (hours)",
            "minimum": 1,
            "maximum": 8760,
            "type": "integer",
            "description": "Only ads published within this many hours of the run's start, checked on every row."
          },
          "includeKeywords": {
            "title": "Must contain",
            "type": "array",
            "description": "Words an ad must contain (its title, and its description when the ad page is read). Any one of them, or all with requireAllKeywords.",
            "items": {
              "type": "string"
            }
          },
          "requireAllKeywords": {
            "title": "Require all words",
            "type": "boolean",
            "description": "With includeKeywords: every word must be in the ad.",
            "default": false
          },
          "excludeKeywords": {
            "title": "Must not contain",
            "type": "array",
            "description": "Ads holding any of these words are left out, free.",
            "items": {
              "type": "string"
            }
          },
          "titleOnly": {
            "title": "Look in titles only",
            "type": "boolean",
            "description": "includeKeywords and excludeKeywords look at the title only.",
            "default": false
          },
          "excludeAdIds": {
            "title": "Exclude FINN codes",
            "type": "array",
            "description": "FINN codes (finnkode) or ad links never to deliver.",
            "items": {
              "type": "string"
            }
          },
          "maxItems": {
            "title": "Maximum rows",
            "minimum": 1,
            "maximum": 200000,
            "type": "integer",
            "description": "The most paid rows (homes) the run delivers, across all searches and links.",
            "default": 100
          },
          "maxItemsPerSearch": {
            "title": "Maximum rows per search",
            "minimum": 1,
            "maximum": 200000,
            "type": "integer",
            "description": "The most paid rows from one search or search link."
          },
          "maxPagesPerSearch": {
            "title": "Maximum pages per search",
            "minimum": 1,
            "maximum": 20000,
            "type": "integer",
            "description": "The most result pages read for one search (50 ads a page)."
          },
          "maxRowsPerSearch": {
            "title": "Rows read per search",
            "minimum": 1,
            "maximum": 200000,
            "type": "integer",
            "description": "How many rows of each search are read at most, the rows left out by a filter included (no limit by default)."
          },
          "includeDetails": {
            "title": "Include the ad page",
            "type": "boolean",
            "description": "Read each ad's page: the full description, every key fact, all images, costs (sales costs, shared costs and what they include, municipal fees, common debt, property tax and tax value), areas (BRA-i, BRA-e, P-rom), plot, land register numbers, energy label, facilities, viewings, the housing cooperative, preemption, the agency card, floor plans, the prospectus and bid links, a project's units with their prices and sale status, a sold ad's sale time, click count and FINN's price per m². Included in the Home price, no extra event; it takes about a second per row.",
            "default": false
          },
          "includePriceStatistics": {
            "title": "Add FINN's price statistics (add-on)",
            "type": "boolean",
            "description": "Resale homes and holiday homes: FINN's price per square metre of the ad (asking price plus common debt per m²), its click count on FINN, and the last year's sales in its local area and county for its property type by price per m² (FINN's price statistics page). One extra read per row; billed as one Price statistics per row that carries them. Other kinds of ad: empty and free.",
            "default": false
          },
          "includeSalesHistory": {
            "title": "Add the sales history (add-on)",
            "type": "boolean",
            "description": "Resale homes and holiday homes: the home's earlier registered sales (date and price), as FINN shows them from Norkart's land register data. One extra read per row; billed as one Sales history per row that has at least one earlier sale. Share flats are not in the register; other kinds of ad: empty and free. A private seller's home only with includePersonalData.",
            "default": false
          },
          "includeAreaProfile": {
            "title": "Add the area profile (add-on)",
            "type": "boolean",
            "description": "FINN's neighbourhood profile of the ad's place: people by age, families and children, education, housing stock and ownership, resident ratings (safety, noise, quiet and others), and the nearest public transport, schools, kindergartens, shops and sport with walking and driving times. One extra read per row; billed as one Area profile per row that carries it. Homes abroad, wanted ads and companies for sale: empty and free. A private seller's or landlord's home only with includePersonalData (the profile names its street and exact point).",
            "default": false
          },
          "includePersonalData": {
            "title": "Include personal data",
            "type": "boolean",
            "description": "Deliver the fields that name or reach a private person: brokers' and contact persons' names, titles, phones and e-mails, a private seller's or landlord's FINN id, street, land register numbers, exact map point and map image, the sales history and the area profile of a private seller's or landlord's home, and the contacts found in the texts of private ads. Off: those fields are empty; the agency's name, FINN id, website, logo and its search of ads are business data and always delivered (FINN shows no agency phone or organisation number on its real estate pages). You are responsible for a lawful use, GDPR included.",
            "default": false
          },
          "priceSummary": {
            "title": "Price summary per search",
            "type": "boolean",
            "description": "Each search's coverage row carries the count, lowest, quartiles, median, mean and highest price of the ads it met (free).",
            "default": true
          },
          "includeRawData": {
            "title": "Include raw search row",
            "type": "boolean",
            "description": "Add FINN's search row as served (a private seller's only with personal data on).",
            "default": false
          },
          "descriptionFormat": {
            "title": "Description format",
            "enum": [
              "asServed",
              "text",
              "markdown"
            ],
            "type": "string",
            "description": "How the ad description is delivered.",
            "default": "asServed"
          },
          "descriptionMaxLength": {
            "title": "Description maximum length",
            "minimum": 20,
            "maximum": 100000,
            "type": "integer",
            "description": "Cut descriptions to this many characters (descriptionCut marks the row)."
          },
          "outputFields": {
            "title": "Fields to keep",
            "type": "array",
            "description": "Keep only these row fields, by the names the rows carry (\"adId\", \"url\", \"priceSuggestion\", \"pricePerSqm\", \"area\", \"salesHistory\"); the row's identity, title, price, place, status and image count, and the fields of every add-on that is billed, always stay. Not together with compactOutput.",
            "items": {
              "type": "string"
            }
          },
          "compactOutput": {
            "title": "Compact rows",
            "type": "boolean",
            "description": "Deliver only the most used fields (handy for AI agents).",
            "default": false
          },
          "excludeEmptyFields": {
            "title": "Leave out empty fields",
            "type": "boolean",
            "description": "Drop fields that are empty on a row.",
            "default": false
          },
          "extractContacts": {
            "title": "Extract contacts from texts",
            "type": "boolean",
            "description": "Add the e-mail addresses, phone numbers, websites and social profiles written in the title and description (agencies' ads always; private ads with includePersonalData on).",
            "default": false
          },
          "phoneExtractionMode": {
            "title": "Phone extraction",
            "enum": [
              "strict",
              "lenient"
            ],
            "type": "string",
            "description": "With extractContacts."
          },
          "failIfIncomplete": {
            "title": "Fail if incomplete",
            "type": "boolean",
            "description": "End the run as failed when a search or link could not be read in full (the rows delivered stay).",
            "default": false
          },
          "maxFailedRequestsPercent": {
            "title": "Fail above this share of failed reads (%)",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "End the run as failed when more of its reads failed."
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Leave as is: FINN is read through Apify's datacenter proxy, which every FINN eiendom door answers. Your own proxy links replace it."
          },
          "requestsPerSecond": {
            "title": "Requests per second",
            "minimum": 0.2,
            "maximum": 2,
            "type": "number",
            "description": "The pace of the run's one exit (0.2 to 2).",
            "default": 1
          },
          "maxConcurrency": {
            "title": "Requests in flight",
            "minimum": 1,
            "maximum": 4,
            "type": "integer",
            "description": "At most this many requests in flight, inside the pace (FINN is never asked more than requestsPerSecond requests a second): ad pages and add-on pages are read on this many lanes.",
            "default": 4
          },
          "maxRequestRetries": {
            "title": "Retries",
            "minimum": 0,
            "maximum": 5,
            "type": "integer",
            "description": "Tries of a failed read after the first.",
            "default": 2
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}