# MercadoLibre Video Reel Maker (`synthetic.ia/mercadolibre-video-reel`) Actor

Turn MercadoLibre products into a ready-to-post vertical offers reel (MP4). Search a category and get a finished video: product photos, prices, discounts and seller, smooth transitions, branded intro/outro, your logo and optional music. Priced per video.

- **URL**: https://apify.com/synthetic.ia/mercadolibre-video-reel.md
- **Developed by:** [Synthetic](https://apify.com/synthetic.ia) (community)
- **Categories:** Social media, E-commerce
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $400.00 / 1,000 video rendereds

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## MercadoLibre Video Reel Maker — products into a vertical offers video

Turn MercadoLibre products into a ready-to-post **vertical offers reel** (MP4) in one run. Type what to search — the Actor scrapes MercadoLibre and builds the video for you: each product on a clean slide with its photo, price, discount and seller, smooth crossfades, a branded intro and outro, your logo and (optionally) your own background music. No editing, no design.

- 📲 **Vertical 9:16** (Reels / TikTok / Shorts), plus square 1:1 and landscape 16:9
- 🔎 **One click**: search MercadoLibre → finished video
- 🏷️ Auto captions: title, price, "Antes / % OFF", and **por \[seller]**
- 🎬 Crossfade transitions + branded intro/outro
- 🖼️ Your logo in the corner (you provide the image)
- 🎵 Optional background music you supply (upload or URL)
- ⚡ Rendered with ffmpeg — fast and inexpensive, priced **per video**

### What can it do?

- **Sellers / shops**: auto-generate daily "offers of the day" videos from your own listings.
- **Affiliates & content**: turn any category or search into a shareable product reel.
- **Agencies**: batch-produce social videos for e-commerce clients.

### How to use it

1. In **Search MercadoLibre**, type what you want (e.g. `zapatillas nike`) and pick the **Country**.
2. Set **Max products** and **Seconds per product**.
3. *(Optional)* add your **logo**, an **outro** line, and **music** (see below).
4. Click **Start**. The finished MP4 is saved to the key-value store as `reel.mp4` (a download link is in the run's **Output** and dataset).

Prefer to bring your own data? Instead of searching, pass a **Dataset ID** from the [MercadoLibre Scraper](https://apify.com/synthetic.ia/mercadolibre-scraper) or inline **items**.

### Input

| Field | Description |
|---|---|
| `searchQuery` + `country` | What to search on MercadoLibre and where |
| `maxProducts` | Products (slides) in the reel |
| `secondsPerProduct` | Seconds each product is shown |
| `format` | `vertical`, `square` or `landscape` |
| `headline` | Text at the top of every slide (e.g. OFERTAS) |
| `logoUrl` | Optional PNG logo shown in the corner |
| `musicFile` / `musicUrl` | Optional background music you provide |
| `musicRightsConfirmed` | Music is only added if you confirm you have the rights |
| `outroText` | Optional closing card text |
| `items` / `datasetId` | Advanced: bring your own products instead of searching |

### Music & rights

**We do not provide any music.** You may upload a track or pass a URL, and it is only added to the video if you check **"I have the rights to use this music"**. You are solely responsible for the tracks you supply. Leave music empty and the reel is generated without it.

Likewise, any **logo** you add (including a marketplace logo) is supplied by you and used under your responsibility.

### Output

`reel.mp4` in the run's key-value store, plus a dataset item with metadata (product count, duration, size, render time).

### Pricing

**Per rendered video**, from **$0.25** on higher plans. Platform usage is included. If you use the built-in Search, the MercadoLibre Scraper run it triggers is billed separately at its own per-result price.

### FAQ

**Where does the data come from?** Public MercadoLibre product listings (prices, images, sellers). The Actor never logs in.

**Can I schedule daily "offer" videos?** Yes — schedule it with your search or dataset and get a fresh reel every day.

**The video has no music.** Music is optional and only added when you supply a track and confirm the rights.

**Need another format, layout or marketplace?** Open an issue describing what you need.

# Actor input Schema

## `searchQuery` (type: `string`):

Type what to search (e.g. "zapatillas nike"). The Actor scrapes MercadoLibre and builds the reel automatically. Takes priority; leave empty to use the sample products (or your own items / dataset).

## `country` (type: `string`):

MercadoLibre marketplace to search when using Search.

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

Advanced: product objects { title, price, currency, imageUrl, discountPercent?, originalPrice?, seller? }. Used only when Search is empty. The prefilled samples let you preview the reel instantly.

## `datasetId` (type: `string`):

Advanced: Apify dataset ID from the MercadoLibre Scraper. Overrides Search.

## `maxProducts` (type: `integer`):

How many products to include (each is one slide).

## `secondsPerProduct` (type: `number`):

How long each product is shown on screen.

## `format` (type: `string`):

Aspect ratio of the output video.

## `headline` (type: `string`):

Text shown at the top of every slide.

## `logoUrl` (type: `string`):

Direct URL to a PNG logo (transparent recommended) shown in the top corner of every slide. You are responsible for having the rights to use it.

## `musicFile` (type: `string`):

Upload an MP3/M4A you own or are licensed to use. Looped, trimmed and faded automatically.

## `musicUrl` (type: `string`):

Direct URL to an MP3/M4A instead of uploading. Leave empty for no music — the reel still works.

## `musicRightsConfirmed` (type: `boolean`):

We do not provide music. Music is only added if you check this. You are solely responsible for the track you supply; no proof is required.

## `outroText` (type: `string`):

If set, adds a closing card with this text (and your logo). Leave empty for no outro.

## Actor input object example

```json
{
  "country": "AR",
  "items": [
    {
      "title": "Zapatilla Chunky Casual Oversize Liviana Negra",
      "price": 49620,
      "originalPrice": 69887.57,
      "discountPercent": 29,
      "currency": "ARS",
      "imageUrl": "https://http2.mlstatic.com/D_NQ_NP_892767-MLA113860789969_062026-O.webp",
      "seller": null
    },
    {
      "title": "Zapatillas Nike Revolution 8 Para Hombre Hj9198-003",
      "price": 129999,
      "originalPrice": null,
      "discountPercent": null,
      "currency": "ARS",
      "imageUrl": "https://http2.mlstatic.com/D_NQ_NP_714229-MLA86884461122_072025-O.webp",
      "seller": null
    },
    {
      "title": "Zapatillas Running Mujer Livianas Transpirables Deportivas",
      "price": 20962,
      "originalPrice": 26098.04,
      "discountPercent": 19,
      "currency": "ARS",
      "imageUrl": "https://http2.mlstatic.com/D_NQ_NP_761910-CBT113527682188_072026-O.webp",
      "seller": null
    },
    {
      "title": "Zapatillas Originales Casual Dobleb Chunky Urbanas Anchas",
      "price": 81265,
      "originalPrice": 117999,
      "discountPercent": 31,
      "currency": "ARS",
      "imageUrl": "https://http2.mlstatic.com/D_NQ_NP_705902-MLA92805827206_092025-O.webp",
      "seller": "por AUCA ZAPATILLAS"
    }
  ],
  "maxProducts": 8,
  "secondsPerProduct": 2.5,
  "format": "vertical",
  "headline": "OFERTAS",
  "musicRightsConfirmed": false,
  "outroText": "Mirá todas las ofertas"
}
```

# Actor output Schema

## `video` (type: `string`):

The rendered vertical offers reel.

## `meta` (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": [
        {
            "title": "Zapatilla Chunky Casual Oversize Liviana Negra",
            "price": 49620,
            "originalPrice": 69887.57,
            "discountPercent": 29,
            "currency": "ARS",
            "imageUrl": "https://http2.mlstatic.com/D_NQ_NP_892767-MLA113860789969_062026-O.webp",
            "seller": null
        },
        {
            "title": "Zapatillas Nike Revolution 8 Para Hombre Hj9198-003",
            "price": 129999,
            "originalPrice": null,
            "discountPercent": null,
            "currency": "ARS",
            "imageUrl": "https://http2.mlstatic.com/D_NQ_NP_714229-MLA86884461122_072025-O.webp",
            "seller": null
        },
        {
            "title": "Zapatillas Running Mujer Livianas Transpirables Deportivas",
            "price": 20962,
            "originalPrice": 26098.04,
            "discountPercent": 19,
            "currency": "ARS",
            "imageUrl": "https://http2.mlstatic.com/D_NQ_NP_761910-CBT113527682188_072026-O.webp",
            "seller": null
        },
        {
            "title": "Zapatillas Originales Casual Dobleb Chunky Urbanas Anchas",
            "price": 81265,
            "originalPrice": 117999,
            "discountPercent": 31,
            "currency": "ARS",
            "imageUrl": "https://http2.mlstatic.com/D_NQ_NP_705902-MLA92805827206_092025-O.webp",
            "seller": "por AUCA ZAPATILLAS"
        }
    ],
    "maxProducts": 8,
    "secondsPerProduct": 2.5,
    "headline": "OFERTAS",
    "outroText": "Mirá todas las ofertas"
};

// Run the Actor and wait for it to finish
const run = await client.actor("synthetic.ia/mercadolibre-video-reel").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": [
        {
            "title": "Zapatilla Chunky Casual Oversize Liviana Negra",
            "price": 49620,
            "originalPrice": 69887.57,
            "discountPercent": 29,
            "currency": "ARS",
            "imageUrl": "https://http2.mlstatic.com/D_NQ_NP_892767-MLA113860789969_062026-O.webp",
            "seller": None,
        },
        {
            "title": "Zapatillas Nike Revolution 8 Para Hombre Hj9198-003",
            "price": 129999,
            "originalPrice": None,
            "discountPercent": None,
            "currency": "ARS",
            "imageUrl": "https://http2.mlstatic.com/D_NQ_NP_714229-MLA86884461122_072025-O.webp",
            "seller": None,
        },
        {
            "title": "Zapatillas Running Mujer Livianas Transpirables Deportivas",
            "price": 20962,
            "originalPrice": 26098.04,
            "discountPercent": 19,
            "currency": "ARS",
            "imageUrl": "https://http2.mlstatic.com/D_NQ_NP_761910-CBT113527682188_072026-O.webp",
            "seller": None,
        },
        {
            "title": "Zapatillas Originales Casual Dobleb Chunky Urbanas Anchas",
            "price": 81265,
            "originalPrice": 117999,
            "discountPercent": 31,
            "currency": "ARS",
            "imageUrl": "https://http2.mlstatic.com/D_NQ_NP_705902-MLA92805827206_092025-O.webp",
            "seller": "por AUCA ZAPATILLAS",
        },
    ],
    "maxProducts": 8,
    "secondsPerProduct": 2.5,
    "headline": "OFERTAS",
    "outroText": "Mirá todas las ofertas",
}

# Run the Actor and wait for it to finish
run = client.actor("synthetic.ia/mercadolibre-video-reel").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": [
    {
      "title": "Zapatilla Chunky Casual Oversize Liviana Negra",
      "price": 49620,
      "originalPrice": 69887.57,
      "discountPercent": 29,
      "currency": "ARS",
      "imageUrl": "https://http2.mlstatic.com/D_NQ_NP_892767-MLA113860789969_062026-O.webp",
      "seller": null
    },
    {
      "title": "Zapatillas Nike Revolution 8 Para Hombre Hj9198-003",
      "price": 129999,
      "originalPrice": null,
      "discountPercent": null,
      "currency": "ARS",
      "imageUrl": "https://http2.mlstatic.com/D_NQ_NP_714229-MLA86884461122_072025-O.webp",
      "seller": null
    },
    {
      "title": "Zapatillas Running Mujer Livianas Transpirables Deportivas",
      "price": 20962,
      "originalPrice": 26098.04,
      "discountPercent": 19,
      "currency": "ARS",
      "imageUrl": "https://http2.mlstatic.com/D_NQ_NP_761910-CBT113527682188_072026-O.webp",
      "seller": null
    },
    {
      "title": "Zapatillas Originales Casual Dobleb Chunky Urbanas Anchas",
      "price": 81265,
      "originalPrice": 117999,
      "discountPercent": 31,
      "currency": "ARS",
      "imageUrl": "https://http2.mlstatic.com/D_NQ_NP_705902-MLA92805827206_092025-O.webp",
      "seller": "por AUCA ZAPATILLAS"
    }
  ],
  "maxProducts": 8,
  "secondsPerProduct": 2.5,
  "headline": "OFERTAS",
  "outroText": "Mirá todas las ofertas"
}' |
apify call synthetic.ia/mercadolibre-video-reel --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,synthetic.ia/mercadolibre-video-reel"
        }
    }
}

```

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/z4LqhDta7VF75el91/builds/9fzisSrBCldm6tijp/openapi.json
