{
  "openapi": "3.0.1",
  "info": {
    "title": "Mercado Livre & MercadoLibre Scraper",
    "description": "Scrape Mercado Livre (Brazil) and MercadoLibre in 17 more countries: search results, today's deals, best sellers by category, product reviews and Q&A. Price, discount, sold count, rating, seller, FULL shipping and rank, plus optional specs, stock and seller reputation.",
    "version": "0.0",
    "x-build-id": "q7PCB6fGQ8sfW2GYZ"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/epicscrapers~mercadolibre-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-epicscrapers-mercadolibre-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/epicscrapers~mercadolibre-scraper/runs": {
      "post": {
        "operationId": "runs-sync-epicscrapers-mercadolibre-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/epicscrapers~mercadolibre-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-epicscrapers-mercadolibre-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": {
          "mode": {
            "title": "What to scrape",
            "enum": [
              "products",
              "reviews",
              "questions",
              "deals",
              "bestSellers"
            ],
            "type": "string",
            "description": "<b>Products</b>: results of your search terms and URLs. <b>Reviews</b> / <b>Questions & answers</b>: the buyer reviews or Q&A of the products your search terms and URLs find (one row per review or question). <b>Deals</b>: today's offers page (<code>/ofertas</code>). <b>Best sellers</b>: the top 20 of each category (<code>/mais-vendidos</code>). Deals exist in Brazil, Argentina, Mexico, Colombia, Chile, Peru, Uruguay, Venezuela and Ecuador; best sellers in the same countries except Venezuela.",
            "default": "products"
          },
          "searchQueries": {
            "title": "Search terms",
            "type": "array",
            "description": "Keywords to search, one per line, for example <code>iphone 15</code> or <code>cafeteira</code>. Each term is searched in the country below with the filters below. Used by the Products, Reviews and Questions modes.",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "Search or product URLs",
            "type": "array",
            "description": "Mercado Livre / MercadoLibre URLs from any country: search and category result pages (<code>lista.mercadolivre.com.br/...</code>, <code>listado.mercadolibre.com.mx/...</code>) keep their own filters; official store pages (<code>/loja/apple</code>, <code>/tienda/celmix</code>) and seller listings (<code>_CustId_&lt;sellerId&gt;</code>) return the seller's listings; product pages (<code>/p/MLB...</code>, <code>/up/MLBU...</code>, <code>produto.mercadolivre.com.br/MLB-...</code>) and item IDs (<code>MLB4020577435</code>) return one row with full details. Deals pages (<code>/ofertas?...</code>) and best-seller pages (<code>/mais-vendidos/MLB1051</code>) work too. In the Reviews and Questions modes, the reviews or questions of every product found are saved.",
            "items": {
              "type": "string"
            }
          },
          "categories": {
            "title": "Categories (deals and best sellers)",
            "type": "array",
            "description": "Category IDs for the Deals and Best sellers modes, for example <code>MLB1051</code> (Celulares e Telefones) or <code>MLM1648</code> (Computación). The ID is in the category's best-seller URL (<code>mercadolivre.com.br/mais-vendidos/MLB1051</code>). Empty: all deals, or the best sellers of every top-level category.",
            "items": {
              "type": "string"
            }
          },
          "country": {
            "title": "Country",
            "enum": [
              "BR",
              "AR",
              "MX",
              "CO",
              "CL",
              "PE",
              "UY",
              "VE",
              "EC",
              "BO",
              "PY",
              "CR",
              "DO",
              "PA",
              "GT",
              "HN",
              "NI",
              "SV"
            ],
            "type": "string",
            "description": "Marketplace for search terms, deals and best sellers. URLs always use the country of their own domain.",
            "default": "BR"
          },
          "maxItemsPerSearch": {
            "title": "Max results per search or category",
            "minimum": 0,
            "maximum": 2000,
            "type": "integer",
            "description": "Results to save for each search term, URL or deals category. Mercado Libre shows at most 2,000 results per search and about 1,000 deals; <code>0</code> saves all of them. In the Reviews and Questions modes, this is the number of products per search whose reviews or questions are saved.",
            "default": 100
          },
          "includeDetails": {
            "title": "Add product details",
            "type": "boolean",
            "description": "Open each product page and add the description, full spec table, all pictures, variations, exact stock, seller ID and reputation, rating breakdown, AI review summary, top reviews, warranty, returns and other offers. Charged as an extra event per row. Product pages open in Brazil, Mexico and Argentina; elsewhere rows are saved without details (not charged). Not used in the Reviews and Questions modes.",
            "default": false
          },
          "maxReviewsPerProduct": {
            "title": "Max reviews per product",
            "minimum": 0,
            "maximum": 1980,
            "type": "integer",
            "description": "Reviews to save for each product in the Reviews mode. Mercado Libre lists up to 330 reviews per sort order; above that, the rest are collected star by star (up to 1,980). <code>0</code> saves all it can reach.",
            "default": 100
          },
          "reviewsSort": {
            "title": "Review order",
            "enum": [
              "relevance",
              "newest"
            ],
            "type": "string",
            "description": "Which reviews come first.",
            "default": "relevance"
          },
          "reviewRatings": {
            "title": "Only reviews with these stars",
            "type": "array",
            "description": "For example 1 and 2 stars for complaints. Empty: all ratings.",
            "items": {
              "type": "string",
              "enum": [
                "5",
                "4",
                "3",
                "2",
                "1"
              ],
              "enumTitles": [
                "5 stars",
                "4 stars",
                "3 stars",
                "2 stars",
                "1 star"
              ]
            }
          },
          "maxQuestionsPerProduct": {
            "title": "Max questions per product",
            "minimum": 0,
            "maximum": 2000,
            "type": "integer",
            "description": "Questions and answers to save for each listing in the Questions & answers mode. <code>0</code> saves all. Outside Brazil, question pages currently need a local account and are skipped.",
            "default": 100
          },
          "dealType": {
            "title": "Deal type",
            "enum": [
              "all",
              "deal_of_the_day",
              "lightning"
            ],
            "type": "string",
            "description": "Deals mode only. Lightning deals end within hours (<code>dealEndsAt</code>).",
            "default": "all"
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "relevance",
              "price_asc",
              "price_desc"
            ],
            "type": "string",
            "description": "Order of search term results.",
            "default": "relevance"
          },
          "condition": {
            "title": "Condition",
            "enum": [
              "any",
              "new",
              "used",
              "refurbished"
            ],
            "type": "string",
            "description": "Keep only new, used or refurbished listings.",
            "default": "any"
          },
          "minPrice": {
            "title": "Min price",
            "minimum": 0,
            "type": "integer",
            "description": "In the country's currency (BRL, MXN, ARS…)."
          },
          "maxPrice": {
            "title": "Max price",
            "minimum": 0,
            "type": "integer",
            "description": "In the country's currency."
          },
          "minDiscount": {
            "title": "Min discount (%)",
            "minimum": 0,
            "maximum": 100,
            "type": "integer",
            "description": "Keep only listings discounted by at least this percentage."
          },
          "freeShippingOnly": {
            "title": "Free shipping only",
            "type": "boolean",
            "description": "Keep only listings with free shipping.",
            "default": false
          },
          "fullOnly": {
            "title": "Mercado Envios FULL only",
            "type": "boolean",
            "description": "Keep only listings stored and shipped by Mercado Libre (FULL). In some countries the site's FULL filter also includes same-day Flex listings; <code>logisticType</code> tells them apart.",
            "default": false
          },
          "officialStoresOnly": {
            "title": "Official stores only",
            "type": "boolean",
            "description": "Keep only listings from official brand stores.",
            "default": false
          },
          "includeSponsored": {
            "title": "Include sponsored results",
            "type": "boolean",
            "description": "Also save the ads Mercado Libre mixes into the results (marked <code>isSponsored</code>, with no organic <code>position</code>). Off by default, so positions are the organic ranking.",
            "default": 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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}