IndiaMART Suppliers Scraper - Companies, Phones, GST & Ratings avatar

IndiaMART Suppliers Scraper - Companies, Phones, GST & Ratings

Pricing

Pay per event

Go to Apify Store
IndiaMART Suppliers Scraper - Companies, Phones, GST & Ratings

IndiaMART Suppliers Scraper - Companies, Phones, GST & Ratings

Scrape IndiaMART suppliers across 1000+ categories. Get company name, phone, city, GST verified, ratings, prices, product specs. HTTP only, $5/1K suppliers.

Pricing

Pay per event

Rating

0.0

(0)

Developer

deusex machine

deusex machine

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

10 hours ago

Last modified

Share

IndiaMART Suppliers Scraper — Companies, Phones, GST & Verified Ratings

Scrape IndiaMART — the largest B2B marketplace in India with over 8 million suppliers across 50+ industries — and extract complete company profiles, contact phone numbers, GST verification status, seller ratings, prices and structured product specifications. HTTP-only, no browser, no proxy needed, $5 per 1,000 suppliers.

If you import from Asia, manage a procurement pipeline, sell B2B SaaS into India, or run sourcing research for textiles, electronics, chemicals, machinery, or apparel, this IndiaMART scraper turns the world's biggest Indian supplier directory into a clean structured feed you can query, filter and enrich in seconds.

Why use this IndiaMART scraper

IndiaMART's web pages look simple but the data is locked inside a hidden React state blob (window.__INITIAL_STATE__) that's hydrated client-side. Most of the IndiaMART scrapers floating around the Apify Store and on GitHub still parse the rendered HTML with regex against class names like .companyname or .glcompid — selectors that broke in the 2024 redesign. They return mostly empty cards.

This actor reads the canonical JSON state that IndiaMART itself ships with every listing page. That means:

  • Resilient to UI redesigns — when IndiaMART changes class names, this scraper keeps working because the JSON keys are stable
  • Complete fields — phone, GST verification, email verification, mobile verification, rating breakdown — every datapoint IndiaMART internally has
  • Structured specifications — product attributes come back as [{name, value}] pairs, not HTML soup
  • Fast — typically 6–10 suppliers per second per worker, no browser overhead
  • Cheap — $0.005 per supplier ($5 per 1,000), one of the lowest prices among B2B sourcing scrapers in the Apify Store

What this IndiaMART scraper extracts

Every supplier record contains the following fields. Premium-listing suppliers (PLA — Premium Listing Ads) carry the most verification flags; regular listings carry the call-tracking phone number.

Identity & contact

FieldDescriptionExample
supplierIdIndiaMART internal supplier ID (GLUSR_ID for premium, gl_id for regular)235910679
companyNameRegistered business name as shown on IndiaMARTAvika Textiles
companyUrlCanonical IndiaMART profile URLhttps://www.indiamart.com/avika-textiles-india/
phoneIndiaMART call-tracking phone (forwards to the real supplier)7942671986
cityCity where the supplier is registeredBhiwandi
stateIndian stateMaharashtra
countryAlways "India" in current datasetIndia

Verification flags

FieldDescriptionWhen populated
gstVerifiedTrue if the supplier's GST number is verified by IndiaMARTAll listings
gstNumberThe GST registration number itself (when shared by the supplier)Regular listings (more frequent)
emailVerifiedTrue if IndiaMART verified the seller's emailPremium listings
mobileVerifiedTrue if IndiaMART verified the seller's primary mobile numberPremium listings
isPremiumTrue if the supplier is paying for Premium Listing Ad placementBoth

Reputation

FieldDescriptionExample
ratingAverage star rating (1.0–5.0)4.6
ratingCountTotal number of reviews/transactions used to compute the rating31
ratingBreakdownStar-by-star count breakdown (premium only){5: 12, 4: 5, 3: 1, 2: 0, 1: 0}

Category context

FieldDescriptionExample
categoryNameHuman-readable categoryCotton Fabric
categorySlugURL-safe slug for the same categorycotton-fabric
sourceUrlThe exact URL the data was extracted fromhttps://dir.indiamart.com/impcat/cotton-fabric.html?page=3
scrapedAtISO 8601 UTC timestamp of extraction2026-05-18T20:14:33+00:00

Each supplier is associated with one featured product on the listing page. Set includeMoreProducts: true to also extract the supplier's other 5–6 sibling products as separate records.

FieldDescriptionExample
product.nameShort product nameGerman Cotton Zari fabric
product.displayNameFull display name with key specGerman Cotton Zari fabric, 60x60, GSM (Fabric Weight): 180 GSM
product.priceHuman-readable price₹ 140 / Meter
product.priceNumericNumeric price for sorting/filtering140.0
product.currencyISO currency codeINR
product.unitUnit of measurementMeter, Piece, Set, Kg
product.minOrderQuantityMOQ when supplier set one100
product.imageHigh-resolution product image (typically 500×500 or 1000×1000)https://5.imimg.com/data5/...
product.productUrlDeep link to the product detail pagehttps://www.indiamart.com/proddetail/...
product.specificationsArray of {name, value} pairs from the supplier's "Industry Spec Questions"[{name: "Width", value: "44 inches"}, {name: "Composition", value: "100% Cotton"}]

Use cases for this IndiaMART data API

🏭 Sourcing for importers (US, EU, LATAM)

Indian suppliers are the dominant alternative to China for textiles, leather, hardware, chemicals, generic pharma APIs, surgical instruments, brassware, jewellery, ayurvedic herbs and engineered components. With one run you can pull 500–1000 vetted suppliers per category, filter by GST verified, and prioritize the ones with high ratingCount for first contact.

Typical workflow:

  1. Identify your target HS code or product category (e.g. "carved leather wallets").
  2. Run this scraper with categorySlugs: ["leather-wallets"] and maxSuppliersPerCategory: 200.
  3. Pipe the output to the Email Finder Scraper using each companyUrl domain to find verified buyer-facing emails.
  4. Score and prioritize by rating × ratingCount × min(mobileVerified, emailVerified, gstVerified).

💼 B2B sales prospecting for SaaS and services

Indian factories and distributors are buying ERP, CRM, logistics software, payment rails and HRMS at unprecedented rates. Build a target list of mid-market suppliers (high rating count + verified flags = "real business") for outbound by your SDRs.

Filter recipe:

  • gstVerified: true AND emailVerified: true AND mobileVerified: true → premium qualified.
  • Sort by ratingCount DESC to start with the most established companies.
  • Group by state to assign to regional reps.

🛒 Procurement & RFQ teams

Build a vendor universe before issuing a Request For Quotation. Knowing 200 verified candidates beats negotiating with 5 randomly Googled ones.

For each candidate:

  • phone gives you a call-tracking number you can dial without registering.
  • product.minOrderQuantity and product.priceNumeric tell you whether the vendor will accept your order size and ballpark price.
  • product.specifications tells you whether they make exactly the variant you need (width, composition, finish, certification).

📊 Market intelligence & competitive analysis

Track price ranges, geographic concentration and dominant suppliers per category over time. Schedule this actor to run daily and store snapshots in your data warehouse.

Metrics you can derive:

  • Median price by city — is Tiruppur cheaper than Surat for cotton fabric?
  • Supply density — how many GST-verified suppliers exist for "industrial valves" in Pune?
  • Rating distribution — which categories have the most 4.5★+ vendors?

🔎 Due diligence & M&A

When evaluating an Indian B2B target, knowing its entire competitive set on IndiaMART is table stakes. Pull every supplier listed under the same category and benchmark by ratings, MOQs and price points.

📰 Trade journalism & research

Inc42, YourStory, Forbes India and academic researchers regularly need raw counts of Indian suppliers per sector for articles, reports and white papers. This actor delivers a clean structured CSV/JSON in seconds.

How to use this IndiaMART scraper

The actor supports three input modes. You can combine them in a single run.

Provide one or more IndiaMART category slugs. Each category page renders ~34 unique suppliers; the actor paginates up to 30 pages, returning up to ~1,000 unique suppliers per category.

{
"categorySlugs": ["cotton-fabric", "leather-bags", "led-lights"],
"maxSuppliersPerCategory": 200,
"maxTotalSuppliers": 1000,
"includeMoreProducts": false
}

How to find a category slug: browse https://dir.indiamart.com/, navigate to any category, and copy the part of the URL between /impcat/ and .html. For example, https://dir.indiamart.com/impcat/industrial-valves.html → slug is industrial-valves.

Mode 2: Search keyword mode

Pass free-text keywords as you would type them into IndiaMART's search bar. The actor falls back to category lookup for keywords that match an IndiaMART canonical category.

{
"searchKeywords": ["cotton fabric mumbai", "industrial fans 24v", "carved leather wallet"],
"maxSuppliersPerCategory": 50
}

Mode 3: Direct supplier URL mode (best-effort, v1)

Pass full IndiaMART supplier profile URLs to capture a single supplier record. In v1 this returns the company name, profile URL and OG image from the profile page. The profile-page rate limiter on www.indiamart.com can return HTTP 429 from cloud IPs, so use this mode sparingly.

{
"supplierUrls": [
"https://www.indiamart.com/avika-textiles-india/",
"https://www.indiamart.com/srexports-jaipur/"
]
}

includeMoreProducts flag

Each supplier listing on the category page exposes 5–6 sibling products in a more_prod array. Enable this flag to extract each sibling as a separate record. Expect the dataset volume to grow 5–6× per supplier. Useful when you need every SKU, not just the featured one.

Step-by-step tutorial — your first IndiaMART run in 3 minutes

  1. Click "Try for free" on this actor's Apify Store page. You'll get $5 of free credit on signup, enough to scrape ~1,000 suppliers for free.
  2. Paste the example input below or edit it for your target category:
    {
    "categorySlugs": ["cotton-fabric"],
    "maxSuppliersPerCategory": 50,
    "maxTotalSuppliers": 50
    }
  3. Click "Start". The actor pages through the category and pushes one record per supplier.
  4. Watch the live log — you'll see lines like page 1: +34 suppliers (running: 34, available: 180994).
  5. Download your dataset as JSON, CSV, Excel or HTML once the run finishes (typically 30–60 seconds for 50 suppliers).

That's it. No proxy configuration, no anti-bot bypass, no manual login.

Performance and cost

  • HTTP only (no Playwright, no proxy required). Powered by curl_cffi Chrome 120 impersonate.
  • 6–10 suppliers per second sustained on a single worker.
  • No anti-bot resistance encountered on category and search pages as of the latest tests — IndiaMART renders the supplier data in window.__INITIAL_STATE__ and serves it identically to bots and humans on those endpoints.
  • Memory footprint: 256 MB is sufficient.
  • Apify compute cost: trivial (well under $0.001 per run thanks to HTTP-only).

Pricing model

Pay-per-event, no monthly commitment, no subscription:

EventPrice
Actor start$0.00005
Each supplier extracted$0.005

Pricing scenarios

WorkloadSuppliers extractedCost
Try the actor (1 small category)50$0.25
One Apify free-tier $5 credit~1,000$5.00
Full vendor map of one industry vertical (10 categories × 200 each)2,000$10.00
Pan-India sourcing snapshot (50 categories × 200 each)10,000$50.00
Monthly refresh of the entire textile sector30,000$150.00

You only pay for unique suppliers added to your dataset. Failed runs and skipped duplicates are not charged.

Output example (single supplier, JSON)

{
"supplierId": 235910679,
"companyName": "Avika Textiles",
"companyUrl": "https://www.indiamart.com/avika-textiles-india/",
"phone": "7942671986",
"city": "Bhiwandi",
"state": "Maharashtra",
"country": "India",
"rating": 4.5,
"ratingCount": 21,
"ratingBreakdown": {"5": 12, "4": 5, "3": 3, "2": 1, "1": 0},
"gstVerified": true,
"gstNumber": "27AAACR1234E1Z5",
"emailVerified": true,
"mobileVerified": true,
"isPremium": true,
"categoryName": "Cotton Fabric",
"categorySlug": "cotton-fabric",
"product": {
"name": "German Cotton Zari fabric",
"displayName": "German Cotton Zari fabric, 60x60, GSM (Fabric Weight): 180 GSM",
"price": "₹ 140 / Meter",
"priceNumeric": 140.0,
"currency": "INR",
"unit": "Meter",
"minOrderQuantity": "100",
"image": "https://5.imimg.com/data5/SELLER/Default/2026/4/602976390/.../german-cotton-zari-fabric-500x500.jpg",
"productUrl": "https://www.indiamart.com/proddetail/german-cotton-zari-fabric-2859158899391.html",
"specifications": [
{"name": "Composition", "value": "100% Cotton"},
{"name": "Width", "value": "44 inch (112 cm)"},
{"name": "Pattern", "value": "Printed"},
{"name": "GSM (Fabric Weight)", "value": "180 GSM"},
{"name": "Print Technique", "value": "Screen Print"},
{"name": "Use / Application", "value": "Shirting"},
{"name": "Color", "value": "White"}
]
},
"sourceUrl": "https://dir.indiamart.com/impcat/cotton-fabric.html",
"scrapedAt": "2026-05-18T20:14:33+00:00"
}

IndiaMART scraper comparison — how this compares to other options

ApproachProsCons
This actorFull structured fields, GST + email + mobile verification flags, $5/1K, no proxy, fastIndia only, no LinkedIn-style company graph
Other Apify IndiaMART scrapersExisted firstMost still parse the pre-2024 HTML and return mostly empty cards
Manual browsingFreeTens of hours per category, no structured output
Hiring a freelancer to scrapeCustom outputSlow turnaround, brittle to redesigns, $300–$1,000 one-off
Alibaba / Made-in-China scrapersCoverage of Chinese suppliersAggressive anti-bot, expensive, no India coverage
BuiltWith / ZoomInfo for IndiaCurated firmographics$$$$, weak India coverage, no MOQ or price data
IndiaMART's own export toolNativeRequires a paid buyer account, manual category-by-category export, capped per day

How to call this IndiaMART scraper from your code

Python (via Apify Client)

from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("makework36/indiamart-suppliers-scraper").call(run_input={
"categorySlugs": ["cotton-fabric", "industrial-valves"],
"maxSuppliersPerCategory": 100,
"maxTotalSuppliers": 500,
})
for supplier in client.dataset(run["defaultDatasetId"]).iterate_items():
print(supplier["companyName"], supplier["phone"], supplier["rating"])

Node.js (via Apify Client)

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('makework36/indiamart-suppliers-scraper').call({
categorySlugs: ['cotton-fabric'],
maxSuppliersPerCategory: 100,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach(s => console.log(s.companyName, s.phone, s.product.price));

cURL (synchronous run)

curl -X POST "https://api.apify.com/v2/acts/makework36~indiamart-suppliers-scraper/run-sync-get-dataset-items?token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"categorySlugs":["cotton-fabric"],"maxSuppliersPerCategory":20}'

Frequently Asked Questions about scraping IndiaMART

This actor extracts information that IndiaMART itself renders publicly to every visitor on its category and listing pages. It does not bypass authentication, does not extract data from gated buyer-only screens, and does not extract personally identifiable information beyond what suppliers voluntarily publish on their business profile. You are still responsible for how you store, transform and redistribute the data. Respect applicable data protection regulation (DPDP Act 2023 in India, GDPR for EU subjects).

Why doesn't every supplier have a phone number?

IndiaMART shows a call-tracking number for regular listings (c_ct in the source JSON, mapped to phone). Premium listings (PLA) display contact details through a click-to-reveal flow that is not part of the rendered JSON state, so phone is null for premium suppliers. To enrich premium suppliers, use the Email Finder Scraper against the companyUrl domain.

How current is the data?

Live — each run pulls the JSON state IndiaMART is serving at request time. There is no internal cache.

How many suppliers exist per category?

It varies enormously. Cotton Fabric has 180,994 listings. A niche category like "industrial-sapphire-bearings" may have just 150. Use a small first run with maxSuppliersPerCategory: 10 to gauge size before scaling up.

Can I scrape IndiaMART searches with location filters?

Yes — IndiaMART encodes location into the slug, e.g. cotton-fabric-mumbai, industrial-valves-pune. Pass these as categorySlugs and the actor will scrape only the suppliers in that city.

What's the difference between "premium" and "regular" suppliers?

Premium suppliers (PLA — Premium Listing Ads) pay IndiaMART for top-of-page placement. They typically carry the full verification stack (GST + email + mobile) and higher-resolution imagery. Regular suppliers are organic listings; they always carry a call-tracking phone number and GST status.

Does this scraper respect IndiaMART's robots.txt?

The endpoints used (/impcat/*.html) are not disallowed in IndiaMART's robots.txt as of the current release. Always re-check before large runs.

Will my IP get banned?

Not from category pages. The category endpoints have proven rate-limit-tolerant under sustained polite traffic (the actor inserts a 400ms delay between paginated requests). The www.indiamart.com profile endpoint used by supplierUrls mode has stricter rate limits — that's why supplierUrls is documented as best-effort in v1.

Can I run this actor on a schedule?

Yes. Use Apify's built-in scheduler to run daily, weekly or monthly snapshots. Combine with Apify integrations to push the dataset directly into Google Sheets, S3, Postgres, BigQuery, Snowflake, Webhook or Slack on every successful run.

How do I get verified emails for the suppliers I extract?

Pipe the companyUrl field into the Email Finder Scraper. It uses the company domain plus inferred name patterns to surface verified business emails. Combo recipe in the cross-link section below.

What if a category page returns zero suppliers?

That usually means the slug is wrong. IndiaMART slugs are case-sensitive, kebab-case, and never include the trailing -cat.NNN numeric suffix. Confirm by browsing to https://dir.indiamart.com/impcat/{your-slug}.html in a browser.

Can I scrape suppliers outside India?

This scraper covers dir.indiamart.com which is India-focused. IndiaMART's global directories (tradeindia, exportersindia) are separate platforms and not currently supported. For other Asian B2B directories, watch this developer profile for upcoming actors.

Does the actor extract supplier reviews/testimonials?

The summary numbers (rating, ratingCount, ratingBreakdown) come from the listing page. Full review text and reviewer identities live on the supplier profile page and are not part of the v1 output.

How do I export the data to Google Sheets / Excel / BigQuery?

Use Apify's integrations panel after the run completes, or call the dataset items endpoint with ?format=csv, ?format=xlsx, ?format=html or ?format=json.

Is there a free trial?

Yes. Apify gives every new user $5 in platform credit, which is enough to extract ~1,000 IndiaMART suppliers with this actor.

Can I use this for academic research?

Yes. Many universities use Apify scrapers for thesis and research projects under their fair-use policy. Cite the actor URL in your bibliography.

🔗 Other actors by makework36

Building a B2B sourcing or lead generation pipeline? You'll also want these:

See all actors by makework36 on the Apify Store.

Roadmap

The current v1 release covers category mode at 100% reliability, search-keyword mode via category-slug fallback, and best-effort supplier-URL mode. Upcoming planned enhancements based on user feedback:

  • v1.1: profile-page rate-limit bypass via datacenter proxy → full supplier profile extraction (description, complete product catalogue, certifications, year of incorporation, employee count).
  • v1.2: GeoFilter input field for fast per-city slug expansion.
  • v1.3: structured CSV export with one row per product (instead of one row per supplier).
  • v2: review text extraction from supplier profile pages.

Disclaimer

This actor extracts public business data that IndiaMART itself renders to every visitor of its category and listing pages. You are solely responsible for how you use the extracted data — respect copyright, trademark, supplier privacy and applicable data protection regulation (DPDP Act 2023 in India, GDPR for EU subjects, CCPA for California subjects) when storing, transforming, or redistributing. The author of this actor is not affiliated with IndiaMART Intermesh Ltd.

🙏 Ran this IndiaMART scraper successfully? Leaving a review helps the Apify algorithm surface this actor to other sourcing teams and importers. Much appreciated.