{
  "openapi": "3.0.1",
  "info": {
    "title": "Moteur.ma Scraper - Morocco Used Cars & Seller Phones",
    "description": "Scrape Moteur.ma, Morocco's used car marketplace (125,000+ cars): make, model, year, price in MAD, km, fuel, gearbox and city. Add Details for the seller's phone, name and type (dealer or private), full description, fiscal power, doors, views and all photos.",
    "version": "1.0",
    "x-build-id": "IgSUKAqsrliURiVHh"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/normdata~moteur-ma-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-normdata-moteur-ma-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/normdata~moteur-ma-scraper/runs": {
      "post": {
        "operationId": "runs-sync-normdata-moteur-ma-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/normdata~moteur-ma-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-normdata-moteur-ma-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": {
          "maxItems": {
            "title": "Maximum results",
            "minimum": 1,
            "type": "integer",
            "description": "Stop after this many cars in total. Leave empty for no limit. The Apify Free plan is always capped at 10."
          },
          "makes": {
            "title": "Makes",
            "type": "array",
            "description": "Car makes (142 on Moteur.ma; type to search).",
            "items": {
              "type": "string",
              "enum": [
                "abarth",
                "ac",
                "acrea",
                "acura",
                "aixam",
                "alfa-romeo",
                "alpine",
                "aro",
                "aston-martin",
                "audi",
                "austin",
                "autobianchi",
                "autre",
                "avatr",
                "baic",
                "bellier",
                "bentley",
                "bertone",
                "bmw",
                "bugatti",
                "buick",
                "burstner",
                "byd",
                "cadillac",
                "chana",
                "changan",
                "changfeng",
                "changhe",
                "chatenet",
                "chery",
                "chevrolet",
                "chrysler",
                "citroen",
                "cupra",
                "dacia",
                "daewoo",
                "daihatsu",
                "darmont",
                "de-tomaso",
                "deepal",
                "denza",
                "dfsk",
                "dodge",
                "dongfeng",
                "ds",
                "exeed",
                "faw",
                "ferrari",
                "fiat",
                "ford",
                "foton",
                "gac",
                "gaz",
                "geely",
                "gmc",
                "gme",
                "gwm",
                "hafei",
                "honda",
                "hummer",
                "hyundai",
                "icaur",
                "infiniti",
                "isuzu",
                "iveco",
                "jac",
                "jaecoo",
                "jaguar",
                "jeep",
                "jetour",
                "jmc",
                "jonway",
                "kgm",
                "kia",
                "kymco",
                "lada",
                "lamborghini",
                "lancia",
                "land-rover",
                "landwind",
                "leapmotor",
                "lepas",
                "lexus",
                "ligier",
                "lincoln",
                "lifan",
                "lotus",
                "lynk-co",
                "mahindra",
                "maserati",
                "matra",
                "maybach",
                "mazda",
                "mclaren",
                "mercedes-benz",
                "mg",
                "microcar",
                "mini",
                "mitsubishi",
                "morgan",
                "mpm",
                "neo-motors",
                "nissan",
                "omoda",
                "opel",
                "peugeot",
                "plymouth",
                "polaris",
                "pontiac",
                "porsche",
                "quad",
                "renault",
                "rolls-royce",
                "rover",
                "rox",
                "saab",
                "santana",
                "seat",
                "secma",
                "seres",
                "simca",
                "skoda",
                "smart",
                "soueast",
                "spyker",
                "ssangyong",
                "subaru",
                "suzuki",
                "talbot",
                "tata",
                "tesla",
                "toyota",
                "triumph",
                "tvr",
                "venturi",
                "volkswagen",
                "volvo",
                "wiesmann",
                "wuling",
                "xpeng",
                "zeekr",
                "zotye"
              ],
              "enumTitles": [
                "Abarth",
                "AC",
                "Acrea",
                "Acura",
                "Aixam",
                "Alfa Romeo",
                "Alpine",
                "ARO",
                "Aston Martin",
                "Audi",
                "Austin",
                "Autobianchi",
                "Autre",
                "AVATR",
                "BAIC",
                "Bellier",
                "Bentley",
                "Bertone",
                "BMW",
                "Bugatti",
                "Buick",
                "Burstner",
                "BYD",
                "Cadillac",
                "Chana",
                "Changan",
                "Changfeng",
                "Changhe",
                "Chatenet",
                "Chery",
                "Chevrolet",
                "Chrysler",
                "Citroën",
                "Cupra",
                "Dacia",
                "Daewoo",
                "Daihatsu",
                "Darmont",
                "De Tomaso",
                "DEEPAL",
                "DENZA",
                "DFSK",
                "Dodge",
                "Dongfeng",
                "DS",
                "EXEED",
                "FAW",
                "Ferrari",
                "Fiat",
                "Ford",
                "foton",
                "GAC",
                "GAZ",
                "Geely",
                "GMC",
                "GME",
                "GWM",
                "Hafei",
                "Honda",
                "HUMMER",
                "Hyundai",
                "iCAUR",
                "Infiniti",
                "Isuzu",
                "Iveco",
                "jac",
                "Jaecoo",
                "Jaguar",
                "Jeep",
                "Jetour",
                "JMC",
                "Jonway",
                "KGM",
                "Kia",
                "Kymco",
                "Lada",
                "Lamborghini",
                "Lancia",
                "Land Rover",
                "Landwind",
                "Leapmotor",
                "Lepas",
                "Lexus",
                "Ligier",
                "Lincoln",
                "Llifan",
                "Lotus",
                "Lynk & Co",
                "Mahindra",
                "Maserati",
                "Matra",
                "Maybach",
                "Mazda",
                "McLaren",
                "Mercedes-Benz",
                "MG",
                "Microcar",
                "Mini",
                "Mitsubishi",
                "Morgan",
                "MPM",
                "Neo Motors",
                "Nissan",
                "Omoda",
                "Opel",
                "Peugeot",
                "Plymouth",
                "Polaris",
                "Pontiac",
                "Porsche",
                "Quad",
                "Renault",
                "Rolls-Royce",
                "Rover",
                "ROX",
                "Saab",
                "Santana",
                "Seat",
                "Secma",
                "Seres",
                "Simca",
                "Skoda",
                "Smart",
                "soueast",
                "Spyker",
                "Ssangyong",
                "Subaru",
                "Suzuki",
                "Talbot",
                "Tata",
                "Tesla",
                "Toyota",
                "Triumph",
                "TVR",
                "Venturi",
                "Volkswagen",
                "Volvo",
                "Wiesmann",
                "Wuling",
                "XPENG",
                "Zeekr",
                "Zotye"
              ]
            }
          },
          "models": {
            "title": "Models",
            "type": "array",
            "description": "Make and model, like Dacia Duster, Renault Clio, Volkswagen Golf 7 or Mercedes-Benz Classe C.",
            "items": {
              "type": "string"
            }
          },
          "cities": {
            "title": "Cities",
            "type": "array",
            "description": "Where the car is sold (111 cities).",
            "items": {
              "type": "string",
              "enum": [
                "Agadir",
                "Ait Benhaddou",
                "Ait Daoud",
                "Ait Ourir",
                "Al Hoceima",
                "Amizmiz",
                "Arfoud",
                "Asilah",
                "Autre",
                "Azemmour",
                "Azrou",
                "Ben Ahmed",
                "Ben Slimane",
                "Benguerir",
                "Beni Mellal",
                "Berkane",
                "Berrechid",
                "Bouskoura",
                "Bouznika",
                "Casablanca",
                "Chefchaouen",
                "Chemaia",
                "Chichaoua",
                "Dakhla",
                "Dar Bouazza",
                "Demnate",
                "El Hajeb",
                "El Jadida",
                "Errachidia",
                "Essaouira",
                "Fes",
                "Figuig",
                "Fnideq",
                "Fquih Ben Salah",
                "Guelmim",
                "Guelta Zemmour",
                "Guercif",
                "Had Soualem",
                "Harhoura",
                "Ifrane",
                "Imilchil",
                "Imintanoute",
                "Inezgane",
                "Jerada",
                "Kelaa Sraghna",
                "Kenitra",
                "Khemis Zemamra",
                "Khemisset",
                "Khenifra",
                "Khouribga",
                "Ksar El Kebir",
                "Laayoune",
                "Lagouira",
                "Larache",
                "Marrakech",
                "Martil",
                "Mechra Bel Ksiri",
                "Mediek Ou Mdiq",
                "Mediouna",
                "Mehdia",
                "Meknes",
                "Midelt",
                "Mirleft",
                "Missour",
                "Mohammedia",
                "Moulay Bousselham",
                "Mrirt",
                "Nador",
                "Oualidia",
                "Ouarzazate",
                "Ouezzane",
                "Oujda",
                "Oulad Berhil",
                "Oulad Teima",
                "Rabat",
                "Ras El Ma",
                "Rissani",
                "Safi",
                "Saidia",
                "Sale",
                "Sefrou",
                "Settat",
                "Sidi Bou Othmane",
                "Sidi Kacem",
                "Sidi Rahal",
                "Sidi Slimane",
                "Skhirat",
                "Smara",
                "Taddert",
                "Tahannaout",
                "Taliouine",
                "Talmest",
                "Tamanar",
                "Tamaris",
                "Tameslouht",
                "Tan-Tan",
                "Tanger",
                "Taounate",
                "Taourirte",
                "Tarfaya",
                "Taroudannt",
                "Tata",
                "Taza",
                "Taznakht",
                "Temara",
                "Tetouan",
                "Tiflet",
                "Tinghir",
                "Tiznit",
                "Youssoufia",
                "Zagora"
              ],
              "enumTitles": [
                "Agadir",
                "Ait Benhaddou",
                "Ait Daoud",
                "Ait Ourir",
                "Al Hoceima",
                "Amizmiz",
                "Arfoud",
                "Asilah",
                "Autre",
                "Azemmour",
                "Azrou",
                "Ben Ahmed",
                "Ben Slimane",
                "Benguerir",
                "Beni Mellal",
                "Berkane",
                "Berrechid",
                "Bouskoura",
                "Bouznika",
                "Casablanca",
                "Chefchaouen",
                "Chemaia",
                "Chichaoua",
                "Dakhla",
                "Dar Bouazza",
                "Demnate",
                "El Hajeb",
                "El Jadida",
                "Errachidia",
                "Essaouira",
                "Fes",
                "Figuig",
                "Fnideq",
                "Fquih Ben Salah",
                "Guelmim",
                "Guelta Zemmour",
                "Guercif",
                "Had Soualem",
                "Harhoura",
                "Ifrane",
                "Imilchil",
                "Imintanoute",
                "Inezgane",
                "Jerada",
                "Kelaa Sraghna",
                "Kenitra",
                "Khemis Zemamra",
                "Khemisset",
                "Khenifra",
                "Khouribga",
                "Ksar El Kebir",
                "Laayoune",
                "Lagouira",
                "Larache",
                "Marrakech",
                "Martil",
                "Mechra Bel Ksiri",
                "Mediek Ou Mdiq",
                "Mediouna",
                "Mehdia",
                "Meknes",
                "Midelt",
                "Mirleft",
                "Missour",
                "Mohammedia",
                "Moulay Bousselham",
                "Mrirt",
                "Nador",
                "Oualidia",
                "Ouarzazate",
                "Ouezzane",
                "Oujda",
                "Oulad Berhil",
                "Oulad Teima",
                "Rabat",
                "Ras El Ma",
                "Rissani",
                "Safi",
                "Saidia",
                "Sale",
                "Sefrou",
                "Settat",
                "Sidi Bou Othmane",
                "Sidi Kacem",
                "Sidi Rahal",
                "Sidi Slimane",
                "Skhirat",
                "Smara",
                "Taddert",
                "Tahannaout",
                "Taliouine",
                "Talmest",
                "Tamanar",
                "Tamaris",
                "Tameslouht",
                "Tan-Tan",
                "Tanger",
                "Taounate",
                "Taourirte",
                "Tarfaya",
                "Taroudannt",
                "Tata",
                "Taza",
                "Taznakht",
                "Temara",
                "Tetouan",
                "Tiflet",
                "Tinghir",
                "Tiznit",
                "Youssoufia",
                "Zagora"
              ]
            }
          },
          "fuel": {
            "title": "Fuel",
            "enum": [
              "Petrol",
              "Diesel",
              "Electric",
              "Hybrid",
              "Plug-in hybrid"
            ],
            "type": "string",
            "description": "Engine type."
          },
          "gearbox": {
            "title": "Gearbox",
            "enum": [
              "Manual",
              "Automatic",
              "Semi-automatic"
            ],
            "type": "string",
            "description": "Manual, automatic or semi-automatic."
          },
          "bodyType": {
            "title": "Body type",
            "enum": [
              "Convertible",
              "SUV / 4x4",
              "Coupe",
              "City car",
              "Estate",
              "MPV",
              "Sedan",
              "Coupe-cabriolet",
              "Microcar",
              "Compact",
              "Crossover",
              "Pickup",
              "Minivan",
              "Van"
            ],
            "type": "string",
            "description": "Body style. Many sellers leave it empty, so this finds fewer cars."
          },
          "color": {
            "title": "Exterior color",
            "enum": [
              "Silver",
              "Beige",
              "White",
              "Off-white",
              "Blue",
              "Light blue",
              "Navy blue",
              "Burgundy",
              "Grey",
              "Light grey",
              "Dark grey",
              "Anthracite",
              "Ivory",
              "Yellow",
              "Brown",
              "Light brown",
              "Black",
              "Gold",
              "Orange",
              "Red",
              "Dark red",
              "Pink",
              "Custom",
              "Green",
              "Dark green",
              "Purple",
              "Other"
            ],
            "type": "string",
            "description": "Body color. Many sellers leave it empty, so this finds fewer cars."
          },
          "minPrice": {
            "title": "Minimum price (MAD)",
            "minimum": 0,
            "type": "integer",
            "description": "Only cars from this price, in Moroccan dirhams. Cars without a price (\"call for price\") are left out."
          },
          "maxPrice": {
            "title": "Maximum price (MAD)",
            "minimum": 0,
            "type": "integer",
            "description": "Only cars up to this price, in dirhams. Cars without a price are left out."
          },
          "minYear": {
            "title": "Year from",
            "minimum": 1950,
            "type": "integer",
            "description": "Only cars made in this year or later."
          },
          "maxYear": {
            "title": "Year to",
            "minimum": 1950,
            "type": "integer",
            "description": "Only cars made in this year or earlier."
          },
          "minMileage": {
            "title": "Minimum km",
            "minimum": 0,
            "type": "integer",
            "description": "Only cars with at least this many kilometers."
          },
          "maxMileage": {
            "title": "Maximum km",
            "minimum": 0,
            "type": "integer",
            "description": "Only cars with at most this many kilometers."
          },
          "postedWithinDays": {
            "title": "Posted in the last (days)",
            "minimum": 1,
            "type": "integer",
            "description": "Only cars posted in the last N days (1 = the last 24 hours)."
          },
          "includeDetails": {
            "title": "Details",
            "type": "boolean",
            "description": "Opens each car's own page for the seller's phone number, name and type (dealer or private), the dealer's logo and member-since date, the full description, body type, color, doors, fiscal power, views, first owner, imported new, modified, and all photos."
          },
          "onlyNew": {
            "title": "Only new cars",
            "type": "boolean",
            "description": "Skip cars saved by earlier runs with the same monitor name."
          },
          "monitorName": {
            "title": "Monitor name",
            "type": "string",
            "description": "Runs with the same name share their history. Use a different name for each schedule."
          },
          "startUrls": {
            "title": "Links",
            "type": "array",
            "description": "Moteur.ma used car search pages with any filters set on the site (moteur.ma/fr/voiture/achat-voiture-occasion/recherche/?marque=dacia&ville=Rabat) or car pages (.../detail-annonce/716063/dacia-duster.html). Filters are ignored with links.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}