IndiaMART Scraper - India B2B Suppliers, Manufacturers, Prices avatar

IndiaMART Scraper - India B2B Suppliers, Manufacturers, Prices

Pricing

from $1.20 / 1,000 products

Go to Apify Store
IndiaMART Scraper - India B2B Suppliers, Manufacturers, Prices

IndiaMART Scraper - India B2B Suppliers, Manufacturers, Prices

Scrape IndiaMART B2B suppliers, manufacturers and products by keyword, city, business type or category URL: price and unit, specs, company, business phone, city, state, GST verified, TrustSEAL, years on IndiaMART, response rate, rating. Verified-exporter search with MOQ. New-results monitoring.

Pricing

from $1.20 / 1,000 products

Rating

0.0

(0)

Developer

Amit Aviv

Amit Aviv

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 days ago

Last modified

Security

Limited permissions

Share

IndiaMART Supplier & Product Scraper

Indian B2B suppliers and their products from IndiaMART, by keyword (with an optional city and business type) or from pasted IndiaMART category and search URLs: product, price and unit, specifications, supplier, business phone number, city and state, GST-verified and TrustSEAL flags, years on IndiaMART, response rate, rating. It reads IndiaMART's public listing data over plain HTTP (no browser, 256 MB), you pay only for products or suppliers delivered, and a run that delivers nothing because of an error or a block ends as Failed, never as a green empty run.

What you get

  • Product: name, product page URL, price as shown (₹ 50/Kilogram), price as a number, currency, unit, specifications as name/value pairs, short description, image URL, brochure (PDF) URL
  • Supplier: company name, business phone number (IndiaMART's call-forwarding number for the business, with its extension when there is one), IndiaMART id, catalogue URL, city, locality, state (with a city filter, or in "Verified exporters only"), country
  • Trust signals: GST verified, TrustSEAL, verified exporter, verified supplier, years on IndiaMART (memberSince "15 yrs" and memberYears 15), response rate (%), rating and number of ratings
  • Category: the IndiaMART category the result is listed in, its id and URL, and the query and filters that found it
  • Suppliers output: one record per supplier with the products IndiaMART shows for it in the listing (id, name, URL, price; at most 4) and their number, productsShown (not the size of the supplier's whole catalogue)
  • Verified exporters only: minimum order quantity and unit, state, business type, year established, exporter since, IEC verified, and the countries the supplier exports to
  • One record per product (or per supplier), as JSON, CSV or Excel, or through the API. A product or supplier is delivered and charged once per run, however often IndiaMART repeats it.
  • A run summary (OUTPUT_SUMMARY in the run's key-value store): what was requested, delivered and charged, the category and city each keyword was matched to, how many suppliers IndiaMART lists there, which inputs failed or were ignored, and why the run stopped.

What it does not return: personal mobile numbers, contact persons' names, emails, full GST numbers, street addresses, buyer leads, reviews, anything behind a login. Minimum order quantity is only in "Verified exporters only": the category listing does not carry it.

How to use

  1. Type a product keyword into Keywords or IndiaMART URLs (steel pipes, led bulb, basmati rice), or paste an IndiaMART category URL such as https://dir.indiamart.com/impcat/steelpipestubes.html or https://dir.indiamart.com/mumbai/steelpipestubes.html. Several entries are fine.
  2. Optionally set a City (Mumbai, New Delhi, Shimla) and a Business type (manufacturer, exporter, wholesaler, retailer).
  3. Choose Output: Products (one row per product) or Suppliers (one row per supplier).
  4. Set Max results per keyword or URL and press Start. Download the results from the Output tab, or read them from the API.

A keyword is matched to the product category IndiaMART itself files it under (steel pipes -> Steel Pipes, led bulb -> LED Bulb), and that category's supplier listing is read, the same list a visitor sees on IndiaMART's category page. When IndiaMART's own top guess is a narrow sub-category of a general category it names for the keyword (cctv camera -> "360-Degree CCTV Cameras", a few hundred suppliers), the general category is read instead ("CCTV Camera", tens of thousands); the summary then gives IndiaMART's guess as narrowerGuess. The run log and the summary name the category each keyword was matched to. A keyword that appears in neither the category's names nor IndiaMART's matching product titles is treated as having no category (0 results, nothing charged but the start), rather than taking whatever IndiaMART guesses.

Input

FieldTypeDefaultWhat it does
querieslist of textnone (required)Keywords, IndiaMART category URLs (dir.indiamart.com/impcat/...html, dir.indiamart.com/<city>/...html, the m.indiamart.com versions) or search URLs (dir.indiamart.com/search.mp?ss=...&cq=<city>). URLs without https:// are accepted, duplicates are ignored, product pages, company pages and other sites are ignored and listed in the summary. A city in a keyword (steel pipes mumbai) filters to that city.
citytextemptyOnly suppliers listed for this city, for every keyword. A city IndiaMART has no page for in that category makes the keyword fail with a message. With exportersOnly, only cities IndiaMART's export search recognises (mostly larger ones) work; others fail with a message.
businessTypechoiceanymanufacturer, exporter, wholesaler or retailer: IndiaMART's own business-type filter.
modechoiceproductsproducts or suppliers.
includePhoneyes/noyesAdd the business phone number IndiaMART publishes (phone, phoneExtension). Off: both empty.
maxItemsPerQuerynumber100Stop after this many products (or suppliers) for each entry, 1 to 10,000.
exportersOnlyyes/nonoUse IndiaMART's export search instead: verified exporters only, ranked by relevance, at most 40 suppliers per keyword, with minimum order quantity, state and export details. Keywords only.
splitLargeListingsyes/noyesRead past the part of a listing IndiaMART shows in one view. See "Limits".
onlyNewyes/nonoMonitoring: return and charge only results earlier runs have not delivered. See "Monitoring".
monitorKeytextemptyName of the monitor memory, to keep two schedules apart.
proxyConfigurationproxyoffNot needed. See the FAQ.

This input was run as 3UuMhOIsLeHU9FCLc (80 suppliers: 40 in Mumbai for a keyword, 40 manufacturers from a New Delhi category URL):

{
"queries": ["steel pipes", "https://dir.indiamart.com/new-delhi/steelpipestubes.html?biz=10"],
"city": "Mumbai",
"mode": "suppliers",
"maxItemsPerQuery": 40
}

Example result

Products output, taken from run CTYybm0EHjULCewcb on 2026-10-20 ( input {"queries": ["steel pipes"], "maxItemsPerQuery": 20}), unedited:

{
"id": "2824555030",
"productId": "2824555030",
"productName": "Jindal Round Steel Pipes, Size: 1/2 inch",
"productUrl": "https://www.indiamart.com/proddetail/steel-pipes-2824555030.html",
"price": "₹ 50/Kilogram",
"priceValue": 50,
"currency": "INR",
"priceUnit": "Kilogram",
"minOrderQuantity": null,
"minOrderUnit": null,
"specifications": {
"Shape": "Round",
"Size": "1/2 inch",
"Brand": "Jindal",
"Steel Grade": "SS316",
"Nominal Size": "1 inch, 2 inch, 3 inch, >3 inch, 3/4 inch, 1/2 inch",
"Length": "3m, 6m, 30m, 100m"
},
"description": null,
"imageUrl": "https://5.imimg.com/data5/SELLER/Default/2023/1/MY/SX/CZ/3672834/steel-pipes-1000x1000.jpg",
"brochureUrl": "https://5.imimg.com/data5/SELLER/Doc/2023/2/RE/PP/IJ/3672834/steel-pipes.pdf",
"supplierId": "3672834",
"companyName": "Hitech Metal And Tubes (Iso 90012008 Certified Co.)",
"phone": "+91-7942533250",
"phoneExtension": null,
"catalogUrl": "https://www.hitechtubes.net/",
"city": "Mumbai",
"locality": null,
"state": null,
"dealsInCity": null,
"country": "India",
"gstVerified": true,
"trustSeal": true,
"verifiedExporter": true,
"verifiedSupplier": false,
"iecVerified": null,
"memberSince": "15 yrs",
"memberYears": 15,
"responseRate": 78,
"rating": 4,
"ratingCount": 119,
"businessType": null,
"yearEstablished": null,
"exporterSince": null,
"exportsTo": [],
"category": "Steel Pipes",
"categoryId": "7904",
"categoryUrl": "https://dir.indiamart.com/impcat/steelpipestubes.html",
"source": "category-listing",
"query": "steel pipes",
"cityFilter": null,
"businessTypeFilter": null,
"scrapedAt": "2026-10-20T14:30:48.310Z"
}
FieldMeaning
idIndiaMART's product id (productId); in Suppliers output, the supplier id (supplierId). Stable between runs.
price, priceValue, priceUnitThe price text as IndiaMART shows it, its number (the low end for a range such as 200-600), and the unit after the /. null when the supplier lists no price (half of the 84 listings in our sample).
phone, phoneExtensionThe number IndiaMART publishes for the business: its call-forwarding number (+91-79… / +91-80…), the same "Contact Number" IndiaMART's product pages show any visitor, which IndiaMART connects to the supplier. Some numbers come with an extension. null when IndiaMART gives none, when it is not a call-forwarding number, or with includePhone off.
description, specificationsWritten by the seller. Personal mobile numbers, emails and WhatsApp links in them are replaced with [removed].
specificationsThe product's specification table as IndiaMART lists it.
stateFilled when you search a city (the city's state) and in "Verified exporters only"; null in all-India category listings, which do not carry it.
localityThe area IndiaMART lists next to the city (Ghaziabad for a New Delhi supplier), when it differs from the city.
dealsInCityIn a city search, IndiaMART also shows suppliers from elsewhere that deal in that city, without their own location. For them city, locality and state are null and dealsInCity names the city searched (run bKYTfjzU7qF8rVzgi: Vardhman Steel Co. in a Dehradun search). null for everyone else.
gstVerified, trustSeal, verifiedExporter, verifiedSupplierIndiaMART's own flags. IndiaMART's card shows "Verified Exporter" for verified exporters and "TrustSEAL" for other TrustSEAL holders.
memberSince, memberYearsHow long the supplier has been on IndiaMART, as shown and as a number.
responseRateThe response rate (%) IndiaMART shows; null when not shown.
rating, ratingCountAverage rating out of 5 and number of ratings; rating is null when there are none.
productsShown, productsSuppliers output: the products IndiaMART shows for the supplier in this listing (at most 4) and their number.
minOrderQuantity, minOrderUnit, businessType, yearEstablished, exporterSince, exportsTo, iecVerifiedFilled in "Verified exporters only" (and businessType with a business-type filter).
sourcecategory-listing or export-search.

Fields IndiaMART does not provide for a given product are null (or empty), never missing. Some products shown on a supplier's card have no product page or image on IndiaMART; their productUrl or imageUrl is null.

Pricing

Pay per event. You pay for what is delivered, not for time or memory.

EventFreeBronzeSilverGold and above
Actor start (once per run at the default 256 MB)$0.003$0.003$0.003$0.003
Product delivered (Products output)$0.0018$0.0015$0.00135$0.0012
Supplier delivered (Suppliers output)$0.0036$0.003$0.0027$0.0024

Worked example on Bronze: 1 keyword, 500 products = 500 × $0.0015 + $0.003 = $0.753. The same keyword as Suppliers output, 200 suppliers = 200 × $0.003 + $0.003 = $0.603. A scheduled monitoring run that finds 3 new suppliers costs 3 × $0.003 + $0.003 = $0.012; a run that finds nothing new costs $0.003.

  • Results that could not be delivered are not charged. A product or supplier met twice in a run is delivered and charged once.
  • The maximum total charge you set for a run is respected: the actor stops before it would go over, keeps what was delivered, and says so (run cXE2KCf4VRDTWpqMK: limit $0.0135 = start + 7 products, 7 delivered and charged).
  • Apify charges the start event once per GB of run memory: keep the default 256 MB.

Reliability and failure behaviour

What happenedRun statusStatus message (run id where tested live)
Results deliveredSucceededScraped 20 products from 1 query (Lchy0jo7LZeDGBLBR)
IndiaMART has no category for the keywordSucceeded0 results: indiamart.com has no products for this query — IndiaMART files no product category under "zzqxvbnmkk" (hvwnasdTm9UOtVdYk)
A city IndiaMART has no page for in that categoryFailed (if it was the only entry)No products delivered: IndiaMART has no "Steel Pipes" listing for the city "Atlantis" (check the spelling, …) (kFsZ20f3Fa1hTaJQw)
"Verified exporters only" with a city the export search does not recogniseFailed (if it was the only entry)No products delivered: IndiaMART's export search does not recognise the city "Shimla", so it cannot list verified exporters there; turn off "Verified exporters only" … (IY65xofDTQ1cAohiW)
Some entries worked, some failedSucceededScraped 120 products from 2 queries — 1 of 2 queries failed ("…": …) (offline test)
Nothing delivered because of errors or blockingFailedNo products delivered: indiamart.com blocked every attempt; try again later. No results were charged (the start fee applies). (offline test)
Input the actor cannot useFailed, within secondsNothing to do: none of the 2 entries in the input is usable (…). Add at least one entry to "queries", e.g. "steel pipes" … (clGrOjEaxqFiDoOKD, 1 s)
Maximum charge reachedSucceededScraped 7 products from 1 query — stopped at the maximum charge set for this run (cXE2KCf4VRDTWpqMK)
Run timeout closeSucceededScraped 2208 products from 1 query — stopped just before the run timeout; raise the timeout to get the rest (CwMe0wyknZCYGKP3J, 20 s timeout)
  • Requests are retried up to 3 times with increasing pauses on network errors, HTTP 429 and 5xx.
  • Results are saved page by page. A run that is aborted, times out or is resurrected keeps what was delivered and never delivers or charges the same result twice.
  • In every test run of 2026-10-20 the charged products or suppliers equalled the delivered records (run ids in the changelog). The automatic switch to residential proxy when IndiaMART refuses a direct request (FAQ) happened in most runs of build 0.1.6-0.1.7 and delivered every time; the case where even that is refused (run Failed, "blocked every attempt") is covered by offline tests only.

Limits

  • About 500 to 1,000 suppliers per listing view. IndiaMART shows only the first part of a long category listing (LED Bulb: 73,645 suppliers listed, about 500 shown; Steel Pipes: about 1,000). With Read past IndiaMART's 1,000-supplier view on (default), the actor then reads the same listing's manufacturer, exporter, wholesaler and retailer views, skipping what it already delivered: run tgdcDR41KhuhK91mq delivered 3,000 unique LED bulb products that way in 43 s. For more, search city by city.
  • Verified exporters only returns what IndiaMART's export search returns: at most 40 suppliers (about 200 products) per keyword, often fewer (basmati rice: 20 exporters, 85 products, FvY54h5gedR2NbODr).
  • A keyword means its category. The actor reads the category IndiaMART files the keyword under, not a free-text match of product titles; a very specific keyword (347h stainless steel pipe) gets its specific category when IndiaMART has one. The summary names the category. A keyword that shares no word with the category or IndiaMART's matching product titles (a pure synonym, or a made-up word) gets 0 results. For exact control over which listing is read, paste the category URL (https://dir.indiamart.com/impcat/<category>.html).
  • Keywords longer than 200 characters are cut to their first 200, with a warning.
  • Minimum order quantity and state are not in the category listing (see "What you get").
  • Speed: about 70 products per second when IndiaMART answers directly (3,000 in 43 s), about 20 per second through the residential proxy (1,200 in 60 s, roVNqPIdRuE3W9Xgj). A slow proxy connection can add up to a minute.
  • India only; English text as IndiaMART lists it.

Monitoring: only new results

  1. Turn on Only new results and save the input as a task.
  2. Schedule the task (daily or weekly).
  3. The first run delivers what it finds (up to the maximum). Every later run delivers and charges only products (or suppliers) it has not delivered before for the same keyword, city, filters and output; a run with nothing new ends as Succeeded with 0 new … and charges only the start event. Tested: P8ex5J1PRlKVz93ey delivered 23 suppliers of steel pipes in Shimla, bdd2Sb2UQCPKMThWQ the same input a minute later: 0 new suppliers in 1 monitored query (no results charged; the start fee applies).

The memory is a key-value store named indiamart-supplier-scraper-monitor in your own account (one record per query and monitor name, at most 10,000 ids each). Delete the store or change Monitor name to start over. IndiaMART does not sort listings by date, so "new" means "not delivered before", and a run whose maximum is lower than the listing delivers the next part of the listing on the following run (v2a1RtiXdViICSqtO then fnmbx68go2L6bhr6x, maximum 10: 10 products, then 10 different ones). To be notified, add an integration to the task (email, Slack, webhook) on "run succeeded".

FAQ

Do I need a proxy? No, leave it off. The run first asks IndiaMART directly; when IndiaMART refuses (it did in most test runs from the afternoon of 2026-10-20 on), the run continues by itself through Apify's residential proxy in India. Proxy traffic is included in the price; you pay only the events. Apify's datacenter proxy is often refused by IndiaMART's category pages (HTTP 403), so do not choose it.

Which phone number do I get? The number IndiaMART publishes for the business, which its product pages show as "Contact Number" to any visitor. It is an IndiaMART call-forwarding number that rings the supplier, sometimes with an extension. Personal mobile numbers are not returned, and the ones sellers write into their descriptions are masked. Turn off Include business phone number if you do not want the column.

Why fewer results than IndiaMART's headline count? See "Limits": IndiaMART shows only part of a long listing per view. City searches and business types reach more.

Products or Suppliers output? Products for price research and catalogues (one row per product, charged per product); Suppliers for supplier lists and sourcing shortlists (one row per company with its products, charged per supplier).

Can I run it from code? Yes: the API, the Apify clients for JavaScript and Python, Make, Zapier, n8n. The Output tab shows the URLs.

What happens when IndiaMART changes? Runs fail loudly instead of returning empty data; report the run id under Issues.

This actor collects business listing data that IndiaMART shows publicly without a login: companies' product listings, prices, cities, the business's IndiaMART call-forwarding number and IndiaMART's own trust flags. It does not return personal data of private individuals as fields: no contact persons' names, no personal mobile numbers or emails, no full GST numbers (a sole proprietor's GST number contains the owner's personal PAN), no street addresses, no reviewer names. An owner's name IndiaMART appends to a company name ("(Prop - …)") is cut off, and mobile numbers, emails and WhatsApp links in seller-written text are masked. A sole proprietor's business name can still be a person's name, and seller-written text can still name people.

IndiaMART's terms of use govern the use of its content; read them before you reuse the data. You are responsible for how you use the data: respect IndiaMART's terms, copyright and database rights, and data-protection law (India's Digital Personal Data Protection Act, GDPR and others) in your country. Do not use the output for unsolicited marketing to individuals. If you are unsure, ask a lawyer before you build on it.

Changelog

  • 2026-10-24, build 0.1.12: a keyword whose top IndiaMART guess is a narrow sub-category now reads the general category IndiaMART names for it (cctv camera: CCTV Camera instead of 360-Degree CCTV Cameras; a4 paper: A4 Size Paper instead of one brand), with the guess in the summary as narrowerGuess; made-up words that begin with a category word (plmqwz) no longer match it; "Verified exporters only" applies the same check, so a made-up keyword gives 0 results there too; a restarted run (platform migration, resurrect) no longer goes over the maximum per query; keywords over 200 characters are cut with a warning; a non-text monitorKey is reported. Test runs: 5sbP2qPoPxK7OYE8e (cctv camera -> CCTV Camera, a4 paper -> A4 Size Paper), kOm9lAehqL3v3uucD (plmqwz, 0 results), EE8zoGoNyCkojtINT (verified exporters, made-up keyword 0), r8zbsLhG250e6gYF4 (prefill, then restarted: still 20 products charged), 7tyA42Ir7Gsw64lOi (300 products), y8C1ykXIfMk3xM2HK (charge limit), ZYeSPBdUQmcvBvBzV / 79uUFemQhYKHJnVVd (only new), Tqzc8DLKBO8HvUflI (50 Mumbai suppliers).
  • 2026-10-24, build 0.1.11: wording of one input error ("not a URL on indiamart.com").
  • 2026-10-24, build 0.1.10: a made-up keyword no longer returns an unrelated category (qwzxkvjplm gave 20 "PLM Services" products before; now 0 results: f7XrOqeFnImK5TyE7); the log names the category each keyword was matched to. Test runs: spxbn8xEXauIypQLc (prefill, no proxy, 20 products), Vk89Pi0CnOYV1NBg9 (ms pipe -> MS Pipe, stainles steel sheet -> SS Sheet, 10 each).
  • 2026-10-20, builds 0.1.6 and later: business phone number (phone, phoneExtension, on by default, includePhone); suppliers that only deal in the searched city get dealsInCity instead of a wrong city and state; "Verified exporters only" with a city now filters by that city or fails with a message; productCount renamed productsShown; price ranges give their low end; personal contact details in seller text masked; an unknown biz= value in a URL is ignored with a warning; slow proxy connections retried on a fresh connection. Test runs: CTYybm0EHjULCewcb (prefill, no proxy), oat6huFnQOuqUCCPi (50 Mumbai suppliers), roVNqPIdRuE3W9Xgj (1,200 products), IY65xofDTQ1cAohiW / Y9BMv3nJWrGWQajlP (exporters in Shimla / New Delhi), bKYTfjzU7qF8rVzgi (Dehradun, "deals in" supplier), VEESkwDe924zJAlpi (biz=99), sBkeXUePV091SEw19 (bad input), jWJIwLL0SwnYTkno2 (no category), 3ACKhz93zBdXAzmfw (charge limit), v2a1RtiXdViICSqtO / fnmbx68go2L6bhr6x (only new), YiFqcle5cZjHLNkgK (phone off).
  • 2026-10-20 0.1.5: first version. Test runs: Lchy0jo7LZeDGBLBR (prefill input, no proxy), CMjc8amUqa41Ppg7y (1,070 products), tgdcDR41KhuhK91mq (3,000 products through the business-type views), 3UuMhOIsLeHU9FCLc (suppliers, city, business type), FvY54h5gedR2NbODr (verified exporters), clGrOjEaxqFiDoOKD (bad input), hvwnasdTm9UOtVdYk (no category), cXE2KCf4VRDTWpqMK (charge limit), P8ex5J1PRlKVz93ey / bdd2Sb2UQCPKMThWQ (only new), CwMe0wyknZCYGKP3J (20 s timeout), D6SdVWxXe8UbSwyTI (residential proxy).

Support

Open an issue on the actor's Issues tab with the run id.