IndiaMART B2B Product Listings by City & State
Search IndiaMART's product listings by keyword, optionally narrowed to an Indian state or city, with price, MOQ, supplier name/location, rating, and response rate per listing.
Input schema
Input fields, types, required flags, descriptions, defaults, and prefills come from the published definition. Prefill examples are distinct from defaults.
| Field | Type | Required | Description |
|---|---|---|---|
mode | string | required | Choose what to collect from IndiaMART. |
keyword | string | optional | Product or material keyword, e.g. 'cotton fabric', 'industrial pump', 'basmati rice'. Required for mode=searchProducts. |
category | string | optional | IndiaMART category slug or category URL, e.g. 'cotton-fabric' or 'https://dir.indiamart.com/impcat/cotton-fabric.html'. Required for mode=browseCategory. |
Show all input fields
| Field | Type | Required | Description |
|---|---|---|---|
mode | string | required | Choose what to collect from IndiaMART. |
keyword | string | optional | Product or material keyword, e.g. 'cotton fabric', 'industrial pump', 'basmati rice'. Required for mode=searchProducts. |
category | string | optional | IndiaMART category slug or category URL, e.g. 'cotton-fabric' or 'https://dir.indiamart.com/impcat/cotton-fabric.html'. Required for mode=browseCategory. |
city | string | optional | Keep only suppliers in this Indian city, e.g. 'Surat', 'Mumbai', 'Jaipur'. Works with searchProducts and browseCategory. |
state | string | optional | Keep only suppliers in this Indian state or union territory. Leave empty for all of India. |
productUrls | array | optional | IndiaMART product URLs or numeric product IDs. Used only for mode=productDetails. |
supplierUrls | array | optional | IndiaMART supplier profile URLs, company IDs, or company aliases. Used only for mode=supplierProfile. |
maxItems | integer | optional | Maximum number of records to return across all keywords and inputs. |
expandRelatedCategories | boolean | optional | When a keyword or category has too few listings, also collect IndiaMART's related product categories. Results are de-duplicated. |
enrichWithProductDetails | boolean | optional | Open each product page to add description, full specifications, MOQ, contact number, GST, IEC and company details. Adds one request per product. |
minPrice | integer | optional | Drop listings priced below this amount. Use 0 for no minimum. |
maxPrice | integer | optional | Drop listings priced above this amount. Use 0 for no maximum. |
minRating | number | optional | Drop suppliers rated below this star rating (0 to 5). Use 0 for no minimum. |
verifiedSuppliersOnly | boolean | optional | Keep only suppliers with an IndiaMART verification signal such as TrustSEAL, verified exporter or verified GST. |
Download the published input schema
View complete JSON
{
"description": "Search IndiaMART products, browse a category, or look up public product and supplier pages. Filter by Indian city or state.",
"properties": {
"category": {
"default": "",
"description": "IndiaMART category slug or category URL, e.g. 'cotton-fabric' or 'https://dir.indiamart.com/impcat/cotton-fabric.html'. Required for mode=browseCategory.",
"editor": "textfield",
"prefill": "",
"title": "Category slug or URL",
"type": "string"
},
"city": {
"default": "",
"description": "Keep only suppliers in this Indian city, e.g. 'Surat', 'Mumbai', 'Jaipur'. Works with searchProducts and browseCategory.",
"editor": "textfield",
"prefill": "",
"title": "City",
"type": "string"
},
"enrichWithProductDetails": {
"default": false,
"description": "Open each product page to add description, full specifications, MOQ, contact number, GST, IEC and company details. Adds one request per product.",
"prefill": false,
"title": "Enrich products with detail pages",
"type": "boolean"
},
"expandRelatedCategories": {
"default": true,
"description": "When a keyword or category has too few listings, also collect IndiaMART's related product categories. Results are de-duplicated.",
"prefill": false,
"title": "Expand into related categories",
"type": "boolean"
},
"keyword": {
"default": "cotton fabric",
"description": "Product or material keyword, e.g. 'cotton fabric', 'industrial pump', 'basmati rice'. Required for mode=searchProducts.",
"editor": "textfield",
"prefill": "cotton fabric",
"title": "Search keyword",
"type": "string"
},
"maxItems": {
"default": 20,
"description": "Maximum number of records to return across all keywords and inputs.",
"maximum": 1000,
"minimum": 1,
"prefill": 3,
"title": "Maximum records",
"type": "integer"
},
"maxPrice": {
"default": 0,
"description": "Drop listings priced above this amount. Use 0 for no maximum.",
"maximum": 100000000,
"minimum": 0,
"prefill": 0,
"title": "Maximum price (INR)",
"type": "integer"
},
"minPrice": {
"default": 0,
"description": "Drop listings priced below this amount. Use 0 for no minimum.",
"maximum": 100000000,
"minimum": 0,
"prefill": 0,
"title": "Minimum price (INR)",
"type": "integer"
},
"minRating": {
"default": 0,
"description": "Drop suppliers rated below this star rating (0 to 5). Use 0 for no minimum.",
"maximum": 5,
"minimum": 0,
"prefill": 0,
"title": "Minimum supplier rating",
"type": "number"
},
"mode": {
"default": "searchProducts",
"description": "Choose what to collect from IndiaMART.",
"editor": "select",
"enum": [
"searchProducts",
"browseCategory",
"productDetails",
"supplierProfile",
"categoryBrowse",
"searchSuppliers"
],
"enumTitles": [
"Search products by keyword",
"Browse a product category",
"Look up product URLs or IDs",
"Look up supplier profiles",
"Browse a category (legacy name)",
"Search products by keyword (legacy name)"
],
"prefill": "searchProducts",
"title": "Mode",
"type": "string"
},
"productUrls": {
"default": [],
"description": "IndiaMART product URLs or numeric product IDs. Used only for mode=productDetails.",
"editor": "stringList",
"items": {
"type": "string"
},
"prefill": [],
"title": "Product URLs or IDs",
"type": "array"
},
"state": {
"default": "",
"description": "Keep only suppliers in this Indian state or union territory. Leave empty for all of India.",
"editor": "select",
"enum": [
"",
"Andhra Pradesh",
"Arunachal Pradesh",
"Assam",
"Bihar",
"Chhattisgarh",
"Goa",
"Gujarat",
"Haryana",
"Himachal Pradesh",
"Jharkhand",
"Karnataka",
"Kerala",
"Madhya Pradesh",
"Maharashtra",
"Manipur",
"Meghalaya",
"Mizoram",
"Nagaland",
"Odisha",
"Punjab",
"Rajasthan",
"Sikkim",
"Tamil Nadu",
"Telangana",
"Tripura",
"Uttar Pradesh",
"Uttarakhand",
"West Bengal",
"Andaman and Nicobar Islands",
"Chandigarh",
"Dadra and Nagar Haveli and Daman and Diu",
"Delhi",
"Jammu and Kashmir",
"Ladakh",
"Lakshadweep",
"Puducherry"
],
"enumTitles": [
"All states and union territories",
"Andhra Pradesh",
"Arunachal Pradesh",
"Assam",
"Bihar",
"Chhattisgarh",
"Goa",
"Gujarat",
"Haryana",
"Himachal Pradesh",
"Jharkhand",
"Karnataka",
"Kerala",
"Madhya Pradesh",
"Maharashtra",
"Manipur",
"Meghalaya",
"Mizoram",
"Nagaland",
"Odisha",
"Punjab",
"Rajasthan",
"Sikkim",
"Tamil Nadu",
"Telangana",
"Tripura",
"Uttar Pradesh",
"Uttarakhand",
"West Bengal",
"Andaman and Nicobar Islands",
"Chandigarh",
"Dadra and Nagar Haveli and Daman and Diu",
"Delhi",
"Jammu and Kashmir",
"Ladakh",
"Lakshadweep",
"Puducherry"
],
"prefill": "",
"title": "State or union territory",
"type": "string"
},
"supplierUrls": {
"default": [],
"description": "IndiaMART supplier profile URLs, company IDs, or company aliases. Used only for mode=supplierProfile.",
"editor": "stringList",
"items": {
"type": "string"
},
"prefill": [],
"title": "Supplier URLs or company IDs",
"type": "array"
},
"verifiedSuppliersOnly": {
"default": false,
"description": "Keep only suppliers with an IndiaMART verification signal such as TrustSEAL, verified exporter or verified GST.",
"prefill": false,
"title": "Verified suppliers only",
"type": "boolean"
}
},
"required": [
"mode"
],
"schemaVersion": 1,
"title": "IndiaMART B2B Product & Supplier Scraper Input",
"type": "object"
}
Output schema
Published result links and storage locations. This schema is not an exhaustive contract for every field in a dataset record.
| Field | Type | Required | Description |
|---|---|---|---|
results | string | optional | Dataset containing all scraped IndiaMART product and supplier records. |
Download the published output schema
View complete JSON
{
"actorOutputSchemaVersion": 1,
"description": "Dataset of IndiaMART product listings and supplier profiles with price, MOQ, specifications, images, location, rating, response rate, and verified company details where IndiaMART publishes them.",
"properties": {
"results": {
"description": "Dataset containing all scraped IndiaMART product and supplier records.",
"template": "{{links.apiDefaultDatasetUrl}}/items",
"title": "IndiaMART results",
"type": "string"
}
},
"title": "IndiaMART B2B Product & Supplier Output"
}
Dataset schema
Published dataset views and any declared field definitions. A view can select only a subset of the returned record fields.
Download the published dataset schema
View complete JSON
{
"actorSpecification": 1,
"views": {
"overview": {
"display": {
"component": "table",
"properties": {}
},
"title": "IndiaMART Results",
"transformation": {
"fields": [
"title",
"price",
"minOrder",
"supplier",
"supplierCity",
"supplierState",
"rating",
"responseRate",
"productUrl",
"supplierUrl",
"gstNumber",
"verifiedExporter"
]
}
}
}
}
Key-value schema
Published key-value store definitions, when provided by this build.
This definition is not present in the default published build. See the published README for available documentation.
Published README
Read the full published documentation
IndiaMART B2B Product Listings by City & State
Scrape IndiaMART, India's largest B2B marketplace, for products and suppliers by keyword or category. Narrow results to an Indian city or state, or look up public product and supplier pages directly. Get prices, minimum order quantities, specifications, images, supplier location, ratings, response rates, and verified company details where IndiaMART publishes them.
What this actor does
- Four modes:
searchProducts,browseCategory,productDetails,supplierProfile(legacycategoryBrowseandsearchSuppliersvalues are accepted) - Location filters: city and state/union-territory narrowing for keyword and category searches
- Commercial filters: minimum/maximum price, minimum supplier rating, verified suppliers only
- Product enrichment: optional detail-page pass for description, full specifications, MOQ, contact number, GST, IEC and company background
- Supplier records: company name, profile URL, city/state, address, rating, response rate, GST, IEC, exports, employees, legal status, payment and shipment modes
- Deeper coverage: category pages are paginated and expanded through related categories and city routes when a request needs more rows
- Empty fields are omitted — no nulls, blanks or placeholder strings in the dataset
Output per product
productId— IndiaMART product identifiertitle— product nameprice— normalised price string, e.g.INR 70/MeterpriceValue,priceCurrency,priceUnit,priceText— numeric price, currency, unit and the original displayed textminOrder— minimum order quantity with unitmoqValue,moqUnit— numeric MOQ and its unitsupplier— company namesupplierId,supplierUrl— IndiaMART company ID and profile URLsupplierWebsite— the supplier's own website when IndiaMART publishes a real external URL (IndiaMART-hosted alias URLs are omitted)supplierCity,supplierState— supplier locationsupplierAddress,supplierPincode— address details when publishedsupplierRating,rating,reviewCount— star rating and number of ratingsresponseRate— supplier's call response ratephone— IndiaMART's public call-routing numbergstNumber,iecNumber— GSTIN and Import-Export Code when publishedgstVerified,verifiedExporter,badge— verification and trust signalsmemberSince,yearEstablished,employees,natureOfBusiness,legalStatus,ceo— company backgroundexportsTo,gstTurnover,gstRegistrationDate— export and GST detailscategory,categoryId— IndiaMART categoryspecifications— product attributes as key/value pairsdescription— product description when the detail-page enrichment is enabledimageUrl,images— main image and additional product imagescatalogueUrl— product brochure or catalogue PDF when publishedsearchQuery— keyword that produced the recorddeliveryAvailable,industryLeader,supplierAlias— additional listing signalsrecordType: "product",scrapedAt— record type and UTC collection time
Output per supplier
supplierId,supplier,supplierUrl— company identity and profilesupplierCity,supplierState,supplierAddress,supplierPincode— locationsupplierWebsite— the supplier's own website when IndiaMART publishes a real external URL (IndiaMART-hosted alias URLs are omitted)supplierRating,rating,reviewCount,responseRate— reputation signalsphone— IndiaMART's public call-routing number when publishedgstNumber,gstRegistrationDate,iecNumber,gstVerified,verifiedExporter,badge— statutory and verification detailsmemberSince,yearEstablished,employees,natureOfBusiness,legalStatus,ceo— company backgroundadditionalBusiness,exportsTo,exportPercentage— trade profilebanker,paymentModes,shipmentModes— commercial terms when publishedproducts,productCount— product range found on the profilesearchQuery— keyword that produced the record, when applicablerecordType: "supplier",scrapedAt— record type and UTC collection time
Input
| Field | Type | Default | Description |
|---|---|---|---|
mode |
string | searchProducts |
searchProducts / browseCategory / productDetails / supplierProfile (legacy categoryBrowse and searchSuppliers values are mapped) |
keyword |
string | cotton fabric |
Product or material keyword (mode=searchProducts) |
category |
string | – | Category slug or URL, e.g. cotton-fabric (mode=browseCategory) |
city |
string | – | Indian city, e.g. Surat, Mumbai, Jaipur |
state |
string | – | Indian state or union territory |
productUrls |
array | – | Product URLs or numeric IDs (mode=productDetails) |
supplierUrls |
array | – | Supplier URLs, company IDs or aliases (mode=supplierProfile) |
maxItems |
integer | 20 |
Maximum records across all inputs (1–1000) |
expandRelatedCategories |
boolean | true |
Collect related categories when a keyword or category has too few listings |
enrichWithProductDetails |
boolean | false |
Open each product page for description, full specs, MOQ, contact, GST and IEC |
minPrice |
integer | 0 |
Drop listings below this INR price; 0 means no minimum |
maxPrice |
integer | 0 |
Drop listings above this INR price; 0 means no maximum |
minRating |
number | 0 |
Drop suppliers below this star rating (0–5) |
verifiedSuppliersOnly |
boolean | false |
Keep only TrustSEAL, verified-exporter or GST-verified suppliers |
Example: keyword search in a manufacturing hub
{
"mode": "searchProducts",
"keyword": "cotton fabric",
"city": "Surat",
"state": "Gujarat",
"maxItems": 50
}
Example: category browse with commercial filters
{
"mode": "browseCategory",
"category": "industrial-pumps",
"minPrice": 5000,
"maxPrice": 200000,
"minRating": 3.5,
"verifiedSuppliersOnly": true,
"maxItems": 100
}
Example: look up product pages
{
"mode": "productDetails",
"productUrls": [
"https://www.indiamart.com/proddetail/cotton-fabric-27595399997.html",
"27595399997"
],
"maxItems": 10
}
Example: look up supplier profiles
{
"mode": "supplierProfile",
"supplierUrls": [
"https://www.indiamart.com/gautam-fabric/",
"https://www.indiamart.com/company/76488165/"
],
"maxItems": 10
}
Use cases
- India sourcing — find manufacturers and wholesalers for textiles, engineering goods, chemicals, packaging or food products
- Supplier shortlisting — compare prices, MOQs, ratings and response rates before contacting suppliers
- Regional sourcing — target manufacturing hubs by city or state, such as Surat for textiles or Coimbatore for machinery
- B2B lead generation — collect company names, profile URLs, locations, GSTINs and public call-routing numbers
- Export sourcing — identify verified exporters and see which countries they already ship to
- Price benchmarking — compare listed prices and minimum order quantities across suppliers for the same product
FAQ
Do I need an IndiaMART account, cookies or an API key? No. The actor reads publicly visible listing and company pages and does not ask for credentials.
Do I need to set up a proxy? No. The actor chooses a working connection to IndiaMART automatically. Fill in the input and run it.
Why do some products have a price and others do not? IndiaMART suppliers choose whether to publish a price. When a listing has no public price, the price fields are omitted rather than filled with a placeholder.
Why is minOrder missing on some products?
Minimum order quantity is published for some listings and not others. The detail-page enrichment pass fills it when IndiaMART shows it.
Is the phone number a direct mobile number? No. IndiaMART publishes a call-routing number that connects to the supplier. Personal mobile numbers and email addresses are not published on the site, so this actor does not return them.
Are GST and IEC numbers always available? They are returned when the supplier publishes them on a product or company page. Coverage is higher for exporters and verified suppliers.
Why do I get fewer records than the number of listings IndiaMART shows?
IndiaMART limits how deep anonymous search and category pages go, and “Show More Results” requires a login. The actor paginates up to four category pages, expands related categories and city routes, and uses the public search API to get as close to maxItems as the source allows. Deeper category pages repeat heavily and add new IDs unpredictably, so the actor widens the search instead of assuming a fixed page pool. A single broad query may still stop short of 1,000 rows; split it by city, state or narrower category to collect more. The actor reports the shortfall in the terminal run status message and the run log instead of padding the dataset.
Why is supplierWebsite missing on some rows?
IndiaMART sometimes publishes its own indiamart.com/<alias>/ profile URL in the website slot instead of the supplier's real site. Those IndiaMART-hosted URLs are not returned as supplierWebsite; the field contains only an external supplier website when one is published.
Can I get reviews, email addresses, mobile numbers or UDYAM numbers?
No. Review pages redirect to the company profile or a login wall, and IndiaMART does not publish emails, personal mobiles or UDYAM numbers to anonymous visitors. The phone field is the public call-routing number. These are hard limits of the public site, not missing parser fields.
Can I collect more than 1,000 records in one run?
maxItems is capped at 1,000. The anonymous IndiaMART pool can also be smaller than that for one broad query. Run several city, state or category slices and combine the datasets if you need more coverage.
How fresh is the data?
Every record carries scrapedAt in UTC. Prices, ratings and stock signals are captured at run time and can change on IndiaMART afterwards.
My saved task uses an older mode name. Will it still run?
Yes. The legacy categoryBrowse and searchSuppliers values are accepted and mapped to product search, so saved tasks keep working.
Is this affiliated with IndiaMART? No. This is an independent actor that reads publicly visible IndiaMART pages and is not operated or endorsed by IndiaMART.
Python quickstart
Use a schema-derived input and the Python standard library to start a run. An Apify account and token are required for execution.
Source build XP3b8zL2i711xmbbR. Documentation is regenerated from the default published build; private drafts are not included.