{
  "openapi": "3.0.1",
  "info": {
    "title": "999.md Scraper: Vehicle Classified Ads Moldova",
    "description": "Scrape 999.md, the largest classifieds site in Moldova: cars, vans, trucks, motorcycles, tractors, trailers and more, with price in EUR, USD and lei, mileage, equipment, photos and seller data, plus dealer profiles. No login, no proxy. Export JSON, CSV or Excel.",
    "version": "0.1",
    "x-build-id": "4F6atrxiQtJNlJXsU"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/recordsdata~999-md-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-recordsdata-999-md-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/recordsdata~999-md-scraper/runs": {
      "post": {
        "operationId": "runs-sync-recordsdata-999-md-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/recordsdata~999-md-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-recordsdata-999-md-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": {
          "mode": {
            "title": "What to collect",
            "enum": [
              "search",
              "urls",
              "sellers"
            ],
            "type": "string",
            "description": "search = vehicle ads of the sections and filters below. urls = ad addresses, ad numbers, seller profiles and vehicle list addresses you provide. sellers = dealer and company profiles (with their stock count, address, hours and links).",
            "default": "search"
          },
          "categories": {
            "title": "Vehicle sections",
            "type": "array",
            "description": "Sections to search. Each section is searched on its own and rows keep the order of the sections you pick.",
            "items": {
              "type": "string",
              "enum": [
                "cars",
                "vans",
                "trucks",
                "buses",
                "motorcycles",
                "bicycles",
                "electric-scooters",
                "construction-equipment",
                "tractors",
                "combines",
                "trailers",
                "retro-cars",
                "watercraft",
                "aircraft"
              ],
              "enumTitles": [
                "Cars",
                "Vans and minibuses",
                "Trucks",
                "Buses",
                "Motorcycles and scooters",
                "Bicycles",
                "Electric scooters and hoverboards",
                "Construction equipment",
                "Tractors",
                "Combine harvesters",
                "Trailers and caravans",
                "Classic cars",
                "Watercraft",
                "Aircraft"
              ]
            },
            "default": [
              "cars"
            ]
          },
          "maxItems": {
            "title": "Maximum items",
            "minimum": 1,
            "maximum": 1000000,
            "type": "integer",
            "description": "Stops after this many rows (all record types together). Free plans are limited to 10 items per run.",
            "default": 50
          },
          "searchText": {
            "title": "Search text",
            "type": "string",
            "description": "Optional words searched in titles and descriptions, for example \"panoramic roof\" or \"Actros\". Combines with every filter below.",
            "default": ""
          },
          "makes": {
            "title": "Makes",
            "type": "array",
            "description": "Makes as written on the site, for example Toyota, BMW, Mercedes-Benz or Volkswagen. Case and spaces do not matter. The list is read from the site at run time and an unknown make is reported with close suggestions. Empty means every make.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "models": {
            "title": "Models",
            "type": "array",
            "description": "Models of the make above, for example Corolla or X5. Cars only, and every model must belong to the makes you list. Empty means every model.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "regions": {
            "title": "Regions",
            "type": "array",
            "description": "Regions of Moldova as the site writes them, for example Chișinău, Bălți, Cahul or Transnistria. Empty means the whole country.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "offerType": {
            "title": "Offer type",
            "enum": [
              "any",
              "sell",
              "buy",
              "exchange",
              "order"
            ],
            "type": "string",
            "description": "For sale is what most people want. Wanted lists buyers looking for a vehicle.",
            "default": "sell"
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "newest",
              "oldest",
              "price-asc",
              "price-desc",
              "relevance"
            ],
            "type": "string",
            "description": "Order of the results. \"Newest\" is the site's own date order: ads are ranked by their last renewal, so a renewed ad comes before one that was only published later.",
            "default": "newest"
          },
          "publishedSince": {
            "title": "Published since",
            "type": "string",
            "description": "Only ads first published on or after this date or time, for example 2026-10-01 or 2026-10-01T08:00:00Z. Reading stops as soon as the ads are older, so a daily run costs little. Empty means no limit.",
            "default": ""
          },
          "yearFrom": {
            "title": "Year from",
            "minimum": 0,
            "maximum": 2100,
            "type": "integer",
            "description": "Model year, this value or newer. 0 or empty means no limit."
          },
          "yearTo": {
            "title": "Year to",
            "minimum": 0,
            "maximum": 2100,
            "type": "integer",
            "description": "Model year, this value or older."
          },
          "priceFrom": {
            "title": "Price from",
            "minimum": 0,
            "maximum": 1000000000,
            "type": "integer",
            "description": "Lowest price, in the currency chosen below."
          },
          "priceTo": {
            "title": "Price to",
            "minimum": 0,
            "maximum": 1000000000,
            "type": "integer",
            "description": "Highest price, in the currency chosen below."
          },
          "priceCurrency": {
            "title": "Price currency",
            "enum": [
              "EUR",
              "USD",
              "MDL"
            ],
            "type": "string",
            "description": "Currency of the price range. The site converts ads listed in other currencies.",
            "default": "EUR"
          },
          "mileageFrom": {
            "title": "Mileage from (km)",
            "minimum": 0,
            "maximum": 5000000,
            "type": "integer",
            "description": "Odometer reading in kilometres, this value or more."
          },
          "mileageTo": {
            "title": "Mileage to (km)",
            "minimum": 0,
            "maximum": 5000000,
            "type": "integer",
            "description": "Odometer reading in kilometres, this value or less."
          },
          "powerFrom": {
            "title": "Power from (hp)",
            "minimum": 0,
            "maximum": 5000,
            "type": "integer",
            "description": "Engine power in horsepower, this value or more."
          },
          "powerTo": {
            "title": "Power to (hp)",
            "minimum": 0,
            "maximum": 5000,
            "type": "integer",
            "description": "Engine power in horsepower, this value or less."
          },
          "fuelTypes": {
            "title": "Fuel types",
            "type": "array",
            "description": "Fuel or energy of the vehicle. Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "petrol-lpg",
                "petrol",
                "diesel",
                "petrol-cng",
                "hybrid",
                "electric",
                "plug-in-hybrid",
                "mild-hybrid"
              ],
              "enumTitles": [
                "Petrol lpg",
                "Petrol",
                "Diesel",
                "Petrol cng",
                "Hybrid",
                "Electric",
                "Plug in hybrid",
                "Mild hybrid"
              ]
            },
            "default": []
          },
          "transmissions": {
            "title": "Transmissions",
            "type": "array",
            "description": "Gearbox type. Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "manual",
                "automatic",
                "cvt",
                "robotized",
                "semi-automatic"
              ],
              "enumTitles": [
                "Manual",
                "Automatic",
                "Cvt",
                "Robotized",
                "Semi automatic"
              ]
            },
            "default": []
          },
          "bodyTypes": {
            "title": "Body types",
            "type": "array",
            "description": "Body style (cars) or truck body (trucks). Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "sedan",
                "hatchback",
                "suv",
                "wagon",
                "minivan",
                "microvan",
                "pickup",
                "crossover",
                "coupe",
                "van",
                "cabriolet",
                "roadster",
                "minibus",
                "tractor-unit",
                "curtain-side",
                "container",
                "dump-truck",
                "box-van",
                "refrigerated",
                "flatbed",
                "car-carrier",
                "tanker",
                "platform",
                "crane-truck",
                "motorhome",
                "tow-truck"
              ],
              "enumTitles": [
                "Sedan",
                "Hatchback",
                "Suv",
                "Wagon",
                "Minivan",
                "Microvan",
                "Pickup",
                "Crossover",
                "Coupe",
                "Van",
                "Cabriolet",
                "Roadster",
                "Minibus",
                "Tractor unit",
                "Curtain side",
                "Container",
                "Dump truck",
                "Box van",
                "Refrigerated",
                "Flatbed",
                "Car carrier",
                "Tanker",
                "Platform",
                "Crane truck",
                "Motorhome",
                "Tow truck"
              ]
            },
            "default": []
          },
          "driveTypes": {
            "title": "Drive types",
            "type": "array",
            "description": "Driven wheels (front, rear, all-wheel or truck axle layouts). Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "fwd",
                "4x4",
                "rwd",
                "4x2",
                "6x4",
                "8x4",
                "6x6",
                "6x2"
              ],
              "enumTitles": [
                "Front-wheel drive",
                "All-wheel drive (4x4)",
                "Rear-wheel drive",
                "4x2",
                "6x4",
                "8x4",
                "6x6",
                "6x2"
              ]
            },
            "default": []
          },
          "colors": {
            "title": "Colors",
            "type": "array",
            "description": "Body color. \"Blue\" and \"Green\" include every shade. Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "black",
                "dark green",
                "green",
                "white",
                "light blue",
                "red",
                "dark blue",
                "grey",
                "silver",
                "burgundy",
                "gold",
                "chameleon",
                "beige",
                "violet",
                "light green",
                "yellow",
                "brown",
                "raspberry",
                "orange",
                "pink",
                "blue"
              ],
              "enumTitles": [
                "Black",
                "Dark green",
                "Green",
                "White",
                "Light blue",
                "Red",
                "Dark blue",
                "Grey",
                "Silver",
                "Burgundy",
                "Gold",
                "Chameleon",
                "Beige",
                "Violet",
                "Light green",
                "Yellow",
                "Brown",
                "Raspberry",
                "Orange",
                "Pink",
                "Blue"
              ]
            },
            "default": []
          },
          "conditions": {
            "title": "Condition",
            "type": "array",
            "description": "Condition as the seller declared it. Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "new",
                "used",
                "needs-repair",
                "excellent",
                "not-working",
                "working",
                "for-parts",
                "for-restoration"
              ],
              "enumTitles": [
                "New",
                "Used",
                "Needs repair",
                "Excellent",
                "Not working",
                "Working",
                "For parts",
                "For restoration"
              ]
            },
            "default": []
          },
          "registrations": {
            "title": "Registration",
            "type": "array",
            "description": "Where the vehicle is registered or whether customs are paid. Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "moldova",
                "transnistria",
                "other-country",
                "customs-cleared",
                "not-cleared"
              ],
              "enumTitles": [
                "Moldova",
                "Transnistria",
                "Other country",
                "Customs cleared",
                "Not cleared"
              ]
            },
            "default": []
          },
          "sellerType": {
            "title": "Seller type",
            "enum": [
              "any",
              "private",
              "dealer"
            ],
            "type": "string",
            "description": "Private persons or dealers. Cars only: the other sections have no such filter on the site.",
            "default": "any"
          },
          "withVideo": {
            "title": "Only ads with video",
            "type": "boolean",
            "description": "Keeps only ads that carry a video. Cars only.",
            "default": false
          },
          "startUrls": {
            "title": "Addresses",
            "type": "array",
            "description": "urls mode. Ad addresses (https://999.md/ro/105408829), seller profiles (https://999.md/ro/profile/<login>) and vehicle list addresses (https://999.md/ro/list/transport/cars). Ad numbers can go in the next field.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "listingIds": {
            "title": "Ad numbers",
            "type": "array",
            "description": "urls mode. The number at the end of an ad address, for example 105408829.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "sellerLogins": {
            "title": "Seller logins",
            "type": "array",
            "description": "sellers mode. Logins (or profile addresses) of dealers and companies, for example DiplomatAuto. Empty means dealers are found through the sections and filters above.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "includeSellerRecords": {
            "title": "Add seller records to search",
            "type": "boolean",
            "description": "In search mode, adds one seller record (profile, address, opening hours, links, stock count) the first time a dealer appears.",
            "default": false
          },
          "includeSellerVehicles": {
            "title": "Also collect seller vehicles",
            "type": "boolean",
            "description": "In sellers mode, also collects the vehicles of each seller. Uses the sections you pick, or all 14 vehicle sections when none is picked.",
            "default": false
          },
          "language": {
            "title": "Language",
            "enum": [
              "ro",
              "ru"
            ],
            "type": "string",
            "description": "Language of site texts such as regions, generations and equipment names. Ad titles and descriptions are the sellers' own words.",
            "default": "ro"
          },
          "fetchMarketValuation": {
            "title": "Add market valuation",
            "type": "boolean",
            "description": "Cars only. Adds the site's own market statistics for the make and model (median and average price in euro, sample size, confidence). They cover all years of that model, so they set a price range, not a year-exact value (vehicle-detail-record).",
            "default": false
          },
          "includeContactDetails": {
            "title": "Include dealer contact details",
            "type": "boolean",
            "description": "Adds the phone numbers of dealers and companies and keeps phone numbers inside their descriptions. Private seller names, phones and emails are never output.",
            "default": false
          },
          "onlyNew": {
            "title": "Only new ads (monitor)",
            "type": "boolean",
            "description": "Skips every ad seen in an earlier run with the same monitor name, so scheduled runs return only what is new.",
            "default": false
          },
          "trackPriceChanges": {
            "title": "Report price changes",
            "type": "boolean",
            "description": "With Only new ads: an ad seen before whose price changed comes back once as a price-change row with the old price, the difference and the percentage.",
            "default": false
          },
          "stateKey": {
            "title": "Monitor name",
            "type": "string",
            "description": "Name of the memory used by Only new ads. Use one name per saved search. Empty derives a name from your filters.",
            "default": ""
          },
          "resetSeen": {
            "title": "Reset monitor memory",
            "type": "boolean",
            "description": "Forgets everything remembered under this monitor name before the run starts.",
            "default": false
          },
          "maxConcurrency": {
            "title": "Parallel page reads",
            "minimum": 1,
            "maximum": 5,
            "type": "integer",
            "description": "How many result pages are read at the same time (1 to 5). Requests are paced to about four per second in any case, so a higher value adds little.",
            "default": 2
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Optional. Empty means direct requests, which work. Add a proxy only if your own network needs one."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}