IndiaMART Supplier & Product Scraper avatar

IndiaMART Supplier & Product Scraper

Pricing

from $3.00 / 1,000 products

Go to Apify Store
IndiaMART Supplier & Product Scraper

IndiaMART Supplier & Product Scraper

Scrape B2B suppliers and products from IndiaMART: product name, price and unit, specifications, plus the supplier's company, city, contact number, rating, years in business and GST verification. No API key.

Pricing

from $3.00 / 1,000 products

Rating

0.0

(0)

Developer

Dev D

Dev D

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Scrape B2B suppliers and their products from IndiaMART — India's largest supplier directory.

Every row carries both sides of the listing: the product (name, price, unit, specifications, brochure) and the supplier (company, city, contact number, rating, years in business, GST verification, membership tier).

Paste a category URL, or just type what you are sourcing. No API key.

Input

FieldMeaning
startUrlsCategory pages, e.g. https://dir.indiamart.com/impcat/cnc-machines.html
searchTermsPlain phrases such as submersible pump, matched to a category
maxProductsPerCategoryProducts per category (default 300)
cityFanOutVisit the category city by city for depth (default on)
maxCitiesHow many cities per category (default 25, about 50 exist)
proxyConfigurationRequired — see below

Output

One row per supplier product:

{
"product_id": 2853643866130,
"product_name": "Fabricated MS Pipe",
"product_url": "https://www.indiamart.com/proddetail/fabricated-ms-pipe-2853643866130.html",
"price": 100.0,
"price_display": "₹ 100/Kg",
"currency": "INR",
"price_unit": "Kg",
"specifications": {"Outer Diameter": "50 mm", "Material": "Mild Steel"},
"supplier": "Manisha Steel Centre",
"supplier_id": 79233012,
"supplier_url": "https://www.indiamart.com/manishasteelcentre/",
"contact_number": "7949340839",
"city": "Mumbai",
"country": "India",
"membership": "STAR",
"member_since": "7 yrs",
"rating": 4.3,
"rating_count": 106,
"response_rate": 85.0,
"gst_verified": true,
"category": "MS Pipe",
"listing_city": "all-india"
}

How depth works — please read

An IndiaMART category page hands over 28 products and no next page. Every paging parameter — pg, page, start, offset, bpos, pn — is accepted and ignored; each returns the same 28 with at most one swapped.

What does change the results is the city. The same category under each of the ~50 cities in the page's own city list returns a largely different 28, so cityFanOut walks them and de-duplicates by product ID. Eight cities already give about 190 distinct products, and the full list gives roughly a thousand.

Two honest limits:

  • Products are what IndiaMART chooses to feature per city, so a category with 28,000 listings will not be exhausted. This gets you a broad, current cross-section, not the entire catalogue.
  • Searching by keyword resolves to a category page, because IndiaMART's search redirects non-Indian traffic to a different, much thinner export site. Most phrases match; when one does not, the run tells you plainly instead of returning an empty dataset.

Rate limiting and the proxy

IndiaMART blocks by address, using two different codes. An address it dislikes gets an instant 403 on the first request. An address it has been tolerating gets 429 once it passes a budget of roughly forty requests, and that block then lasts minutes rather than seconds. Apify's default address is in the first category: every proxy-less test run of this Actor came back with zero rows, while the same search through the proxy returned a full dataset in 13 seconds.

So the proxy is on by default and should stay on. The Actor takes a pool of a dozen proxy addresses and rotates through them — a 403 or 429 moves to the next address and retries instead of ending the run, and addresses are rotated proactively before the 40-request budget runs out. Only when every address in the pool is blocked does the run stop, and even then it stops cleanly, keeps everything already collected, and says so in the status message.

Pay per event

EventWhen
productOne supplier product, with its supplier details

Products returned by more than one city or category are de-duplicated by product_id and charged once.