# Mercado Libre Market Intelligence — LATAM Niche Analyzer (`crawloop/mercado-libre-market-intelligence`) Actor

Mercado Libre niche analyzer for 18 LATAM sites. Demand from sold counters, estimated GMV, price percentiles, top sellers & brands, competition, 0-100 opportunity score. Keyword, category URL, report & CSV.

- **URL**: https://apify.com/crawloop/mercado-libre-market-intelligence.md
- **Developed by:** [Andrej Kiva](https://apify.com/crawloop) (community)
- **Categories:** E-commerce, Automation, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.50 / 1,000 listing analyzeds

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/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use 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

## Mercado Libre Market Intelligence — LATAM Niche & Demand Analyzer

> **Disclaimer:** Unofficial integration, not affiliated with Mercado Libre or MercadoLibre, Inc. Mercado Libre and related trademarks belong to their respective owners. Data is read from publicly accessible search results and product pages. No account login required.
>
> This Actor is provided **for informational, research, and market analysis purposes only**. You are solely responsible for complying with applicable laws, Mercado Libre's terms of use, and your organization's policies.

Analyze Mercado Libre niches across **18 Latin American country sites** and get **actionable market intelligence** — not just raw rows. Enter a keyword or category URL and receive **demand level from real sold counters, estimated lifetime revenue (GMV), price percentiles, top sellers and brands, competition concentration, and a 0–100 opportunity score** with a plain-language verdict.

Each query produces a ready-to-use **market report**: `market_summary` in the dataset, `REPORT.md`, `OUTPUT.json`, and `listings.csv` with every analyzed listing.

**Best for:** LATAM niche validation, product research, market entry analysis, competitor benchmarking, assortment planning, pricing strategy, and category opportunity screening.

> **Crawloop Mercado Libre LATAM Suite** — raw listing export and market intelligence across the same 18 country sites.

| [Mercado Libre Scraper](https://apify.com/crawloop/mercado-libre-listings-scraper) | **[Mercado Libre Market Intelligence](https://apify.com/crawloop/mercado-libre-market-intelligence)** ◄── *you are here* |
| :---: | :---: |
| Raw listings, fast search, optional PDP | Niche score, demand, GMV, market reports |

---

### When to use this Actor

- **Niche validation** — Check demand vs. competition before sourcing: sold counters, seller concentration, opportunity score in one run.
- **Category analysis** — Paste a Mercado Libre category URL (e.g. smartphones, air fryers) and analyze up to 500 top listings with one report.
- **Revenue estimation** — Directional GMV from public sold counters (price × units sold per listing).
- **Competitor benchmarking** — Top sellers by estimated revenue, official store share, FULL delivery and free shipping penetration.
- **Pricing strategy** — Price percentiles (p10–p90) with outlier cleaning, breakdown by condition, discount depth.
- **Brand share analysis** — Which brands dominate a niche by listings, units sold, and estimated revenue.
- **Batch niche screening** — Multiple keywords or categories in one run, ranked by opportunity score.

### When not to use this Actor

- **Bulk raw export only** — If you need thousands of listing rows without analytics, use [Mercado Libre Scraper — LATAM Prices, Listings & Specs](https://apify.com/crawloop/mercado-libre-listings-scraper) (faster search-only mode, lower cost).
- **Exact accounting-grade revenue** — Sold counters are lifetime values capped at "+1000"; figures are directional market-size estimates.
- **Real-time price alerts** — Analytical snapshots, not continuous monitors.

---

### Mercado Libre Scraper vs. Market Intelligence

| | **[Listings Scraper](https://apify.com/crawloop/mercado-libre-listings-scraper)** | **[Market Intelligence](https://apify.com/crawloop/mercado-libre-market-intelligence)** (this Actor) |
| :--- | :--- | :--- |
| **Primary output** | Raw listing rows (JSON/CSV) | Market report + analytics + listing rows |
| **Search & category** | Yes | Yes |
| **PDP enrichment** | Optional (`includeProductDetail`) | On by default (required for demand/GMV) |
| **Opportunity score** | No | Yes (0–100) |
| **Demand & GMV estimates** | No | Yes |
| **Top sellers / brands tables** | No | Yes |
| **Markdown report** | No | Yes (`REPORT.md`) |
| **Best for** | Catalogs, price feeds, bulk export | Niche research, go/no-go decisions |

---

### Key Features

- **0–100 opportunity score** — Demand, competition, official stores, shipping, and discount pressure combined into one verdict.
- **Demand from sold counters** — Aggregated lifetime sales per listing into demand levels and market-size estimates.
- **Revenue intelligence** — Estimated GMV per niche, seller, brand, and listing.
- **Competition analysis** — Unique sellers, top-5 revenue share, official store share, FULL and free shipping rates.
- **Price analytics** — Median, mean, std dev, p10/p25/p75/p90 with outlier trimming; breakdown by new/used/refurbished.
- **Top sellers, brands, products** — Ranked by estimated revenue with units sold.
- **Promotion radar** — Discount share, average/max discount, interest-free installment coverage.
- **18 LATAM sites** — MLA, MLB, MLM, MCO, MLC, MPE, and 12 more with country-targeted residential proxy.
- **Keyword or category input** — `searchQueries` or `categoryUrls` (one market report per target).
- **Three export formats** — Dataset summaries, key-value store JSON/Markdown/CSV.

---

### How it works

1. Crawls Mercado Libre search results or a category URL and collects the top N listings (default 50, up to 500).
2. Enriches each listing via product detail page in parallel (sold quantity, brand, specs, stock) — enabled by default.
3. Cleans price outliers and computes price, demand, revenue, competition, brand, and promotion analytics.
4. Scores the niche 0–100 and writes a quick-take verdict plus `REPORT.md`.
5. Pushes one `market_summary` per query/category to the dataset, individual listing rows, and `OUTPUT.json` / `listings.csv` to the key-value store.

---

### Supported country sites

| Site ID | Country | Currency |
| :--- | :--- | :--- |
| MLA | Argentina | ARS |
| MLB | Brazil | BRL |
| MLM | Mexico | MXN |
| MCO | Colombia | COP |
| MLC | Chile | CLP |
| MPE | Peru | PEN |
| MLU | Uruguay | UYU |
| MLV | Venezuela | VES |
| MEC | Ecuador | USD |
| MBO | Bolivia | BOB |
| MPA | Panama | USD |
| MPY | Paraguay | PYG |
| MRD | Dominican Republic | DOP |
| MCR | Costa Rica | CRC |
| MNI | Nicaragua | NIO |
| MGT | Guatemala | GTQ |
| MHN | Honduras | HNL |
| MSV | El Salvador | USD |

---

### Input Parameters

| Parameter | Type | Default | Description |
| :--- | :--- | :--- | :--- |
| `searchQueries` | Array | — | Keywords/niches to analyze (one report per query). |
| `categoryUrls` | Array | — | Mercado Libre category or filtered listing URLs (one report per URL). |
| `siteId` | String | `MLA` | Country site code (see table above). |
| `maxItemsPerQuery` | Integer | `50` | Listings analyzed per query or category (5–500). |
| `includeProductDetail` | Boolean | `true` | Visit product pages for sold counters, brands, specs. Required for demand/GMV. |
| `condition` | String | `any` | Filter: `any`, `new`, `used`, `refurbished`. |
| `priceMin` / `priceMax` | Integer | — | Price bounds in local currency. |
| `officialStoresOnly` | Boolean | `false` | Official store listings only. |
| `includeItems` | Boolean | `true` | Push listing rows to dataset and CSV. |
| `outputFormat` | String | `full` | `full`, `summary_only`, or `items_only`. |
| `pdpConcurrency` | Integer | `5` | Parallel PDP fetches (1–15). |
| `sessionPoolSize` | Integer | `4` | Residential proxy sessions (1–10). |
| `proxyConfiguration` | Object | auto | Residential proxy in target country auto-configured. |

#### Input example — keyword niche

```json
{
  "searchQueries": ["freidora de aire"],
  "siteId": "MLA",
  "maxItemsPerQuery": 100,
  "includeProductDetail": true
}
````

#### Input example — category analysis

```json
{
  "categoryUrls": ["https://listado.mercadolibre.com.ar/celulares-smartphones"],
  "siteId": "MLA",
  "maxItemsPerQuery": 300,
  "includeProductDetail": true
}
```

***

### Output Format

#### Market summary (one per query or category)

```json
{
  "type": "market_summary",
  "query": "celulares-smartphones",
  "sourceType": "category",
  "siteId": "MLA",
  "currency": "ARS",
  "summary": {
    "opportunityScore": 70,
    "verdict": "strong_opportunity",
    "demandLevel": "very_high",
    "competitionLevel": "moderate",
    "medianPrice": { "amount": 400450, "display": "$400,450", "currency": "ARS" },
    "estimatedTotalRevenue": { "amount": 9059121723, "display": "$9,059,121,723", "currency": "ARS" },
    "confidence": "high",
    "quickTake": "Strong demand with moderate seller concentration. Opportunity score 70/100."
  }
}
```

#### Listing rows

Full fields per analyzed product: `id`, `title`, `price`, `soldQuantity`, `availableQuantity`, `seller`, `condition`, `attributes`, `permalink`, `categoryUrl`, and more.

#### Key-value store

| File | Content |
| :--- | :--- |
| `REPORT.md` | Human-readable report with seller, brand, and product tables. |
| `OUTPUT.json` | All summaries and items in one JSON document. |
| `listings.csv` | Flat CSV with estimated revenue per row. |

***

### Pricing

Pay-per-event on Apify. You are charged for:

| Event | Description |
| :--- | :--- |
| **listing-analyzed** | Each listing scraped and enriched with product page data (sold quantity, brand, specs, stock) and included in analytics. |
| **market-report** | One structured market report per search query or category URL (opportunity score, price stats, demand, GMV, competition, `REPORT.md`, `OUTPUT.json`). |

Typical run cost scales with listings analyzed plus one report per niche. Deep analysis (PDP) is required for demand and revenue metrics.

***

### Understanding the metrics

#### Opportunity score (0–100)

| Score | Verdict |
| :--- | :--- |
| **70+** | Strong opportunity |
| **45–69** | Moderate opportunity |
| **25–44** | Weak opportunity |
| **<25** | Saturated or low demand |

#### Demand level

From aggregated sold counters: `very_high` (20,000+ units), `high` (5,000+), `medium` (500+), `low` (50+), `very_low` (<50).

#### Confidence

`high` (80+ listings), `medium` (30+), `low` (10+), `very_low` (<10). Disabling PDP lowers confidence for demand metrics.

***

### FAQ

#### How is this different from the Mercado Libre Listings Scraper?

This Actor adds **market intelligence** — opportunity score, demand, estimated GMV, competition tables, and Markdown reports. The [Mercado Libre Scraper — LATAM Prices, Listings & Specs](https://apify.com/crawloop/mercado-libre-listings-scraper) exports raw listing rows for custom pipelines and bulk catalog jobs (especially fast search-only mode).

#### Can I analyze a category instead of a keyword?

Yes. Paste a Mercado Libre category or filtered search URL into `categoryUrls`. The Actor paginates the category and produces one market report for that niche.

#### How accurate are revenue estimates?

Sold counters are Mercado Libre's public lifetime values, capped at "+1000" for high-volume listings. Use figures to **compare niches**, not for accounting.

#### Do I need deep analysis (PDP)?

Yes for demand and GMV — sold counters appear on product pages only. With `includeProductDetail: false` you still get price and competition stats from search cards at lower runtime.

#### How long does a run take?

Roughly **3–4 minutes per 100 listings** with PDP enabled (parallel pages). A 300-listing category analysis takes about 12–13 minutes. Search-only analytics (no PDP) is faster but skips demand/GMV.

#### How does it bypass bot protection?

Headless Chromium with residential proxies in the target country and a rotating multi-session pool. Akamai challenges are handled in the browser.

#### Does it export JSON and CSV?

Yes. Summaries and listings go to the Apify dataset; `OUTPUT.json`, `REPORT.md`, and `listings.csv` are in the key-value store.

***

**Also see:** [Mercado Libre Scraper — LATAM Prices, Listings & Specs](https://apify.com/crawloop/mercado-libre-listings-scraper) — raw Mercado Libre listing export, fast search mode, category URLs, and optional PDP enrichment across the same 18 LATAM sites.

# Actor input Schema

## `searchQueries` (type: `array`):

Product keywords or niches to analyze (one per line). Each query produces one market intelligence report.

## `categoryUrls` (type: `array`):

Mercado Libre category or filtered listing URLs to analyze. Paste the URL from your browser after applying filters.

## `siteId` (type: `string`):

Target Mercado Libre country site.

## `maxItemsPerQuery` (type: `integer`):

How many top search results to analyze per query (5-500). More listings = higher confidence, longer run.

## `includeProductDetail` (type: `boolean`):

Visit each product page to read sold counters, stock, brand, and specs. Required for demand, revenue, and brand analytics. Slower but much richer.

## `condition` (type: `string`):

Filter listings by condition before analysis.

## `priceMin` (type: `integer`):

Lower price bound in the site's local currency.

## `priceMax` (type: `integer`):

Upper price bound in the site's local currency.

## `officialStoresOnly` (type: `boolean`):

Analyze only official store listings.

## `includeItems` (type: `boolean`):

Push individual analyzed listings to the dataset and CSV export.

## `outputFormat` (type: `string`):

full = summaries + listings + report + CSV; summary\_only = summaries + report; items\_only = listings + CSV.

## `pdpConcurrency` (type: `integer`):

Product detail pages fetched in parallel during deep analysis.

## `sessionPoolSize` (type: `integer`):

Independent residential proxy sessions (IPs) used in parallel.

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

Apify proxy configuration. Residential proxy in the target country is configured automatically when empty.

## Actor input object example

```json
{
  "searchQueries": [],
  "categoryUrls": [
    "https://listado.mercadolibre.com.ar/celulares-telefonos/celulares-smartphones/"
  ],
  "siteId": "MLA",
  "maxItemsPerQuery": 50,
  "includeProductDetail": true,
  "condition": "any",
  "officialStoresOnly": false,
  "includeItems": true,
  "outputFormat": "full",
  "pdpConcurrency": 5,
  "sessionPoolSize": 4,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# 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 = {
    "searchQueries": [],
    "categoryUrls": [
        "https://listado.mercadolibre.com.ar/celulares-telefonos/celulares-smartphones/"
    ],
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("crawloop/mercado-libre-market-intelligence").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 = {
    "searchQueries": [],
    "categoryUrls": ["https://listado.mercadolibre.com.ar/celulares-telefonos/celulares-smartphones/"],
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
    },
}

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

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

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

```

## CLI example

```bash
echo '{
  "searchQueries": [],
  "categoryUrls": [
    "https://listado.mercadolibre.com.ar/celulares-telefonos/celulares-smartphones/"
  ],
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}' |
apify call crawloop/mercado-libre-market-intelligence --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=crawloop/mercado-libre-market-intelligence",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Mercado Libre Market Intelligence — LATAM Niche Analyzer",
        "description": "Mercado Libre niche analyzer for 18 LATAM sites. Demand from sold counters, estimated GMV, price percentiles, top sellers & brands, competition, 0-100 opportunity score. Keyword, category URL, report & CSV.",
        "version": "0.9",
        "x-build-id": "JPWXOcwcPEG7z5cKG"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/crawloop~mercado-libre-market-intelligence/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-crawloop-mercado-libre-market-intelligence",
                "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/crawloop~mercado-libre-market-intelligence/runs": {
            "post": {
                "operationId": "runs-sync-crawloop-mercado-libre-market-intelligence",
                "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/crawloop~mercado-libre-market-intelligence/run-sync": {
            "post": {
                "operationId": "run-sync-crawloop-mercado-libre-market-intelligence",
                "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",
                "required": [
                    "siteId"
                ],
                "properties": {
                    "searchQueries": {
                        "title": "Search Queries",
                        "type": "array",
                        "description": "Product keywords or niches to analyze (one per line). Each query produces one market intelligence report.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "categoryUrls": {
                        "title": "Category URLs",
                        "type": "array",
                        "description": "Mercado Libre category or filtered listing URLs to analyze. Paste the URL from your browser after applying filters.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "siteId": {
                        "title": "Country / Site ID",
                        "enum": [
                            "MLA",
                            "MLB",
                            "MLM",
                            "MCO",
                            "MLC",
                            "MPE",
                            "MLU",
                            "MLV",
                            "MEC",
                            "MBO",
                            "MPA",
                            "MPY",
                            "MRD",
                            "MCR",
                            "MNI",
                            "MGT",
                            "MHN",
                            "MSV"
                        ],
                        "type": "string",
                        "description": "Target Mercado Libre country site.",
                        "default": "MLA"
                    },
                    "maxItemsPerQuery": {
                        "title": "Listings analyzed per query",
                        "minimum": 5,
                        "maximum": 500,
                        "type": "integer",
                        "description": "How many top search results to analyze per query (5-500). More listings = higher confidence, longer run.",
                        "default": 50
                    },
                    "includeProductDetail": {
                        "title": "Deep analysis (product pages)",
                        "type": "boolean",
                        "description": "Visit each product page to read sold counters, stock, brand, and specs. Required for demand, revenue, and brand analytics. Slower but much richer.",
                        "default": true
                    },
                    "condition": {
                        "title": "Condition",
                        "enum": [
                            "any",
                            "new",
                            "used",
                            "refurbished"
                        ],
                        "type": "string",
                        "description": "Filter listings by condition before analysis.",
                        "default": "any"
                    },
                    "priceMin": {
                        "title": "Minimum Price",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Lower price bound in the site's local currency."
                    },
                    "priceMax": {
                        "title": "Maximum Price",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Upper price bound in the site's local currency."
                    },
                    "officialStoresOnly": {
                        "title": "Official Stores Only",
                        "type": "boolean",
                        "description": "Analyze only official store listings.",
                        "default": false
                    },
                    "includeItems": {
                        "title": "Include listing records",
                        "type": "boolean",
                        "description": "Push individual analyzed listings to the dataset and CSV export.",
                        "default": true
                    },
                    "outputFormat": {
                        "title": "Output format",
                        "enum": [
                            "full",
                            "summary_only",
                            "items_only"
                        ],
                        "type": "string",
                        "description": "full = summaries + listings + report + CSV; summary_only = summaries + report; items_only = listings + CSV.",
                        "default": "full"
                    },
                    "pdpConcurrency": {
                        "title": "Detail page concurrency",
                        "minimum": 1,
                        "maximum": 15,
                        "type": "integer",
                        "description": "Product detail pages fetched in parallel during deep analysis.",
                        "default": 5
                    },
                    "sessionPoolSize": {
                        "title": "Proxy Session Pool Size",
                        "minimum": 1,
                        "maximum": 10,
                        "type": "integer",
                        "description": "Independent residential proxy sessions (IPs) used in parallel.",
                        "default": 4
                    },
                    "proxyConfiguration": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Apify proxy configuration. Residential proxy in the target country is configured automatically when empty."
                    }
                }
            },
            "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
                                    }
                                }
                            },
                            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
