{
  "data": {
    "id": "k8GphfC79smaHdXz3",
    "actId": "ivQSE0xqPyobEakbk",
    "userId": "zq8lKbpLzTjGDayPC",
    "startedAt": "2026-11-11T09:02:10.052Z",
    "finishedAt": "2026-11-11T09:02:21.128Z",
    "status": "SUCCEEDED",
    "meta": {
      "origin": "CLI"
    },
    "stats": {
      "durationMillis": 10953,
      "runTimeSecs": 10.953,
      "computeUnits": 0.01217,
      "imageSizeBytes": 319258624
    },
    "options": {
      "useCache": true,
      "betaPackages": false,
      "memoryMbytes": 4096,
      "diskMbytes": 8192
    },
    "createdByOrganizationMemberUserId": "GK9YjZRyQZVzOdoH5",
    "exitCode": 0,
    "inputSchema": "{\n  \"title\": \"MercadoLibre Mexico Marketplace Scraper Input\",\n  \"description\": \"Search MercadoLibre Mexico listings by keyword or URL, or fetch full product details by URL or item ID. Filter by condition, price and shipping, and paginate through results.\",\n  \"type\": \"object\",\n  \"schemaVersion\": 1,\n  \"properties\": {\n    \"mode\": {\n      \"title\": \"What to scrape\",\n      \"type\": \"string\",\n      \"description\": \"Search listings, or fetch details for specific products.\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"search\",\n        \"product\",\n        \"searchProducts\",\n        \"searchByCategory\",\n        \"getProductDetails\"\n      ],\n      \"enumTitles\": [\n        \"Search listings\",\n        \"Product details\",\n        \"Search listings (legacy task)\",\n        \"Search by category (legacy task)\",\n        \"Product details (legacy task)\"\n      ],\n      \"default\": \"search\",\n      \"prefill\": \"search\"\n    },\n    \"country\": {\n      \"title\": \"Country\",\n      \"type\": \"string\",\n      \"description\": \"MercadoLibre country site. Only Mexico (MX) is supported.\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"MX\"\n      ],\n      \"enumTitles\": [\n        \"Mexico\"\n      ],\n      \"default\": \"MX\",\n      \"prefill\": \"MX\"\n    },\n    \"searchQuery\": {\n      \"title\": \"Search Query\",\n      \"type\": \"string\",\n      \"description\": \"Keyword to search for. Use this or Start URLs with the search mode.\",\n      \"editor\": \"textfield\",\n      \"prefill\": \"iphone\"\n    },\n    \"startUrls\": {\n      \"title\": \"Start URLs\",\n      \"type\": \"array\",\n      \"description\": \"MercadoLibre Mexico search or category listing URLs. When set, they replace the keyword; the filter and sort fields still apply.\",\n      \"editor\": \"stringList\",\n      \"items\": {\n        \"type\": \"string\"\n      },\n      \"default\": [],\n      \"prefill\": []\n    },\n    \"productUrls\": {\n      \"title\": \"Product URLs or IDs\",\n      \"type\": \"array\",\n      \"description\": \"MercadoLibre Mexico product URLs or item IDs (for example MLM1234567890). Required for the product-details mode.\",\n      \"editor\": \"stringList\",\n      \"items\": {\n        \"type\": \"string\"\n      },\n      \"default\": [],\n      \"prefill\": []\n    },\n    \"condition\": {\n      \"title\": \"Condition\",\n      \"type\": \"string\",\n      \"description\": \"Filter listings by item condition.\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"any\",\n        \"new\",\n        \"used\",\n        \"refurbished\",\n        \"open_box\",\n        \"all\"\n      ],\n      \"enumTitles\": [\n        \"Any\",\n        \"New\",\n        \"Used\",\n        \"Refurbished\",\n        \"Open box\",\n        \"Any (legacy task)\"\n      ],\n      \"default\": \"any\"\n    },\n    \"sort\": {\n      \"title\": \"Sort order\",\n      \"type\": \"string\",\n      \"description\": \"Order of search results.\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"relevance\",\n        \"price_asc\",\n        \"price_desc\"\n      ],\n      \"enumTitles\": [\n        \"Relevance\",\n        \"Price: low to high\",\n        \"Price: high to low\"\n      ],\n      \"default\": \"relevance\"\n    },\n    \"priceMin\": {\n      \"title\": \"Min Price\",\n      \"type\": \"integer\",\n      \"description\": \"Minimum price in Mexican pesos.\",\n      \"minimum\": 0,\n      \"editor\": \"number\"\n    },\n    \"priceMax\": {\n      \"title\": \"Max Price\",\n      \"type\": \"integer\",\n      \"description\": \"Maximum price in Mexican pesos.\",\n      \"minimum\": 0,\n      \"editor\": \"number\"\n    },\n    \"freeShippingOnly\": {\n      \"title\": \"Free shipping only\",\n      \"type\": \"boolean\",\n      \"description\": \"Return only listings that advertise free shipping.\",\n      \"default\": false\n    },\n    \"includeDetails\": {\n      \"title\": \"Include product details\",\n      \"type\": \"boolean\",\n      \"description\": \"Open each search result's product page to add description, stock, sold count and seller fields. Slower and uses more requests.\",\n      \"default\": false,\n      \"prefill\": false\n    },\n    \"maxItems\": {\n      \"title\": \"Max Items\",\n      \"type\": \"integer\",\n      \"description\": \"Maximum records to return. Search results paginate automatically.\",\n      \"minimum\": 1,\n      \"maximum\": 1000,\n      \"default\": 50,\n      \"prefill\": 5,\n      \"editor\": \"number\"\n    }\n  },\n  \"required\": []\n}",
    "readme": "# MercadoLibre Mexico Marketplace Price Scraper\n\nMercadoLibre Mexico (`mercadolibre.com.mx`) is the country's largest online marketplace. This actor reads its public listing pages and product pages without cookies, login or an API key, so you can track prices, discounts, sellers and stock for any product line.\n\n## What this actor does\n\n- **Search listings** by keyword, by pasted MercadoLibre Mexico listing URL, or by category — with pagination until `maxItems` is reached.\n- **Product details** by URL or item ID: title, price, original price, discount, condition, stock, sold count, seller, rating, specs, images and variations.\n- Filters for condition, price range, sort order and free shipping.\n- Optional `includeDetails` enrichment: open each search result's product page to add fields the listing card does not show.\n- Omits fields the source does not provide — no nulls, empty strings or placeholder rows.\n\n## Modes\n\n| Mode | What it returns | Required input |\n|---|---|---|\n| `search` | One row per listing card (optionally enriched with product-page fields) | `searchQuery` or `startUrls` |\n| `product` | One row per product page, with full detail fields | `productUrls` |\n\n## Output per product\n\nCore fields (kept from earlier versions):\n\n- `id` — item ID (e.g. `MLM1018500855`)\n- `title`, `url`\n- `countryCode` — always `MX`\n- `price` — current price in MXN\n- `originalPrice` — pre-discount price, when shown\n- `currency`, `currencySymbol`\n- `discountPercentage` — percent off, when discounted\n- `condition` — `new`, `used`, `refurbished` or `open_box`\n- `thumbnail` — product image URL\n- `sellerName`, `brand`\n- `shippingLabel` — shipping badge text (e.g. `Envío gratis`)\n- `rating` — average star rating\n- `reviewsCount` — number of ratings\n- `scrapedAt` — UTC scrape timestamp\n\nAdditional detail fields appear when the page provides them: `itemId`, `catalogProductId`, `userProductId`, `itemUrl`, `imageUrl`, `imageCount`, `availableQuantity`, `hasStock`, `soldQuantity`, `soldText`, `sellerId`, `isOfficialStore`, `freeShipping`, `fullShipping`, `shippingText`, `logisticType`, `installments`, `specs`, `variations`, `categoryId`, `categoryPath`, `ratingDistribution`, `promotions`, `position`, `searchQuery`, `totalResults`, `sponsored` and `recordType`.\n\n## Input\n\n| Field | Type | Default | Description |\n|---|---|---|---|\n| `mode` | string | `search` | `search` or `product` |\n| `country` | string | `MX` | Only Mexico is supported |\n| `searchQuery` | string | – | Keyword for search mode |\n| `startUrls` | array | – | MercadoLibre Mexico listing URLs; replaces the keyword, filters still apply |\n| `productUrls` | array | – | Product URLs or item IDs for product mode |\n| `condition` | string | `any` | `any`, `new`, `used`, `refurbished`, `open_box` |\n| `sort` | string | `relevance` | `relevance`, `price_asc`, `price_desc` |\n| `priceMin` | integer | – | Minimum price in MXN |\n| `priceMax` | integer | – | Maximum price in MXN |\n| `freeShippingOnly` | boolean | `false` | Only listings with free shipping |\n| `includeDetails` | boolean | `false` | Enrich each search card from its product page |\n| `maxItems` | integer | `50` | Maximum records (1–1000) |\n\n### Example: new iPhones under a price cap\n\n```json\n{\n  \"mode\": \"search\",\n  \"country\": \"MX\",\n  \"searchQuery\": \"iphone\",\n  \"condition\": \"new\",\n  \"priceMax\": 20000,\n  \"maxItems\": 30\n}\n```\n\n### Example: used items in a price band, free shipping only\n\n```json\n{\n  \"mode\": \"search\",\n  \"country\": \"MX\",\n  \"searchQuery\": \"laptop gamer\",\n  \"condition\": \"used\",\n  \"priceMin\": 5000,\n  \"priceMax\": 15000,\n  \"freeShippingOnly\": true,\n  \"maxItems\": 40\n}\n```\n\n### Example: product details\n\n```json\n{\n  \"mode\": \"product\",\n  \"productUrls\": [\"https://articulo.mercadolibre.com.mx/MLM-1234567890-producto\", \"MLM1018500855\"]\n}\n```\n\n### Example: a category listing URL\n\n```json\n{\n  \"mode\": \"search\",\n  \"startUrls\": [\"https://listado.mercadolibre.com.mx/camaras-fotograficas\"],\n  \"maxItems\": 20\n}\n```\n\n## Use cases\n\n- **Price monitoring** — run daily to track how a product's listed price moves.\n- **Competitive research** — compare sellers, shipping offers and ratings for the same keyword.\n- **Secondary-market analysis** — filter `condition=used` to study the refurbished/used segment.\n- **Discount tracking** — watch `discountPercentage` to catch newly discounted items.\n- **Catalog enrichment** — pull product details, specs, images and stock into a database.\n\n## FAQ\n\n**Is this affiliated with MercadoLibre?**\nNo. This is an independent actor that reads publicly available MercadoLibre Mexico pages.\n\n**Do I need cookies, a login or an API key?**\nNo. The actor uses MercadoLibre's public webview route and needs no credentials.\n\n**Why is only Mexico supported?**\nOther MercadoLibre country sites are aggressively anti-bot gated and were removed rather than ship options that fail. The Mexico marketplace is verified end to end.\n\n**How does pagination work?**\nThe actor requests 50 listings per page and keeps paging until `maxItems` is reached, the source reports no more results, or MercadoLibre's 2,000-row per-query window is exhausted. Use narrower filters or several queries for larger result sets.\n\n**Why do some products have no `rating`, `reviewsCount` or `condition`?**\nListing cards often omit fields that product pages show. Set `includeDetails=true` to open each product page and fill them in.\n\n**What happens if MercadoLibre blocks a request?**\nThe actor retries with fresh sessions and alternating app user agents. If a page still cannot be read, it skips that page and reports the situation in the run status instead of fabricating rows.\n\n**How fresh is the data?**\nEach run reads live MercadoLibre Mexico pages, so prices and availability reflect what is listed at run time.\n\n**Do old saved tasks keep working?**\nYes. Legacy mode names (`searchProducts`, `searchByCategory`, `getProductDetails`), old keys\n(`query`, `urls`, `startUrl`, `itemId`, `productId`, `countryCode`, `maxResults`) and\n`condition=all` are mapped in code. Old API search URLs are translated to the public listing route.\n",
    "actorDefinition": {
      "actorSpecification": 1,
      "name": "mercadolibre-mexico-marketplace-price-scraper",
      "title": "MercadoLibre Mexico Marketplace Price Scraper",
      "description": "Search MercadoLibre Mexico listings by keyword or URL, or fetch product details by URL or item ID. Returns price, discount, condition, seller, brand, shipping and rating, with condition, price and free-shipping filters.",
      "version": "1.1",
      "buildTag": "latest",
      "input": {
        "title": "MercadoLibre Mexico Marketplace Scraper Input",
        "description": "Search MercadoLibre Mexico listings by keyword or URL, or fetch full product details by URL or item ID. Filter by condition, price and shipping, and paginate through results.",
        "type": "object",
        "schemaVersion": 1,
        "properties": {
          "mode": {
            "title": "What to scrape",
            "type": "string",
            "description": "Search listings, or fetch details for specific products.",
            "editor": "select",
            "enum": [
              "search",
              "product",
              "searchProducts",
              "searchByCategory",
              "getProductDetails"
            ],
            "enumTitles": [
              "Search listings",
              "Product details",
              "Search listings (legacy task)",
              "Search by category (legacy task)",
              "Product details (legacy task)"
            ],
            "default": "search",
            "prefill": "search"
          },
          "country": {
            "title": "Country",
            "type": "string",
            "description": "MercadoLibre country site. Only Mexico (MX) is supported.",
            "editor": "select",
            "enum": [
              "MX"
            ],
            "enumTitles": [
              "Mexico"
            ],
            "default": "MX",
            "prefill": "MX"
          },
          "searchQuery": {
            "title": "Search Query",
            "type": "string",
            "description": "Keyword to search for. Use this or Start URLs with the search mode.",
            "editor": "textfield",
            "prefill": "iphone"
          },
          "startUrls": {
            "title": "Start URLs",
            "type": "array",
            "description": "MercadoLibre Mexico search or category listing URLs. When set, they replace the keyword; the filter and sort fields still apply.",
            "editor": "stringList",
            "items": {
              "type": "string"
            },
            "default": [],
            "prefill": []
          },
          "productUrls": {
            "title": "Product URLs or IDs",
            "type": "array",
            "description": "MercadoLibre Mexico product URLs or item IDs (for example MLM1234567890). Required for the product-details mode.",
            "editor": "stringList",
            "items": {
              "type": "string"
            },
            "default": [],
            "prefill": []
          },
          "condition": {
            "title": "Condition",
            "type": "string",
            "description": "Filter listings by item condition.",
            "editor": "select",
            "enum": [
              "any",
              "new",
              "used",
              "refurbished",
              "open_box",
              "all"
            ],
            "enumTitles": [
              "Any",
              "New",
              "Used",
              "Refurbished",
              "Open box",
              "Any (legacy task)"
            ],
            "default": "any"
          },
          "sort": {
            "title": "Sort order",
            "type": "string",
            "description": "Order of search results.",
            "editor": "select",
            "enum": [
              "relevance",
              "price_asc",
              "price_desc"
            ],
            "enumTitles": [
              "Relevance",
              "Price: low to high",
              "Price: high to low"
            ],
            "default": "relevance"
          },
          "priceMin": {
            "title": "Min Price",
            "type": "integer",
            "description": "Minimum price in Mexican pesos.",
            "minimum": 0,
            "editor": "number"
          },
          "priceMax": {
            "title": "Max Price",
            "type": "integer",
            "description": "Maximum price in Mexican pesos.",
            "minimum": 0,
            "editor": "number"
          },
          "freeShippingOnly": {
            "title": "Free shipping only",
            "type": "boolean",
            "description": "Return only listings that advertise free shipping.",
            "default": false
          },
          "includeDetails": {
            "title": "Include product details",
            "type": "boolean",
            "description": "Open each search result's product page to add description, stock, sold count and seller fields. Slower and uses more requests.",
            "default": false,
            "prefill": false
          },
          "maxItems": {
            "title": "Max Items",
            "type": "integer",
            "description": "Maximum records to return. Search results paginate automatically.",
            "minimum": 1,
            "maximum": 1000,
            "default": 50,
            "prefill": 5,
            "editor": "number"
          }
        },
        "required": []
      },
      "output": {
        "actorOutputSchemaVersion": 1,
        "title": "MercadoLibre Mexico Marketplace Scraper Output",
        "description": "MercadoLibre Mexico products with price, discount, condition, seller, rating, shipping and product-detail fields.",
        "properties": {
          "products": {
            "type": "string",
            "title": "MercadoLibre products",
            "description": "Dataset containing scraped MercadoLibre Mexico product records.",
            "template": "{{links.apiDefaultDatasetUrl}}/items"
          }
        }
      },
      "dockerfile": "../Dockerfile",
      "readme": "# MercadoLibre Mexico Marketplace Price Scraper\n\nMercadoLibre Mexico (`mercadolibre.com.mx`) is the country's largest online marketplace. This actor reads its public listing pages and product pages without cookies, login or an API key, so you can track prices, discounts, sellers and stock for any product line.\n\n## What this actor does\n\n- **Search listings** by keyword, by pasted MercadoLibre Mexico listing URL, or by category — with pagination until `maxItems` is reached.\n- **Product details** by URL or item ID: title, price, original price, discount, condition, stock, sold count, seller, rating, specs, images and variations.\n- Filters for condition, price range, sort order and free shipping.\n- Optional `includeDetails` enrichment: open each search result's product page to add fields the listing card does not show.\n- Omits fields the source does not provide — no nulls, empty strings or placeholder rows.\n\n## Modes\n\n| Mode | What it returns | Required input |\n|---|---|---|\n| `search` | One row per listing card (optionally enriched with product-page fields) | `searchQuery` or `startUrls` |\n| `product` | One row per product page, with full detail fields | `productUrls` |\n\n## Output per product\n\nCore fields (kept from earlier versions):\n\n- `id` — item ID (e.g. `MLM1018500855`)\n- `title`, `url`\n- `countryCode` — always `MX`\n- `price` — current price in MXN\n- `originalPrice` — pre-discount price, when shown\n- `currency`, `currencySymbol`\n- `discountPercentage` — percent off, when discounted\n- `condition` — `new`, `used`, `refurbished` or `open_box`\n- `thumbnail` — product image URL\n- `sellerName`, `brand`\n- `shippingLabel` — shipping badge text (e.g. `Envío gratis`)\n- `rating` — average star rating\n- `reviewsCount` — number of ratings\n- `scrapedAt` — UTC scrape timestamp\n\nAdditional detail fields appear when the page provides them: `itemId`, `catalogProductId`, `userProductId`, `itemUrl`, `imageUrl`, `imageCount`, `availableQuantity`, `hasStock`, `soldQuantity`, `soldText`, `sellerId`, `isOfficialStore`, `freeShipping`, `fullShipping`, `shippingText`, `logisticType`, `installments`, `specs`, `variations`, `categoryId`, `categoryPath`, `ratingDistribution`, `promotions`, `position`, `searchQuery`, `totalResults`, `sponsored` and `recordType`.\n\n## Input\n\n| Field | Type | Default | Description |\n|---|---|---|---|\n| `mode` | string | `search` | `search` or `product` |\n| `country` | string | `MX` | Only Mexico is supported |\n| `searchQuery` | string | – | Keyword for search mode |\n| `startUrls` | array | – | MercadoLibre Mexico listing URLs; replaces the keyword, filters still apply |\n| `productUrls` | array | – | Product URLs or item IDs for product mode |\n| `condition` | string | `any` | `any`, `new`, `used`, `refurbished`, `open_box` |\n| `sort` | string | `relevance` | `relevance`, `price_asc`, `price_desc` |\n| `priceMin` | integer | – | Minimum price in MXN |\n| `priceMax` | integer | – | Maximum price in MXN |\n| `freeShippingOnly` | boolean | `false` | Only listings with free shipping |\n| `includeDetails` | boolean | `false` | Enrich each search card from its product page |\n| `maxItems` | integer | `50` | Maximum records (1–1000) |\n\n### Example: new iPhones under a price cap\n\n```json\n{\n  \"mode\": \"search\",\n  \"country\": \"MX\",\n  \"searchQuery\": \"iphone\",\n  \"condition\": \"new\",\n  \"priceMax\": 20000,\n  \"maxItems\": 30\n}\n```\n\n### Example: used items in a price band, free shipping only\n\n```json\n{\n  \"mode\": \"search\",\n  \"country\": \"MX\",\n  \"searchQuery\": \"laptop gamer\",\n  \"condition\": \"used\",\n  \"priceMin\": 5000,\n  \"priceMax\": 15000,\n  \"freeShippingOnly\": true,\n  \"maxItems\": 40\n}\n```\n\n### Example: product details\n\n```json\n{\n  \"mode\": \"product\",\n  \"productUrls\": [\"https://articulo.mercadolibre.com.mx/MLM-1234567890-producto\", \"MLM1018500855\"]\n}\n```\n\n### Example: a category listing URL\n\n```json\n{\n  \"mode\": \"search\",\n  \"startUrls\": [\"https://listado.mercadolibre.com.mx/camaras-fotograficas\"],\n  \"maxItems\": 20\n}\n```\n\n## Use cases\n\n- **Price monitoring** — run daily to track how a product's listed price moves.\n- **Competitive research** — compare sellers, shipping offers and ratings for the same keyword.\n- **Secondary-market analysis** — filter `condition=used` to study the refurbished/used segment.\n- **Discount tracking** — watch `discountPercentage` to catch newly discounted items.\n- **Catalog enrichment** — pull product details, specs, images and stock into a database.\n\n## FAQ\n\n**Is this affiliated with MercadoLibre?**\nNo. This is an independent actor that reads publicly available MercadoLibre Mexico pages.\n\n**Do I need cookies, a login or an API key?**\nNo. The actor uses MercadoLibre's public webview route and needs no credentials.\n\n**Why is only Mexico supported?**\nOther MercadoLibre country sites are aggressively anti-bot gated and were removed rather than ship options that fail. The Mexico marketplace is verified end to end.\n\n**How does pagination work?**\nThe actor requests 50 listings per page and keeps paging until `maxItems` is reached, the source reports no more results, or MercadoLibre's 2,000-row per-query window is exhausted. Use narrower filters or several queries for larger result sets.\n\n**Why do some products have no `rating`, `reviewsCount` or `condition`?**\nListing cards often omit fields that product pages show. Set `includeDetails=true` to open each product page and fill them in.\n\n**What happens if MercadoLibre blocks a request?**\nThe actor retries with fresh sessions and alternating app user agents. If a page still cannot be read, it skips that page and reports the situation in the run status instead of fabricating rows.\n\n**How fresh is the data?**\nEach run reads live MercadoLibre Mexico pages, so prices and availability reflect what is listed at run time.\n\n**Do old saved tasks keep working?**\nYes. Legacy mode names (`searchProducts`, `searchByCategory`, `getProductDetails`), old keys\n(`query`, `urls`, `startUrl`, `itemId`, `productId`, `countryCode`, `maxResults`) and\n`condition=all` are mapped in code. Old API search URLs are translated to the public listing route.\n",
      "storages": {
        "dataset": {
          "actorSpecification": 1,
          "views": {
            "overview": {
              "title": "MercadoLibre Mexico products",
              "transformation": {
                "fields": [
                  "id",
                  "title",
                  "price",
                  "currency",
                  "condition",
                  "sellerName",
                  "shippingLabel",
                  "rating",
                  "reviewsCount",
                  "url"
                ]
              },
              "display": {
                "component": "table",
                "properties": {}
              }
            }
          }
        }
      }
    },
    "buildNumber": "1.1.1",
    "imageDigest": "acedeebb069e3dbd9178a10ea591fec33e8382983400479c1b4eab91bffb05d0",
    "actVersion": {
      "sourceType": "SOURCE_FILES",
      "buildTag": "latest",
      "versionNumber": "1.1"
    },
    "usage": {
      "ACTOR_COMPUTE_UNITS": 0.01217
    }
  }
}