{
  "openapi": "3.0.1",
  "info": {
    "title": "DubiCars scraper: دوبي كارز سيارات الإمارات",
    "description": "Scrape public DubiCars UAE listings and .html vehicle pages into normalized JSON with prices, specs, seller signals, images, and safe change events. Use Apify Datasets, REST API, MCP, or n8n. Skip browser automation and contact harvesting. استخراج بيانات السيارات دوبي كارز. Usage-based pricing.",
    "version": "1.0",
    "x-build-id": "QizRZ5N8codlSnAbF"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/getascraper~dubicars-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-getascraper-dubicars-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/getascraper~dubicars-scraper/runs": {
      "post": {
        "operationId": "runs-sync-getascraper-dubicars-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/getascraper~dubicars-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-getascraper-dubicars-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": {
          "sourceMode": {
            "title": "Source Mode",
            "enum": [
              "auto",
              "discovery",
              "details"
            ],
            "type": "string",
            "description": "Automatically classify public category pages and .html vehicle pages, or enforce one source type.",
            "default": "auto"
          },
          "sourceUrls": {
            "title": "Source URLs",
            "minItems": 1,
            "maxItems": 20,
            "type": "array",
            "description": "Public DubiCars URLs to scan. The Actor rejects search, API, AJAX, authentication, off-domain, and malformed URLs.",
            "items": {
              "type": "object",
              "properties": {
                "url": {
                  "title": "URL",
                  "type": "string",
                  "description": "A public DubiCars category, dealer, model, brand, or .html vehicle URL."
                }
              },
              "required": [
                "url"
              ]
            },
            "default": [
              {
                "url": "https://www.dubicars.com/dubai/new"
              }
            ]
          },
          "keyword": {
            "title": "Keyword",
            "maxLength": 120,
            "type": "string",
            "description": "Optional post-extraction keyword match across the title, description, make, model, and trim.",
            "default": ""
          },
          "make": {
            "title": "Make",
            "maxLength": 80,
            "type": "string",
            "description": "Optional make filter, such as Toyota or Porsche.",
            "default": ""
          },
          "model": {
            "title": "Model",
            "maxLength": 80,
            "type": "string",
            "description": "Optional model filter. Custom model values remain allowed.",
            "default": ""
          },
          "condition": {
            "title": "Condition",
            "maxLength": 40,
            "type": "string",
            "description": "Optional condition filter. Use any to disable it.",
            "default": "any"
          },
          "sellerType": {
            "title": "Seller Type",
            "maxLength": 60,
            "type": "string",
            "description": "Optional seller type filter. Use any to disable it.",
            "default": "any"
          },
          "bodyType": {
            "title": "Body Type",
            "maxLength": 60,
            "type": "string",
            "description": "Optional body type filter, such as SUV, sedan, coupe, or pickup.",
            "default": ""
          },
          "fuelType": {
            "title": "Fuel Type",
            "maxLength": 60,
            "type": "string",
            "description": "Optional fuel type filter. Custom source values remain allowed.",
            "default": ""
          },
          "emirate": {
            "title": "Emirate",
            "maxLength": 60,
            "type": "string",
            "description": "Optional emirate or region filter.",
            "default": ""
          },
          "regionalSpecs": {
            "title": "Regional Specification",
            "maxLength": 80,
            "type": "string",
            "description": "Optional regional specification filter, such as GCC, American, European, or Japanese.",
            "default": ""
          },
          "exportStatus": {
            "title": "Export Status",
            "maxLength": 60,
            "type": "string",
            "description": "Optional source-published export status filter. Use any to disable it.",
            "default": "any"
          },
          "minPrice": {
            "title": "Minimum Price",
            "minimum": 0,
            "maximum": 100000000,
            "type": "number",
            "description": "Optional lower price bound in the source currency. Zero disables the lower bound.",
            "default": 0
          },
          "maxPrice": {
            "title": "Maximum Price",
            "minimum": 0,
            "maximum": 100000000,
            "type": "number",
            "description": "Optional upper price bound in the source currency. The finite default covers ordinary UAE listings.",
            "default": 100000000
          },
          "minYear": {
            "title": "Minimum Year",
            "minimum": 0,
            "maximum": 2100,
            "type": "integer",
            "description": "Optional lower model-year bound. Zero disables the lower bound.",
            "default": 0
          },
          "maxYear": {
            "title": "Maximum Year",
            "minimum": 0,
            "maximum": 2100,
            "type": "integer",
            "description": "Optional upper model-year bound.",
            "default": 2100
          },
          "maxMileageKm": {
            "title": "Maximum Mileage (Km)",
            "minimum": 0,
            "maximum": 100000000,
            "type": "integer",
            "description": "Optional upper mileage bound. The finite default covers ordinary used-car listings.",
            "default": 100000000
          },
          "sourceFailurePolicy": {
            "title": "Source Failure Policy",
            "enum": [
              "continueAndReport",
              "failRun"
            ],
            "type": "string",
            "description": "Choose whether one blocked or failed source stops the run or is reported alongside successful sources.",
            "default": "continueAndReport"
          },
          "runMode": {
            "title": "Run Mode",
            "enum": [
              "snapshot",
              "changesOnly"
            ],
            "type": "string",
            "description": "Snapshot emits current records. Changes Only emits new, updated, and price-changed records when a monitor key is supplied.",
            "default": "snapshot"
          },
          "monitorKey": {
            "title": "Monitor Key",
            "maxLength": 120,
            "type": "string",
            "description": "Stable key for recurring changesOnly runs. Required only when Run Mode is Changes Only.",
            "default": ""
          },
          "detailLevel": {
            "title": "Detail Level",
            "enum": [
              "auto",
              "summary",
              "full"
            ],
            "type": "string",
            "description": "Auto uses full public extraction for direct .html URLs and summary cards for discovery pages.",
            "default": "auto"
          },
          "includeImages": {
            "title": "Include Images",
            "type": "boolean",
            "description": "Include public vehicle image URLs when available.",
            "default": true
          },
          "includeDescription": {
            "title": "Include Description",
            "type": "boolean",
            "description": "Include the public vehicle description when available.",
            "default": true
          },
          "includeSellerProfile": {
            "title": "Include Seller Profile",
            "type": "boolean",
            "description": "Include public seller name, type, profile URL, and seller signals when available.",
            "default": true
          },
          "maxItems": {
            "title": "Maximum Items",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Maximum vehicle records emitted across all sources.",
            "default": 10
          },
          "maxPagesPerSource": {
            "title": "Maximum Pages Per Source",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "Maximum public discovery pages to inspect for each category, brand, model, or dealer URL.",
            "default": 1
          },
          "maxDetailPages": {
            "title": "Maximum Detail Pages",
            "minimum": 0,
            "maximum": 200,
            "type": "integer",
            "description": "Maximum public .html detail pages requested for full enrichment across a run.",
            "default": 10
          },
          "maxImagesPerListing": {
            "title": "Maximum Images Per Listing",
            "minimum": 1,
            "maximum": 30,
            "type": "integer",
            "description": "Maximum image URLs retained for each vehicle record.",
            "default": 8
          },
          "emitUnchanged": {
            "title": "Emit Unchanged Records",
            "type": "boolean",
            "description": "In Changes Only mode, also emit records with no detected field changes.",
            "default": false
          },
          "maxConcurrency": {
            "title": "Maximum Concurrency",
            "minimum": 1,
            "maximum": 3,
            "type": "integer",
            "description": "Maximum number of public HTTP sources processed concurrently.",
            "default": 1
          },
          "requestDelayMs": {
            "title": "Request Delay (Ms)",
            "minimum": 0,
            "maximum": 10000,
            "type": "integer",
            "description": "Delay before each public HTTP request, including bounded retries.",
            "default": 1000
          },
          "proxyConfiguration": {
            "title": "Proxy Configuration",
            "type": "object",
            "description": "Optional Apify Proxy configuration. The default uses the Apify datacenter proxy.",
            "default": {
              "useApifyProxy": true
            }
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}