{
  "openapi": "3.0.1",
  "info": {
    "title": "Mercado Libre Autos Scraper (incl. TuCarro Colombia)",
    "description": "Scrape new and used car listings from Mercado Libre in Chile, Mexico, Argentina, Uruguay and TuCarro Colombia: make, model, year, price, km, location, dealer, photos, plus optional specs (fuel, transmission, body, engine, color). From US$3 per 1,000 vehicles.",
    "version": "0.1",
    "x-build-id": "odPMR6ouVFUqsj0Ii"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/fabrikit~mercadolibre-autos-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-fabrikit-mercadolibre-autos-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/fabrikit~mercadolibre-autos-scraper/runs": {
      "post": {
        "operationId": "runs-sync-fabrikit-mercadolibre-autos-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/fabrikit~mercadolibre-autos-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-fabrikit-mercadolibre-autos-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": {
          "country": {
            "title": "Country",
            "enum": [
              "CL",
              "MX",
              "AR",
              "CO",
              "UY"
            ],
            "type": "string",
            "description": "Which vehicle portal to search: Chile (autos.mercadolibre.cl), Mexico (autos.mercadolibre.com.mx), Argentina (autos.mercadolibre.com.ar), Uruguay (autos.mercadolibre.com.uy) or Colombia (carros.tucarro.com.co — TuCarro is Mercado Libre's car marketplace in Colombia).",
            "default": "CL"
          },
          "make": {
            "title": "Make (brand)",
            "type": "string",
            "description": "Vehicle make as written on the site, e.g. `Toyota`, `Chevrolet`, `Mercedes-Benz`, `Great Wall`. Spelling variants are matched against the site's own brand list (\"mercedes benz\" → Mercedes-Benz). Leave empty for all makes. If the make can't be matched, the run fails with a list of the makes the site has instead of returning unrelated results.",
            "default": ""
          },
          "model": {
            "title": "Model",
            "type": "string",
            "description": "Model of the make above, e.g. `Corolla`, `Hilux`, `RAV4`, `Corolla Cross`, `CX-5`. Requires a make. Leave empty for all models. Unknown models fail with the list of models the site has for that make.",
            "default": ""
          },
          "maxItems": {
            "title": "Max vehicles",
            "minimum": 1,
            "maximum": 200000,
            "type": "integer",
            "description": "Stop after this many vehicles. The site serves 48 per page and at most 2,016 per search — bigger requests are split automatically into year and price bands (see \"Split large searches\").",
            "default": 50
          },
          "fetchDetails": {
            "title": "Fetch detail pages (add-on)",
            "type": "boolean",
            "description": "Open each listing's own page (1 extra request per vehicle) to add fuel type, transmission, body type, doors, engine, color, traction, seller type (dealer vs. private), dealer name, publication date, photo count and all photo URLs, the full spec table (safety, comfort, entertainment…) and the description (phone numbers and e-mails removed). Charged as a separate \"vehicle details\" event on top of the result event. Off = faster, cheaper runs with search-card data only.",
            "default": false
          },
          "yearMin": {
            "title": "Year from",
            "minimum": 0,
            "maximum": 2100,
            "type": "integer",
            "description": "Oldest model year (e.g. 2018). 0 = no minimum.",
            "default": 0
          },
          "yearMax": {
            "title": "Year to",
            "minimum": 0,
            "maximum": 2100,
            "type": "integer",
            "description": "Newest model year (e.g. 2024). 0 = no maximum.",
            "default": 0
          },
          "priceMin": {
            "title": "Minimum price",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum price in the price-filter currency below. 0 = no minimum.",
            "default": 0
          },
          "priceMax": {
            "title": "Maximum price",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum price in the price-filter currency below. 0 = no maximum.",
            "default": 0
          },
          "priceCurrency": {
            "title": "Price filter currency",
            "enum": [
              "local",
              "USD"
            ],
            "type": "string",
            "description": "Currency of the price filter: the local currency (CLP, MXN, ARS, COP or UYU) or US dollars. The site converts, so a USD band also matches listings priced in pesos and vice versa (useful in Argentina and Uruguay, where many cars are listed in USD). Each result reports its own listed currency plus a `priceUsd` conversion.",
            "default": "local"
          },
          "kmMin": {
            "title": "Minimum km",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum mileage in kilometres. 0 = no minimum.",
            "default": 0
          },
          "kmMax": {
            "title": "Maximum km",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum mileage in kilometres. 0 = no maximum.",
            "default": 0
          },
          "condition": {
            "title": "Condition",
            "enum": [
              "any",
              "new",
              "used"
            ],
            "type": "string",
            "description": "`new` = 0 km vehicles (mostly dealers and official stores), `used` = used / pre-owned.",
            "default": "any"
          },
          "location": {
            "title": "Location",
            "type": "string",
            "description": "Free text: a state / region / department (`RM (Metropolitana)` or `RM`, `Jalisco`, `CDMX`, `Córdoba`, `Antioquia`, `Bogotá`, `Montevideo`) or a city, best written as `City, State` (`Vitacura, RM`, `Zapopan, Jalisco`, `Medellín, Antioquia`). A city alone also works when the site can place it. You can also paste the site's own path (`rm-metropolitana/vitacura`). Leave empty for the whole country. If the location can't be matched, the run fails with a clear error instead of returning nationwide or keyword results.",
            "default": ""
          },
          "sort": {
            "title": "Sort order",
            "enum": [
              "relevance",
              "newest",
              "price_asc",
              "price_desc"
            ],
            "type": "string",
            "description": "`relevance` is the site's own order. `newest` returns the most recently published listings first — the right choice for monitoring new stock.",
            "default": "relevance"
          },
          "splitLargeSearches": {
            "title": "Split large searches",
            "type": "boolean",
            "description": "Mercado Libre serves at most 2,016 results per search. When the search has more and you ask for more than that, the Actor splits it automatically into model-year bands (using the site's own year counts) and, where a single year is still too big, into price bands, then merges the results without duplicates. Results then come band by band, so the sort order applies within each band. Turn off to stop at 2,016.",
            "default": true
          },
          "startUrls": {
            "title": "Direct search URLs (optional)",
            "type": "array",
            "description": "Instead of the filters above, paste one or more search-results URLs copied from autos.mercadolibre.cl, autos.mercadolibre.com.mx, autos.mercadolibre.com.ar, autos.mercadolibre.com.uy or carros.tucarro.com.co after applying any filters you like on the site (fuel, transmission, body type, color, seller type, keyword…). When this list is not empty, the filter fields above are ignored. Each URL returns at most 2,016 vehicles; Max vehicles applies to all URLs together.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Optional. By default the Actor connects directly and, if Mercado Libre answers with its anti-bot verification page (it sometimes does for datacenter IPs, including Apify's), switches automatically to Apify RESIDENTIAL proxies in the searched country. You don't need to change this.",
            "default": {
              "useApifyProxy": false
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}