# Mercado Libre Questions Scraper (`piotrv1001/mercado-libre-questions-scraper`) Actor

The Mercado Libre Questions Scraper collects buyer questions and seller answers from Mercado Libre listings in Mexico, Argentina and Brazil, capturing question text, answers, answer dates and translation flags \u2014 ideal for product research and competitor monitoring.

- **URL**: https://apify.com/piotrv1001/mercado-libre-questions-scraper.md
- **Developed by:** [FalconScrape](https://apify.com/piotrv1001) (community)
- **Categories:** E-commerce
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.00 / 1,000 questions

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

### 🚀 Mercado Libre Questions Scraper

Collect the buyer questions and seller answers from Mercado Libre listings. The **Mercado Libre Questions Scraper** takes listing URLs or item IDs from Mexico, Argentina and Brazil and returns every public question with its answer and answer date. Use it for product research, finding the doubts that stop buyers from purchasing, monitoring how competitors answer, and building FAQ or support datasets.

### ✨ Features

- ❓ **Questions and answers**: the buyer's question, the seller's answer, the answer date (as YYYY-MM-DD) and whether the answer was machine-translated by the site.
- 📚 **Deep history**: questions are collected newest first, as far back as you ask for. Busy listings have hundreds.
- 🌎 **Mexico, Argentina and Brazil**: Mercado Libre and Mercado Livre listings, matched to the right marketplace automatically.
- 🔗 **Flexible input**: listing links (`articulo.` / `produto.`), catalog links that include the seller's listing, or plain item IDs such as `MLM2574560561`.
- 🧾 **Fair billing**: you pay per question saved. Listings without questions and unusable inputs get a free explanatory row.

### 🛠️ How It Works

1. **Add listings**: paste listing URLs or item IDs, one per line.
2. **Choose how many questions per listing**: 50 by default.
3. **Run the scraper**: results come out one question per row and can be exported to JSON, CSV or Excel, or pulled through the API.

**Which URL to use?** Questions belong to a seller's listing, not to a catalog page. A catalog link like `.../p/MLM40287790` shows whichever seller currently wins the page, so it doesn't identify one listing. Open the listing and copy its URL (`articulo.mercadolibre.com.mx/MLM-...`), or use a catalog link that carries the listing, such as one ending in `#wid=MLM...` or `?pdp_filters=item_id:MLM...`. Catalog links without a listing get a free row explaining this.

### 💵 Pricing

Pay per event, with no start fee:

| Event    | Price  | When it's charged                                               |
| -------- | ------ | --------------------------------------------------------------- |
| Question | $0.001 | Per question saved, with the seller's answer when there is one. |

Listings without questions and invalid inputs are free. Example: 100 listings × 50 questions = 5,000 questions for $5.00.

### 📊 Sample Output Data

Each question is one row. Example:

```json
{
    "itemId": "MLM2574560561",
    "marketplace": "MLM",
    "itemUrl": "https://articulo.mercadolibre.com.mx/MLM-2574560561",
    "position": 1,
    "questionId": "13662120448",
    "question": "Acepta la compañía bait?",
    "answer": "Hola, gracias por tu interés en CUBOT. Este teléfono es compatible con redes móviles 4G/LTE, por lo que es compatible con la mayoría de las redes de telefonía móvil en México, incluidas las de bait. ¡Gracias por tu interés en nuestro producto!",
    "answered": true,
    "answerDate": "2026-09-20",
    "answerTranslated": false,
    "inputUrl": "MLM2574560561",
    "scrapedAt": "2026-09-21T10:12:23.412Z"
}
```

Listings that could not be collected produce a row with `status` (`no_questions`, `invalid_input` or `failed`) and an `error` message instead of question fields.

### ❓ FAQ

**Do I need a Mercado Libre account?** No. Only public questions are collected.

**Are the asker's name and question date included?** No. Mercado Libre shows neither publicly, only the answer date.

**Are unanswered questions included?** Only the questions Mercado Libre shows publicly are collected. In practice those are nearly always answered.

**Looking for more?** The Mercado Libre Listings Scraper, Mercado Libre Product Details Scraper and Mercado Libre Reviews Scraper cover search results, full product pages and buyer reviews.

Start collecting buyer questions with the **Mercado Libre Questions Scraper** today! 🚀

# Actor input Schema

## `items` (type: `array`):

Mercado Libre listing URLs (articulo./produto. links, or catalog links that include the seller's item, e.g. ...?pdp\_filters=item\_id:MLA123 or #wid=MLM123) or plain item IDs like MLM1234567890. Mexico, Argentina and Brazil are supported.

## `maxQuestionsPerItem` (type: `integer`):

How many questions to collect for each listing, newest first.

## `proxyConfiguration` (type: `object`):

Residential proxies are required; each listing is requested from its own country automatically.

## Actor input object example

```json
{
  "items": [
    "https://articulo.mercadolibre.com.mx/MLM-2574560561"
  ],
  "maxQuestionsPerItem": 50,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# Actor output Schema

## `questions` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "items": [
        "https://articulo.mercadolibre.com.mx/MLM-2574560561"
    ],
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("piotrv1001/mercado-libre-questions-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "items": ["https://articulo.mercadolibre.com.mx/MLM-2574560561"],
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("piotrv1001/mercado-libre-questions-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "items": [
    "https://articulo.mercadolibre.com.mx/MLM-2574560561"
  ],
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}' |
apify call piotrv1001/mercado-libre-questions-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,piotrv1001/mercado-libre-questions-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/vJJXkaIDkDvXrCOyj/builds/UYZqQMKnrCDrodozQ/openapi.json
