Indiamart Product Scraper avatar
Indiamart Product Scraper

Pricing

$4.99/month + usage

Go to Apify Store
Indiamart Product Scraper

Indiamart Product Scraper

This Apify actor retrieves product and supplier data through the IndiaMart search API. Search by query and city to collect structured product information including name, price, company, contact details, and location. Perfect for B2B lead generation, market research, and sourcing products from India.

Pricing

$4.99/month + usage

Rating

0.0

(0)

Developer

ScrapeAI

ScrapeAI

Maintained by Community

Actor stats

0

Bookmarked

5

Total users

2

Monthly active users

11 days ago

Last modified

Share

🧠 IndiaMart Product Scraper - API Based

This Apify actor retrieves product and supplier data through the IndiaMart search API. Search by query and city to collect structured product information including name, price, company, contact details, and location. Perfect for B2B lead generation, market research, and sourcing products from India.

βœ… Use Cases

  • πŸ“‡ Generate supplier leads from India's largest B2B marketplace
  • πŸ’¬ Build contact lists for B2B outreach campaigns
  • πŸ™οΈ Conduct market research by product and location
  • 🧭 Find suppliers and manufacturers in specific cities
  • πŸ“Š Gather structured product data from IndiaMart

πŸ“₯ Input Configuration

You can customize the actor using the following input fields:

{
"query": "shower partition",
"city": "Mumbai",
"maxPages": 10
}

🧾 Fields Explained

FieldTypeDescription
querystringSearch query for IndiaMart products (e.g., "shower partition", "steel pipes", "organic food")
citystringFilter by city (e.g., "Mumbai", "Delhi", "Chennai"). Leave empty for all India.
maxPagesnumberMaximum number of pages to scrape (max 100)

πŸ“€ Output

The actor returns a dataset containing structured product records from IndiaMart. Each record includes comprehensive details about the product and supplier, suitable for lead generation, analytics, and market research.

🧩 Sample Output

{
"productId": "12345678",
"productName": "Shower Glass Partition",
"companyName": "ABC Glass Works",
"price": "15000",
"priceRange": "15000 - 25000",
"unit": "Per Piece",
"city": "Mumbai",
"state": "Maharashtra",
"country": "India",
"imageUrl": "https://example.com/image.jpg",
"productUrl": "https://dir.indiamart.com/product/...",
"supplierUrl": "https://www.indiamart.com/company/...",
"contact": {
"phone": "+91-9876543210",
"email": "sales@example.com"
},
"description": "High quality tempered glass shower partition...",
"category": "Bathroom Accessories",
"mcatId": "42582",
"catId": "637",
"gstNumber": "27XXXXX1234X1ZX",
"verified": true,
"indiamartUrl": "https://dir.indiamart.com/product/..."
}

πŸ“‹ Output Fields

FieldTypeDescription
productIdstringUnique IndiaMart product identifier
productNamestringProduct name
companyNamestringSupplier company name
pricestring/numberProduct price
priceRangestringPrice range if applicable
unitstringPrice unit (per piece, per kg, etc.)
citystringSupplier city
statestringSupplier state
countrystringCountry (India)
imageUrlstringProduct image URL
productUrlstringURL to product page
supplierUrlstringURL to supplier page
contactobjectContact info (phone, email)
descriptionstringProduct description
categorystringProduct category
gstNumberstringSupplier GST number
verifiedbooleanWhether supplier is verified
indiamartUrlstringDirect link to IndiaMart listing

πŸ” Data Source

  • βœ“ Data fetched exclusively via IndiaMart search API (HTTP GET requests)
  • βœ“ No HTML scraping or DOM parsing
  • βœ“ Product and supplier information directly from IndiaMart
  • βœ“ Automatic deduplication

πŸ”’ Proxy Configuration

This actor uses standard HTTP headers with optional proxy support for:

  • Avoiding IP-based rate limiting or bans
  • Accessing location-specific data
  • Ensuring stable data retrieval at scale

Configure proxy settings in Apify:

{
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"],
"apifyProxyCountry": "IN"
}

πŸš€ How to Use

  1. Open the actor in Apify Console
  2. Click "Try actor" or create a new task
  3. Enter your search query (e.g., "shower partition")
  4. Optionally filter by city (e.g., "Mumbai")
  5. Run the actor
  6. Download results in JSON, CSV, or Excel format

βš™οΈ Advanced Input Example

{
"query": "steel pipes",
"city": "Chennai",
"maxPages": 20
}

πŸ› οΈ Tech Stack

  • Apify SDK β€” actor orchestration and data handling
  • Node.js 18+ β€” runtime environment with native fetch API
  • IndiaMart Search API β€” exclusive data source for product information

πŸ“Š Data Processing Features

  • βœ“ Automatic duplicate detection using Product IDs
  • βœ“ City-based filtering
  • βœ“ Structured data parsing and normalization
  • βœ“ Comprehensive logging and error handling
  • βœ“ Schema validation for all output records

πŸ”§ Local Development

Installation

$npm install

Running the Actor

$npm start

Validation

Validate all generated datasets against the schema:

$node validate-datasets.js

Code Quality

Format code:

$npm run format

Check linting:

$npm run lint

πŸ“‚ Project Structure

.
β”œβ”€β”€ .actor/ # Actor configuration
β”‚ β”œβ”€β”€ actor.json # Actor metadata
β”‚ β”œβ”€β”€ input_schema.json # Input parameters schema
β”‚ β”œβ”€β”€ dataset_schema.json # Output dataset schema
β”‚ β”œβ”€β”€ input.json # Default input
β”‚ β”œβ”€β”€ input-local.json # Local development input
β”‚ └── input-production.json # Production input
β”œβ”€β”€ src/
β”‚ └── main.js # Main actor script
β”œβ”€β”€ storage/
β”‚ └── datasets/default/ # Generated datasets
β”œβ”€β”€ package.json # Dependencies
β”œβ”€β”€ validate-datasets.js # Dataset validator
└── README.md # This file

🀝 Support

For issues, questions, or feature requests, please refer to the Apify documentation or contact support.