VipCommerce Data Extractor
Pricing
$12.50 / 1,000 skus
VipCommerce Data Extractor
Extract public product, price, and stock data from VipCommerce supermarkets in Brazil. Clean, structured output in JSON with automated updates. 100% LGPD compliant.
0.0 (0)
Pricing
$12.50 / 1,000 skus
0
1
1
Last modified
2 days ago
This Actor extracts data from over 50 Brazilian supermarkets that use the VipCommerce e-commerce platform. It provides access to real-time product prices, inventory information, and store data from major retail chains across Brazil.
The scraper is designed for price monitoring, market research, competitive analysis, and inventory tracking applications.
Quick Start
The Actor operates in four modes that follow a natural workflow:
- Distribution Centers - Get available store locations for a domain
- Departments - Get departments for a specific distribution center
- Categories - Retrieve product categories for a specific location
- Assortment - Extract product data (prices, inventory, etc.) for a category
Each execution returns one page of data, giving you full control over pagination and data processing.
Operation Modes
Distribution Centers Mode
Returns available distribution centers for a store domain.
{"mode": "distribution_centers","domain": "lojahirota.com.br","branch_id": 1,"zip_code": "01310-100","request_waiting": 5}
Categories Mode
Returns product categories available at a specific distribution center.
{"mode": "categories","domain": "lojahirota.com.br","branch_id": 1,"distribution_center_id": 5,"request_waiting": 5}
Departments Mode
Returns departments for a specific distribution center.
{"mode": "departments","domain": "lojahirota.com.br","branch_id": 1,"distribution_center_id": 5,"request_waiting": 5}
Assortment Mode
Returns products for a specific category (one page per execution).
{"mode": "assortment","domain": "lojahirota.com.br","branch_id": 1,"distribution_center_id": 5,"category_id": 61,"page": "1","request_waiting": 5}
Output Format
Distribution Centers
[{"name": "Centro São Paulo","distribution_center_id": 5,"city": "São Paulo","state": "SP","branch_id": 1}]
Departments
[{"id": 3,"name": "Bebidas","slug": "/bebidas","branch_id": 1,"distribution_center_id": 1,"categories": [{"id": 246,"name": "AGUARDENTES E CACHAÇAS","slug": "/bebidas/aguardentes-e-cachacas"},{"id": 250,"name": "CERVEJAS TRADICIONAIS","slug": "/bebidas/cervejas-tradicionais"}]}]
Categories
[{"name": "Bebidas","category_id": 61,"department_id": 5,"slug": "/bebidas","branch_id": 1,"distribution_center_id": 5}]
Assortment
{"records_per_page": 20,"items": 890,"pages": 45,"data": [{"name": "COCA COLA LATA 350ML","ean": 7894900011517,"price_to": 3.99,"available": "S","sku": "CC-350","product_id": 12345,"brand": "Coca-Cola","category_id": 61,"branch_id": 1,"distribution_center_id": 5,"price_from": 4.99,"price_offer": 0.0,"qty_min": 1,"qty_max": 10,"sold_amount": 150,"unit_label": "UN","unit_fraction": 1,"qty_fraction": 1,"price_fraction": 3.99,"prioritized_product": "N","main_volume": "350ml","url": "https://lojahirota.com.br/produto/12345","image": "https://cdn.lojahirota.com.br/coca-cola.jpg","created_at": "2024-01-15","hour": "10:30:00"}]}
Recommended Workflow
Follow this sequence for complete data extraction:
- Distribution Centers → Get available distribution centers
- Departments → Get departments for a distribution center
- Categories → Get categories (same endpoint as departments)
- Assortment → Extract products for specific categories
Working Categories (Tested)
- ID 246: AGUARDENTES E CACHAÇAS (19 products)
- ID 250: CERVEJAS TRADICIONAIS (43 products)
Python Implementation
Install the required packages:
$pip install apify-client pandas matplotlib
Basic Usage
from apify_client import ApifyClientclient = ApifyClient("your_apify_token")# Get products from a specific store and categoryrun = client.actor("your_actor_id").call(run_input={"mode": "assortment","domain": "lojahirota.com.br","branch_id": 1,"distribution_center_id": 5,"category_id": 61,"page": "1"})# Get the resultsproducts = client.dataset(run["defaultDatasetId"]).list_items().items[0]print(f"Found {len(products['data'])} products")for product in products['data'][:5]: # Show first 5 productsprint(f"{product['name']} - R$ {product['price_to']}")
Complete Workflow
from apify_client import ApifyClientimport pandas as pd# Initialize Apify clientclient = ApifyClient("your_apify_token")# Step 1: Get distribution centersdc_run = client.actor("your_actor_id").call(run_input={"mode": "distribution_centers","domain": "lojahirota.com.br","branch_id": 1,"zip_code": "01310-100"})distribution_centers = client.dataset(dc_run["defaultDatasetId"]).list_items().itemsprint(f"Found {len(distribution_centers)} distribution centers")# Step 2: Get departments for first DCdepartments_run = client.actor("your_actor_id").call(run_input={"mode": "departments","domain": "lojahirota.com.br","branch_id": 1,"distribution_center_id": distribution_centers[0]["id"]})departments = client.dataset(departments_run["defaultDatasetId"]).list_items().itemsprint(f"Found {len(departments)} departments")# Step 3: Get categories for first DCcategories_run = client.actor("your_actor_id").call(run_input={"mode": "categories","domain": "lojahirota.com.br","branch_id": 1,"distribution_center_id": distribution_centers[0]["distribution_center_id"]})categories = client.dataset(categories_run["defaultDatasetId"]).list_items().itemsprint(f"Found {len(categories)} categories")# Step 3: Get all products for first categoryfirst_category = categories[0]all_products = []page = 1while True:products_run = client.actor("your_actor_id").call(run_input={"mode": "assortment","domain": "lojahirota.com.br","branch_id": 1,"distribution_center_id": distribution_centers[0]["distribution_center_id"],"category_id": first_category["category_id"],"page": str(page)})result = client.dataset(products_run["defaultDatasetId"]).list_items().items[0]if not result["data"]: # No more productsbreakall_products.extend(result["data"])print(f"Page {page}: {len(result['data'])} products")if page >= result["pages"]: # Last page reachedbreakpage += 1# Convert to DataFrame for analysisdf = pd.DataFrame(all_products)print(f"\nTotal products extracted: {len(df)}")print(f"Price range: R$ {df['price_to'].min():.2f} - R$ {df['price_to'].max():.2f}")print(f"Available products: {len(df[df['available'] == 'S'])}")
Data Analysis
# Analyze the extracted dataimport matplotlib.pyplot as plt# Price distributionplt.figure(figsize=(10, 6))df['price_to'].hist(bins=50)plt.title('Product Price Distribution')plt.xlabel('Price (R$)')plt.ylabel('Number of Products')plt.show()# Top brandstop_brands = df['brand'].value_counts().head(10)print("Top 10 Brands:")print(top_brands)# Export to CSVdf.to_csv('vipcommerce_products.csv', index=False)print("Data exported to vipcommerce_products.csv")
How It Works
This Actor extracts one page of data per execution, giving you full control over pagination and data processing. The output format matches the original VipCommerce API structure, making it easy to integrate into existing applications.
Supported Stores
This Actor works with over 50 Brazilian supermarkets that use the VipCommerce platform, including:
- Atacadão São Roque (Bahia)
- Carvalho Super Shop (Piauí)
- Hirota Food Market (São Paulo)
- Casa Aurora Supermercados (Mato Grosso)
The Actor supports stores across all 26 Brazilian states plus the Federal District, covering both major chains and regional supermarkets. To check if a specific store is supported, simply try its domain - if it uses VipCommerce, it will work.
⚙️ Parameters
Parameter | Type | Required | Description |
---|---|---|---|
mode | string | ✅ | Operation mode: distribution_centers , departments , categories , assortment |
domain | string | ✅ | Store domain (e.g., "lojahirota.com.br") |
branch_id | integer | ✅ | Branch ID (default: 1) |
zip_code | string | 🔸 | ZIP code for distribution centers (default: "01310-100") |
distribution_center_id | integer | 🔸 | Required for categories and assortment modes |
category_id | integer | 🔸 | Required for assortment mode |
page | string | 🔸 | Page number for assortment (default: "1") |
request_waiting | integer | ✅ | Request delay in seconds (min: 3, default: 5) |
Use Cases
- Price Monitoring - Track competitor pricing across multiple stores
- Market Research - Analyze product availability and pricing trends
- Competitive Analysis - Monitor competitor product assortments
- Regional Analysis - Compare pricing between different Brazilian states
- Inventory Tracking - Monitor stock levels and product availability
Technical Details
- Platform: VipCommerce e-commerce platform
- Rate Limiting: Configurable delays (minimum 3 seconds)
- Error Handling: Returns empty structures on errors
- Data Format: Structured JSON output
Authentication
No authentication setup is required. The Actor comes pre-configured with all necessary credentials to access VipCommerce stores. Simply provide your Apify token when using the API client, and you're ready to start extracting data.
Data Privacy
This Actor follows data privacy best practices by excluding sensitive information such as email addresses, phone numbers, and detailed addresses from the output. Only publicly available business information is extracted.
Features
- 50+ Validated Stores - All stores are tested and working
- Real-time Data - Get current prices and inventory information
- Rate Limited - Respectful scraping with configurable delays
- Error Handling - Graceful handling of failed requests
- Privacy Compliant - No sensitive data collected
- Simple Integration - Works with any programming language
On this page
Share Actor: