{
  "openapi": "3.0.1",
  "info": {
    "title": "EasyAuto123 Scraper – Vehicle Listings, VINs & Dealer Data",
    "description": "Scrape EasyAuto123 vehicle listings into clean structured data. Extract prices, VINs, odometer readings, make, model, year, trim, specs, images, dealer names, locations, contact details, listing URLs, and optional extra fields for market research, lead generation, and inventory tracking.",
    "version": "1.0",
    "x-build-id": "SpQDbBCoiOpDVlylZ"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/abotapi~easyauto123-cars-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-abotapi-easyauto123-cars-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/abotapi~easyauto123-cars-scraper/runs": {
      "post": {
        "operationId": "runs-sync-abotapi-easyauto123-cars-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/abotapi~easyauto123-cars-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-abotapi-easyauto123-cars-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",
        "required": [
          "mode"
        ],
        "properties": {
          "mode": {
            "title": "Mode",
            "enum": [
              "search",
              "url"
            ],
            "type": "string",
            "description": "Choose whether to build a listing search from filters or start from one or more EasyAuto123 URLs.",
            "default": "search"
          },
          "urls": {
            "title": "EasyAuto123 URLs",
            "type": "array",
            "description": "Use this in URLs mode. Add listing search URLs or individual vehicle URLs.",
            "items": {
              "type": "string"
            }
          },
          "keywords": {
            "title": "Keywords",
            "type": "array",
            "description": "Optional make and model text, such as Toyota CAMRY or Ford RANGER.",
            "items": {
              "type": "string"
            }
          },
          "makes": {
            "title": "Makes",
            "type": "array",
            "description": "Vehicle makes, for example Toyota, Mazda, Ford, BYD, Kia, Hyundai, Mitsubishi, Subaru, Volkswagen, Nissan, Audi.",
            "items": {
              "type": "string"
            }
          },
          "models": {
            "title": "Models",
            "type": "array",
            "description": "Vehicle models to include. Use values as shown on EasyAuto123, for example CAMRY, RANGER, HILUX, I30, CX-5.",
            "items": {
              "type": "string"
            }
          },
          "variants": {
            "title": "Variants",
            "type": "array",
            "description": "Optional vehicle variant names.",
            "items": {
              "type": "string"
            }
          },
          "locations": {
            "title": "Locations",
            "type": "array",
            "description": "Dealer locations, such as Hendra QLD, Brooklyn VIC, Joondalup WA, Mile End South SA, Liverpool NSW, Newcastle NSW.",
            "items": {
              "type": "string"
            }
          },
          "vehicleTypes": {
            "title": "Vehicle types",
            "type": "array",
            "description": "Body and type labels, for example SUV, Wagon, Hatchback, Sedan, UTE, 7+ Seater, Hybrid, Electric.",
            "items": {
              "type": "string"
            }
          },
          "fuelTypes": {
            "title": "Fuel types",
            "type": "array",
            "description": "Fuel labels to include.",
            "items": {
              "type": "string",
              "enum": [
                "Petrol",
                "Diesel",
                "Hybrid",
                "Electric"
              ]
            }
          },
          "transmissions": {
            "title": "Transmissions",
            "type": "array",
            "description": "Transmission labels to include.",
            "items": {
              "type": "string",
              "enum": [
                "Automatic",
                "Manual"
              ]
            }
          },
          "colours": {
            "title": "Colours",
            "type": "array",
            "description": "Vehicle colours, such as White, Grey, Blue, Black, Silver, Red.",
            "items": {
              "type": "string"
            }
          },
          "lifestyles": {
            "title": "Lifestyles",
            "type": "array",
            "description": "Lifestyle labels, such as Family, City, Tradie, Outdoor Adventure, Eco Friendly.",
            "items": {
              "type": "string"
            }
          },
          "vehicleSizes": {
            "title": "Vehicle sizes",
            "type": "array",
            "description": "Size labels to include.",
            "items": {
              "type": "string",
              "enum": [
                "Small",
                "Medium",
                "Large"
              ]
            }
          },
          "carTypes": {
            "title": "Car types",
            "type": "array",
            "description": "EasyAuto123 vehicle categories.",
            "items": {
              "type": "string",
              "enum": [
                "Quality Verified",
                "Budget"
              ]
            }
          },
          "minYear": {
            "title": "Minimum year",
            "minimum": 1990,
            "type": "integer",
            "description": "Only include vehicles from this release year or newer."
          },
          "maxYear": {
            "title": "Maximum year",
            "minimum": 1990,
            "type": "integer",
            "description": "Only include vehicles from this release year or older."
          },
          "minPrice": {
            "title": "Minimum price",
            "minimum": 0,
            "type": "integer",
            "description": "Only include vehicles at or above this displayed price."
          },
          "maxPrice": {
            "title": "Maximum price",
            "minimum": 0,
            "type": "integer",
            "description": "Only include vehicles at or below this displayed price."
          },
          "minOdometer": {
            "title": "Minimum odometer",
            "minimum": 0,
            "type": "integer",
            "description": "Only include vehicles at or above this odometer reading."
          },
          "maxOdometer": {
            "title": "Maximum odometer",
            "minimum": 0,
            "type": "integer",
            "description": "Only include vehicles at or below this odometer reading."
          },
          "sort": {
            "title": "Sort",
            "enum": [
              "price-reduced",
              "price-asc",
              "price-desc",
              "kilometres-asc",
              "kilometres-desc",
              "year-desc",
              "year-asc"
            ],
            "type": "string",
            "description": "Result ordering.",
            "default": "price-reduced"
          },
          "fetchDetails": {
            "title": "Fetch detail fields",
            "type": "boolean",
            "description": "Adds fields that are only available on individual vehicle pages.",
            "default": true
          },
          "maxItems": {
            "title": "Max items",
            "minimum": 1,
            "type": "integer",
            "description": "Maximum number of dataset items to save. The run stops when this cap is reached or no more matching vehicles are available.",
            "default": 20
          },
          "maxPages": {
            "title": "Max pages",
            "minimum": 0,
            "type": "integer",
            "description": "Optional page cap. Leave as 0 for no page cap; max items remains the main limit.",
            "default": 0
          },
          "resumeFromRunId": {
            "title": "Resume from a previous run",
            "type": "string",
            "description": "Paste a previous run ID or dataset ID to continue a large crawl of vehicle listings without returning or charging for vehicles already collected there. Use this after an interrupted run, or when continuing a listing pull in another run. For recurring daily monitoring of the same search, use Incremental mode below instead."
          },
          "incrementalMode": {
            "title": "Incremental changes for scheduled runs",
            "type": "boolean",
            "description": "Turn this on for daily or recurring monitoring. The first run returns all matching vehicles as NEW. Later runs normally return only NEW, UPDATED, and REAPPEARED vehicles. Turn on \"Emit unchanged\" or \"Emit expired\" only when you also want those vehicles returned (and billed). State is kept separately for each filter combination and detail-mode setup; use State key when you want to name or deliberately share a monitoring campaign. To continue one specific interrupted run instead, use Resume from a previous run above.",
            "default": false
          },
          "stateKey": {
            "title": "State key (optional, incremental mode only)",
            "type": "string",
            "description": "Optional. Name this monitoring campaign to keep its state stable, or to deliberately share state across differently-configured runs. Leave empty to let the actor derive a key automatically from the filters and detail setting — different searches then never mix state with each other."
          },
          "emitUnchanged": {
            "title": "Emit unchanged vehicles (incremental mode only)",
            "type": "boolean",
            "description": "Off by default. Turn on to also return vehicles that have not changed since the last run, marked UNCHANGED. This returns — and bills — extra rows you already have, so leave it off unless you specifically want the full snapshot every run.",
            "default": false
          },
          "emitExpired": {
            "title": "Emit expired vehicles (incremental mode only)",
            "type": "boolean",
            "description": "Off by default. Turn on to also return vehicles that were present in a previous run but are no longer found, marked EXPIRED. Only produced once a run has fully scanned the tracked search — not when Max items capped it or when Resume was used. This returns — and bills — extra synthetic rows, so leave it off unless you need expiry tracking.",
            "default": false
          },
          "mcpConnectors": {
            "title": "Pipe results into your apps (optional)",
            "type": "array",
            "description": "Optionally send the scraped results into the apps you already use, via Model Context Protocol (MCP) connectors. Authorize a connector once under Apify → Settings → Integrations, then select it here. The connector receives a condensed, human-readable summary per item (title + key fields), not the full JSON. The complete record stays in the dataset. Leave empty to skip. Supported: Notion (https://mcp.notion.com/mcp), Linear (https://mcp.linear.app/sse), Airtable (https://mcp.airtable.com/mcp), Apify (https://mcp.apify.com)."
          },
          "notionParentPageUrl": {
            "title": "Notion parent page (Notion connector only)",
            "type": "string",
            "description": "URL (or id) of the Notion page under which item pages are created. Required to enable the Notion export; ignored by other connectors."
          },
          "maxNotifyListings": {
            "title": "Max items to export per connector",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Cap on items written to each connector per run. Does not affect the dataset.",
            "default": 50
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Apify Proxy is used by default. Keep the prefilled setting unless you need a custom 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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}