{
  "openapi": "3.0.1",
  "info": {
    "title": "Webmotors Car Listings Scraper (Brazil)",
    "description": "Scrape Webmotors, Brazil's largest car marketplace: used and new cars by make, model, state or city with price in BRL, FIPE percent, year, kilometres, transmission, dealer or individual seller and location. Sort by price, year or mileage for inventory and price feeds.",
    "version": "0.1",
    "x-build-id": "ipy8zSTpSl87Jqv39"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/superslowsloth~webmotors-listings/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-superslowsloth-webmotors-listings",
        "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/superslowsloth~webmotors-listings/runs": {
      "post": {
        "operationId": "runs-sync-superslowsloth-webmotors-listings",
        "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/superslowsloth~webmotors-listings/run-sync": {
      "post": {
        "operationId": "run-sync-superslowsloth-webmotors-listings",
        "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": {
          "searchUrls": {
            "title": "Webmotors search URLs (optional)",
            "type": "array",
            "description": "Webmotors car search pages to read, one per line, copied from the browser: https://www.webmotors.com.br/carros/estoque, /carros/estoque/toyota/corolla, /carros/sp-campinas or /carros/sp-sao-paulo/toyota. Filters in the URL's query string (price, year, kilometres) are kept. Each URL is read separately. When this is filled, leave Make, Model, State and City empty. Only car pages down to make and model are supported.",
            "items": {
              "type": "string"
            }
          },
          "make": {
            "title": "Make (optional)",
            "type": "string",
            "description": "One make as written in Webmotors' URL: toyota, honda, land-rover, mercedes-benz. Leave empty for every make. A make Webmotors does not know fails the run at no charge rather than returning the whole market."
          },
          "model": {
            "title": "Model (optional)",
            "type": "string",
            "description": "One model of the make, as written in Webmotors' URL: corolla, corolla-cross, hilux-sw4, hr-v. Needs Make. A model Webmotors does not know fails the run at no charge."
          },
          "state": {
            "title": "State (optional)",
            "type": "string",
            "description": "Two-letter Brazilian state code: SP, RJ, MG, PR, RS and so on. Leave empty for the whole country."
          },
          "city": {
            "title": "City (optional)",
            "type": "string",
            "description": "A city inside the State, written as in Webmotors' URL: campinas, sao-paulo, rio-de-janeiro (accents optional). Needs State. A city Webmotors has no page for fails the run at no charge rather than returning the whole state."
          },
          "minPrice": {
            "title": "Minimum price (BRL)",
            "minimum": 0,
            "type": "integer",
            "description": "Only cars asking at least this many reais."
          },
          "maxPrice": {
            "title": "Maximum price (BRL)",
            "minimum": 0,
            "type": "integer",
            "description": "Only cars asking at most this many reais. Webmotors holds some mistyped prices in the hundreds of millions, so a ceiling also keeps those out."
          },
          "minYear": {
            "title": "Minimum model year",
            "minimum": 1900,
            "type": "integer",
            "description": "Only cars of this model year or newer."
          },
          "maxYear": {
            "title": "Maximum model year",
            "minimum": 1900,
            "type": "integer",
            "description": "Only cars of this model year or older."
          },
          "minKm": {
            "title": "Minimum kilometres",
            "minimum": 0,
            "type": "integer",
            "description": "Only cars with at least this many kilometres on the odometer."
          },
          "maxKm": {
            "title": "Maximum kilometres",
            "minimum": 0,
            "type": "integer",
            "description": "Only cars with at most this many kilometres on the odometer. Use 0 for new cars only."
          },
          "sellerType": {
            "title": "Seller type",
            "enum": [
              "any",
              "dealership",
              "store",
              "individual"
            ],
            "type": "string",
            "description": "Limit the search to one kind of ad: a dealership (Concessionária), a used-car store (Loja) or a private seller (Pessoa Física). 'Any seller' returns all three. Every row also carries seller_type and seller_category, so the full read can be filtered later.",
            "default": "any"
          },
          "maxItems": {
            "title": "Max cars per search",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Read at most this many cars for each search. Up to 10,000 are accepted, the most Webmotors serves for one search. A bigger inventory has to be split by make, model, state, city or price band (use several search URLs).",
            "default": 100
          },
          "sort": {
            "title": "Sort order",
            "enum": [
              "best-match",
              "price-asc",
              "price-desc",
              "year-newest",
              "km-low"
            ],
            "type": "string",
            "description": "The order Webmotors lists the cars in. 'Best match' is its default relevance order. For a price feed or a full sweep of a narrow search use a price sort. Webmotors repeats a few cars across page borders when many tie on the sort key (relevance and kilometres); repeats are returned and charged once.",
            "default": "best-match"
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Use Apify's automatic datacenter proxy (the default). Webmotors answered every datacenter exit in testing and was less reliable on residential ones. A refused request is retried from a fresh address.",
            "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
                  },
                  "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}