{
  "openapi": "3.0.1",
  "info": {
    "title": "MercadoLibre Price Drop Alerts & Watchlist",
    "description": "MercadoLibre price drop alerts for your watchlist in 18 LATAM countries: paste product IDs, URLs or searches, schedule it, and get a price alert only when the best price falls vs. the last check, 7 or 30 days ago, or the lowest ever. Pay per product checked.",
    "version": "0.1",
    "x-build-id": "NNKZT6cgtQlpjCulY"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/pricelatam~mercadolibre-price-drop-alerts/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-pricelatam-mercadolibre-price-drop-alerts",
        "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/pricelatam~mercadolibre-price-drop-alerts/runs": {
      "post": {
        "operationId": "runs-sync-pricelatam-mercadolibre-price-drop-alerts",
        "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/pricelatam~mercadolibre-price-drop-alerts/run-sync": {
      "post": {
        "operationId": "run-sync-pricelatam-mercadolibre-price-drop-alerts",
        "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": {
          "products": {
            "title": "Products to watch",
            "type": "array",
            "description": "Your watchlist: catalog product IDs (the ID after /p/ in a product URL, e.g. MCO27172677) or full product URLs such as https://www.mercadolibre.com.co/.../p/MCO27172677. A parent product with variants is checked variant by variant. The country is taken from each ID, so you can mix countries.",
            "items": {
              "type": "string"
            }
          },
          "queries": {
            "title": "Search keywords (optional)",
            "type": "array",
            "description": "Optional searches to watch, one per line, e.g. 'iphone 15 128gb'. The top catalog products of each search (up to 'Max products per keyword') are checked like the products above. Write keywords as people search in that country.",
            "items": {
              "type": "string"
            }
          },
          "country": {
            "title": "Country (for keyword searches)",
            "enum": [
              "MLA",
              "MLB",
              "MLM",
              "MCO",
              "MLC",
              "MPE",
              "MLU",
              "MEC",
              "MLV",
              "MBO",
              "MPY",
              "MRD",
              "MCR",
              "MNI",
              "MGT",
              "MHN",
              "MSV",
              "MPA"
            ],
            "type": "string",
            "description": "MercadoLibre site used for the search keywords. Product IDs and URLs always use their own country. Brazil is Mercado Livre.",
            "default": "MCO"
          },
          "maxProductsPerQuery": {
            "title": "Max products per keyword",
            "minimum": 1,
            "maximum": 200,
            "type": "integer",
            "description": "How many catalog products of each search keyword are checked. Products without any offer are skipped and not charged.",
            "default": 10
          },
          "compareTo": {
            "title": "Compare the current price with",
            "enum": [
              "lastObservation",
              "last7Days",
              "last30Days",
              "lowestEver"
            ],
            "type": "string",
            "description": "Reference for a drop. 'Last observation': the best price at the product's previous check (by you, other users or our daily schedules); you get one alert per price change. 'Price 7 / 30 days ago': the best price in force that many days ago (the oldest recorded price if the history is shorter); the alert repeats on every run while the drop holds. 'Lowest price ever': only new all-time lows.",
            "default": "last7Days"
          },
          "minDropPct": {
            "title": "Minimum drop (%)",
            "minimum": 0,
            "maximum": 99,
            "type": "number",
            "description": "Alert only when the best price is at least this many percent below the reference. 0 alerts on any drop.",
            "default": 5
          },
          "minDropAmount": {
            "title": "Minimum drop (local currency)",
            "minimum": 0,
            "type": "number",
            "description": "Optional: also require the drop to be at least this amount in the product's currency (e.g. 50000 for COP 50,000). Both minimums must be met."
          },
          "condition": {
            "title": "Offer condition",
            "enum": [
              "any",
              "new",
              "used",
              "refurbished"
            ],
            "type": "string",
            "description": "Alert only when the cheapest offer behind the drop is in this condition. The shared price history always covers all offers.",
            "default": "any"
          },
          "officialStoresOnly": {
            "title": "Official stores only",
            "type": "boolean",
            "description": "Alert only when the cheapest offer behind the drop comes from a MercadoLibre official store.",
            "default": false
          },
          "includeOffers": {
            "title": "Include every seller offer",
            "type": "boolean",
            "description": "Attach the list of offers (seller, price, shipping, condition) matching your filters to each alert row.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}