Daraz Product Scraper avatar
Daraz Product Scraper

Pricing

$0.69 / 1,000 results

Go to Apify Store
Daraz Product Scraper

Daraz Product Scraper

The fastest Daraz product scraper on Apify — 4,000+ products in under 40 seconds for only $0.69/1k results. Works in Bangladesh · Pakistan · Nepal · Sri Lanka · Myanmar.

Pricing

$0.69 / 1,000 results

Rating

0.0

(0)

Developer

ITclan BD

ITclan BD

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

3 days ago

Last modified

Share

The Daraz Product Scraper is a powerful tool that provides authenticated access to scrape product data from Daraz, one of the largest e-commerce platforms in South Asia. This tool allows you to extract detailed product information from multiple countries, enabling businesses and developers to gather crucial data for analysis, pricing strategies, inventory management, and more.


✨ Features

  • Multi-country support: Bangladesh, Pakistan, Nepal, Myanmar, Sri Lanka
  • Real-time data: Fetches live product information from Daraz search results
  • Smart pagination: Scrape up to 100 pages with configurable limits
  • Proxy support: Works with Apify Proxy or custom proxy URLs
  • Robust validation: Comprehensive input validation with detailed error messages
  • Data parsing: Intelligent handling of ratings, sales counts, and relative URLs
  • Structured output: Clean JSON data ready for analysis or integration

🚀 Use Cases

  • Price Monitoring: Track price changes across products.
  • Competitor Analysis: Gather insights about sellers, product availability, and ratings.
  • Market Research: Analyze trends across different product categories.

⚙️ Input Configuration

FieldTypeRequiredDefaultDescription
country_domainstringYes-Country code: bd, pk, np, mm, lk
search_keywordstringYes-Search term (1–200 characters)
pageintegerNo1Number of pages to scrape (1–100)
proxyUrlstringNo-Custom proxy URL (e.g., http://user:pass@host:port)

📝 Input Example

{
"country_domain": "bd",
"search_keyword": "wireless headphones",
"page": 3,
"proxyUrl": "http://user:pass@my-proxy.com:8080" // Optional
}

🔎 Minimal Input

{
"country_domain": "bd",
"search_keyword": "mobile phones"
}

✅ Output Schema

Each product record contains the following fields:

FieldTypeDescription
namestringProduct title
itemIdstringUnique product identifier
pricestringOriginal price
currentPricestringCurrent/discounted price
brandNamestringProduct brand (or "No Brand")
sellerNamestringSeller/store name
ratingScorenumberAverage rating (0–5, up to 2 decimal places)
itemSoldintegerNumber of items sold
locationstringSeller location
imagestringProduct image URL
itemUrlstringFull product page URL
pageintegerSource page number
searchKeywordstringSearch term used
countrystringCountry code (uppercase)

📦 Output Example

[
{
"name": "Wireless Bluetooth Headphones Pro",
"itemId": "BD123456789",
"price": "3500.00",
"currentPrice": "2999.00",
"brandName": "AudioTech",
"sellerName": "TechStore BD",
"ratingScore": 4.5,
"itemSold": 15200,
"location": "Dhaka",
"image": "https://static-01.daraz.com.bd/p/mdc/headphones.jpg",
"itemUrl": "https://www.daraz.com.bd/products/wireless-bluetooth-headphones-pro-i123456789.html",
"page": 1,
"searchKeyword": "wireless headphones",
"country": "BD"
}
]

🚀 Usage on Apify

Web Interface

  1. Create a new task for this actor.
  2. Configure input parameters in the JSON editor.
  3. Click Start to run the scraper.
  4. Monitor execution in the Log tab.
  5. Download results from Dataset or view Key-Value Store → OUTPUT.

API Usage

curl -H "Content-Type: application/json" \
--data '{
"country_domain": "bd",
"search_keyword": "laptop",
"page": 2
}' \
"https://api.apify.com/v2/acts/itclan-bd~daraz-product-scraper/run-sync-get-dataset-items?token=YOUR_API_TOKEN"

💻 JavaScript API Client

import { ApifyClient } from "apify-client";
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const input = {
country_domain: 'bd',
search_keyword: 'laptop',
page: 2
};
const run = await client.actor('itclan-bd~daraz-product-scraper').call(input);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

🌐 Supported Countries

Country CodeDomainMarketplace
bddaraz.com.bdBangladesh
pkdaraz.pkPakistan
npdaraz.com.npNepal
mmshop.com.mmMyanmar
lkdaraz.lkSri Lanka

🔒 Proxy Configuration

The actor automatically handles proxy setup:

  • Default: Uses Apify Proxy for reliable data extraction
  • Custom: Provide your own proxy via proxyUrl parameter
  • Direct: Falls back to direct connection if no proxy is available

⚙️ Custom Proxy Format

Examples of custom proxy URLs:

{
http://user:password@proxy-host.com:8080
https://user:password@secure-proxy.com:3128
}

Understanding Proxies

Proxies serve as go-betweens for your internet traffic. When you connect through a proxy, your real IP address is hidden, and your requests appear to come from the proxy’s location instead of your own.

Why Use Proxies?

  • Prevent IP Blocking: By distributing requests across different proxy addresses, you reduce the likelihood of a website detecting unusual activity and blocking your IP.
  • Bypass Geographic Restrictions: Proxies allow you to view content or access services that may be limited to certain regions.
  • Improve Privacy: Using a proxy helps keep your actual IP address private, offering an added layer of anonymity while browsing or collecting data online.

⚠️ Error Handling

The actor validates inputs before execution and returns structured error objects.

Validation Errors Example

{
"status": "INPUT_ERROR",
"message": "Your input is invalid",
"details": [
"Invalid country_domain: 'us'. Must be one of: bd, pk, np, mm, lk",
"search_keyword must be between 1 and 200 characters"
],
"fix_suggestions": [
"Use valid country_domain: bd, pk, np, mm, lk",
"search_keyword cannot be empty",
"page must be a number between 1 and 100",
"proxyUrl must be a valid URL (or leave empty)"
]
}

❌ No Results

If no products are found, the actor returns a structured response like this:

{
"status": "NO_RESULTS",
"message": "No products found for your search",
"searchKeyword": "xyznonexistent",
"country": "BD",
"suggestion": "Try a broader keyword or different country"
}