MercadoLibre Official Stores Scraper avatar

MercadoLibre Official Stores Scraper

Pricing

from $1.00 / 1,000 results

Go to Apify Store
MercadoLibre Official Stores Scraper

MercadoLibre Official Stores Scraper

Scrape product catalogs from MercadoLibre official brand stores: prices, stock, and product details.

Pricing

from $1.00 / 1,000 results

Rating

0.0

(0)

Developer

Danilo Frias

Danilo Frias

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

Scrapes the public official-stores directory ("tiendas oficiales") of MercadoLibre Mexico and returns one record per official store: brand name, store URL, logo URL, and directory category.

Who would use it: lead-list builders, brand/marketplace analysts, and anyone maintaining a directory of brands with an official storefront on MercadoLibre Mexico. Official store names are business names shown on public listings; no personal data is collected.

Inputs

FieldTypeDefaultDescription
start_urlsarray of strings["https://www.mercadolibre.com.mx/tiendas-oficiales"]Directory pages to start from. Accepts the directory landing page (category pages are discovered automatically) or individual category pages (tiendas-oficiales/show?category=MLM1000...).
max_itemsinteger250Maximum number of unique store records to return. The actor visits category pages in order and stops as soon as this many unique stores have been collected.
countrystring"mx"Two-letter country code stamped on each record.

Sample output record

{
"store_name": "117 Mx",
"store_url": "https://www.mercadolibre.com.mx/tienda/117-mx",
"logo_url": "https://http2.mlstatic.com/D_NQ_NP_832107-MLA112151539782_062026-F.jpg",
"category": "Electrónica, Audio y Video",
"country": "mx"
}

Fields: store_name (str), store_url (str), logo_url (str or null), category (str or null), country (str). A store that appears in several categories keeps the category where it was first seen; logo_url prefers the brand's high_resolution_logo asset.

Coverage and limits

  • The directory is organized by product category (24 categories such as "Electrónica, Audio y Video", "Ropa, Bolsas y Calzado", "Computación"). Each category page (tiendas-oficiales/show?category=MLM...) renders a fixed set of top brands (100 per page, server-side, with store data also embedded in the page's __NORDIC_RENDERING_CTX__ JSON).
  • Pagination is by category, not by page. The category pages ignore page=/letter= query parameters and expose only their first ~100 brands even when the page reports a larger totalBrands count. So coverage is the top ~100 brands per category, up to ~2,400 raw listings deduped by store URL.
  • Deliberately avoided surfaces: MercadoLibre search-result pages and product-detail pages redirect unauthenticated visitors to account verification; this actor never requests them. If any directory page starts redirecting to a login/account-verification wall or serves a CAPTCHA, the actor logs the URL, status code, and redirect target and moves on.

Rate limiting

Plain HTTPS with a browser User-Agent, max 2 concurrent connections, and a fixed ~1 second delay between requests. No scraping proxy services, no CAPTCHA solving, no parallel hammering. On hosts that route outbound traffic through a standard egress proxy, the actor uses the machine's configured https_proxy/http_proxy URL explicitly (this host's no_proxy format breaks httpx's environment parsing, so the URL is passed directly rather than relying on trust_env).

Data rules

  • Public pages only. The actor visits only the official-stores directory landing and category pages, all accessible without login. No login flows, no session cookies.
  • No personal data. Only business/brand names, public store URLs, and logo image URLs are collected. No names, emails, or phone numbers of private individuals.

Run locally

cd mercadolibre-official-stores-scraper
mkdir -p storage/key_value_stores/default
cat > storage/key_value_stores/default/INPUT.json <<'EOF'
{
"start_urls": ["https://www.mercadolibre.com.mx/tiendas-oficiales"],
"max_items": 250,
"country": "mx"
}
EOF
python main.py

Output lands in storage/datasets/default/ (local Apify storage). The same files build the Apify Docker image (Dockerfile, requirements.txt) without changes.