IndiaMART Suppliers Scraper - Companies, Phones, GST & Ratings
Pricing
Pay per event
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
10 hours ago
Last modified
Categories
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
| Field | Description | Example |
|---|---|---|
supplierId | IndiaMART internal supplier ID (GLUSR_ID for premium, gl_id for regular) | 235910679 |
companyName | Registered business name as shown on IndiaMART | Avika Textiles |
companyUrl | Canonical IndiaMART profile URL | https://www.indiamart.com/avika-textiles-india/ |
phone | IndiaMART call-tracking phone (forwards to the real supplier) | 7942671986 |
city | City where the supplier is registered | Bhiwandi |
state | Indian state | Maharashtra |
country | Always "India" in current dataset | India |
Verification flags
| Field | Description | When populated |
|---|---|---|
gstVerified | True if the supplier's GST number is verified by IndiaMART | All listings |
gstNumber | The GST registration number itself (when shared by the supplier) | Regular listings (more frequent) |
emailVerified | True if IndiaMART verified the seller's email | Premium listings |
mobileVerified | True if IndiaMART verified the seller's primary mobile number | Premium listings |
isPremium | True if the supplier is paying for Premium Listing Ad placement | Both |
Reputation
| Field | Description | Example |
|---|---|---|
rating | Average star rating (1.0–5.0) | 4.6 |
ratingCount | Total number of reviews/transactions used to compute the rating | 31 |
ratingBreakdown | Star-by-star count breakdown (premium only) | {5: 12, 4: 5, 3: 1, 2: 0, 1: 0} |
Category context
| Field | Description | Example |
|---|---|---|
categoryName | Human-readable category | Cotton Fabric |
categorySlug | URL-safe slug for the same category | cotton-fabric |
sourceUrl | The exact URL the data was extracted from | https://dir.indiamart.com/impcat/cotton-fabric.html?page=3 |
scrapedAt | ISO 8601 UTC timestamp of extraction | 2026-05-18T20:14:33+00:00 |
Featured product (per supplier)
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.
| Field | Description | Example |
|---|---|---|
product.name | Short product name | German Cotton Zari fabric |
product.displayName | Full display name with key spec | German Cotton Zari fabric, 60x60, GSM (Fabric Weight): 180 GSM |
product.price | Human-readable price | ₹ 140 / Meter |
product.priceNumeric | Numeric price for sorting/filtering | 140.0 |
product.currency | ISO currency code | INR |
product.unit | Unit of measurement | Meter, Piece, Set, Kg |
product.minOrderQuantity | MOQ when supplier set one | 100 |
product.image | High-resolution product image (typically 500×500 or 1000×1000) | https://5.imimg.com/data5/... |
product.productUrl | Deep link to the product detail page | https://www.indiamart.com/proddetail/... |
product.specifications | Array 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:
- Identify your target HS code or product category (e.g. "carved leather wallets").
- Run this scraper with
categorySlugs: ["leather-wallets"]andmaxSuppliersPerCategory: 200. - Pipe the output to the Email Finder Scraper using each
companyUrldomain to find verified buyer-facing emails. - 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: trueANDemailVerified: trueANDmobileVerified: true→ premium qualified.- Sort by
ratingCount DESCto start with the most established companies. - Group by
stateto 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:
phonegives you a call-tracking number you can dial without registering.product.minOrderQuantityandproduct.priceNumerictell you whether the vendor will accept your order size and ballpark price.product.specificationstells 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.
Mode 1: Category mode (most accurate, recommended)
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
- 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.
- Paste the example input below or edit it for your target category:
{"categorySlugs": ["cotton-fabric"],"maxSuppliersPerCategory": 50,"maxTotalSuppliers": 50}
- Click "Start". The actor pages through the category and pushes one record per supplier.
- Watch the live log — you'll see lines like
page 1: +34 suppliers (running: 34, available: 180994). - 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_cffiChrome 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:
| Event | Price |
|---|---|
| Actor start | $0.00005 |
| Each supplier extracted | $0.005 |
Pricing scenarios
| Workload | Suppliers extracted | Cost |
|---|---|---|
| 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 sector | 30,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
| Approach | Pros | Cons |
|---|---|---|
| This actor | Full structured fields, GST + email + mobile verification flags, $5/1K, no proxy, fast | India only, no LinkedIn-style company graph |
| Other Apify IndiaMART scrapers | Existed first | Most still parse the pre-2024 HTML and return mostly empty cards |
| Manual browsing | Free | Tens of hours per category, no structured output |
| Hiring a freelancer to scrape | Custom output | Slow turnaround, brittle to redesigns, $300–$1,000 one-off |
| Alibaba / Made-in-China scrapers | Coverage of Chinese suppliers | Aggressive anti-bot, expensive, no India coverage |
| BuiltWith / ZoomInfo for India | Curated firmographics | $$$$, weak India coverage, no MOQ or price data |
| IndiaMART's own export tool | Native | Requires 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 ApifyClientclient = 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
Is scraping IndiaMART legal?
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:
- Shopify Products Scraper — full Shopify catalog: title, SKU, price, variants, inventory
- Email Finder Scraper — verified business emails by company domain (perfect combo with this IndiaMART scraper)
- Reddit SaaS Leads Scraper — startup pain points and buying intent on Reddit
- Lovable Sites Scraper — enumerate and enrich AI-builder apps
- Facebook Ad Library Scraper — competitor ad intelligence at scale
- Trustpilot Reviews Scraper — customer reviews and ratings
- Google Maps Scraper Full — local businesses with emails and phones
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.