
TikTok Shop Scraper
scrape.ly/store/shelfbright/tiktok-shop-scraperE-commerceSocial media
1 monthly user

Scrape IndiaMART products and suppliers by keyword, city or category: prices, MOQ, supplier phone numbers, GST numbers, ratings, location and business type. No login needed.
Turn IndiaMART, India's largest B2B marketplace, into a clean supplier and product list. Search by product words or paste search and category URLs. You get prices, MOQ, supplier phone numbers, GST numbers, ratings, city, state and business type, with no login and no cookies. Results arrive in seconds and cost $1.50 per 1,000.
steel pipes, led lights, cotton yarn), or paste IndiaMART search or category URLs.| Field | What it does |
|---|---|
searchQueries | Products or services to search for, one per line |
startUrls | IndiaMART search pages (search.mp?ss=...&cq=City) or category pages (/impcat/...html, /mumbai/...html) |
maxResultsPerQuery | Most products per search word or URL (0 = as many as can be reached) |
location | Only suppliers in this city or state |
businessType | Manufacturer, wholesaler, exporter, retailer or service provider |
minPrice / maxPrice | Price range in ₹ (per the product's own unit) |
minRating | Minimum supplier star rating |
gstVerifiedOnly | Only suppliers with a verified GST registration |
onlyWithPrice | Skip "ask for price" listings |
onePerSupplier | One row per supplier, for clean lead lists |
{
"searchQueries": ["steel pipes", "led lights"],
"location": "Mumbai",
"businessType": "manufacturer",
"maxResultsPerQuery": 50
}
One row per product, with its supplier's details.
| Field | Description |
|---|---|
productName, productUrl, productId | The listing and its IndiaMART page |
price, priceText, priceUnit, currency | Listed price, e.g. 72 per Kilogram in INR |
moq, moqUnit | Minimum order quantity, when shown |
description, specifications, categories | Product text, spec table (material, size, grade, ...) and IndiaMART categories |
imageUrl, images, brochureUrl | Product photo, extra photos, PDF brochure |
companyName, companyId, companyUrl | Supplier and its IndiaMART catalog |
phone, phoneSuccessRate | Supplier's public IndiaMART phone number and the success ratio IndiaMART reports for it |
city, district, state, location | Where the supplier is |
gstNumber, gstVerified | GST number and verification flag |
rating, ratingCount | Supplier star rating and number of ratings |
memberSince, memberYears | When the supplier joined IndiaMART |
businessType, verifiedExporter | Manufacturer, wholesaler, exporter, ... |
query, searchLocation, categoryUrl, position | Which input produced the row, and its rank |
Example row (supplier details are fictional):
{
"query": "steel pipes",
"position": 6,
"productId": "17229786797",
"productName": "347 Stainless Steel Pipes, Seamless, 2 inch (DN50)",
"productUrl": "https://www.indiamart.com/proddetail/347-stainless-steel-pipes-17229786797.html",
"price": 80,
"priceText": "₹ 80/Kg",
"currency": "INR",
"priceUnit": "Kg",
"moq": 50,
"moqUnit": "Kg",
"imageUrl": "http://5.imimg.com/data5/IM/HC/MY-1120403/347-stainless-steel-pipes-500x500.jpg",
"specifications": {"Grade": "347H", "Standard": "ASTM A312", "Type": "Seamless", "Size": "2 inch"},
"categories": ["347 Stainless Steel Pipe", "Stainless Steel Pipes"],
"companyName": "Example Metals",
"companyId": "10000001",
"companyUrl": "https://www.example-metals.in/",
"phone": "7900000000",
"phoneSuccessRate": 80,
"city": "Mumbai",
"district": "Mumbai",
"state": "Maharashtra",
"location": "Mumbai, Maharashtra",
"gstNumber": "27ABCDE1234F1Z5",
"gstVerified": true,
"rating": 4.3,
"ratingCount": 42,
"memberSince": "2008-04-28T17:01:10Z",
"memberYears": 18,
"businessType": "Wholesaler/Distributor",
"scrapedAt": "2026-10-21T00:36:44Z"
}
Category URLs return the same columns. Category listings don't include the GST number, MOQ, member-since date or business type, so those fields stay empty there.
You pay $1.50 per 1,000 results ($0.0015 per product row), plus a small amount of platform usage (compute and datacenter proxy traffic, usually well under a cent for a few hundred results). For example, 1,000 results cost about $1.50 in result fees plus that usage. Rows dropped by your filters and duplicate products are never charged.
Is it legal to scrape IndiaMART? The actor only reads public listing pages that anyone can open without an account. You are responsible for how you use the data, including data-protection rules such as India's DPDP Act and the GDPR when you contact people.
Do I need an IndiaMART account or a proxy? No account. The default datacenter proxy works. If IndiaMART refuses it, the run switches to residential exits in India by itself.
How many results can I get?
IndiaMART shows logged-out visitors about 30 to 40 products per search page. The actor widens each search across cities, business types and price bands, which typically reaches several hundred unique products per keyword. When fewer exist, the run says how many it could reach. Category pages list up to about 500 products each, and city category pages (/mumbai/...html) add more.
Why is a field empty? Suppliers don't fill in everything. MOQ, brochure and video are often missing, and category listings carry fewer fields than search results.
Can I schedule it or use the API? Yes. Schedule runs in the console, or start them through the REST API and read the dataset as JSON, CSV or Excel.
Do I get supplier emails? No. IndiaMART does not show emails on public listings.
/proddetail/...) are not an input; use a search or category URL.Every field below can be set in the run form, passed through the API, or saved as a task. Unset fields fall back to the defaults shown.
searchQueriesarrayOptionalSearch words
Products or services to search for on IndiaMART, one per line (for example "steel pipes", "led lights", "cotton yarn").
startUrlsarrayOptionalIndiaMART URLs
Search pages (dir.indiamart.com/search.mp?ss=...&cq=City) or category pages (dir.indiamart.com/impcat/carbon-steel-pipes.html, dir.indiamart.com/mumbai/carbon-steel-pipes.html). Optional when you add search words.
maxResultsPerQueryintegerOptionaldefault 20Max results per search or URL
Most products to save for each search word or URL. Searches past the first page are widened across cities, business types and price bands. 0 means as many as can be reached.
locationstringOptionalCity or state
Only suppliers in this city or state (for example Mumbai, Ahmedabad, Gujarat). Leave empty for all of India. Applies to search words; a cq= city in a search URL works the same way.
businessTypeenumOptionaldefault "any"Business type
Only suppliers of this business type. Applies to search words.
minPriceintegerOptionalMinimum price (₹)
Only products with a listed price at or above this amount, in rupees per the product's own unit.
maxPriceintegerOptionalMaximum price (₹)
Only products with a listed price at or below this amount, in rupees per the product's own unit.
minRatingenumOptionaldefault "0"Minimum supplier rating
Only suppliers rated at least this many stars.
gstVerifiedOnlybooleanOptionaldefault falseGST-verified suppliers only
Only suppliers whose GST registration IndiaMART marks as verified.
onlyWithPricebooleanOptionaldefault falseOnly products with a price
Skip products that ask you to request a quote instead of showing a price.
onePerSupplierbooleanOptionaldefault falseOne row per supplier
Keep only each supplier's best-matching product, for a clean lead list without repeated companies.
proxyConfigurationobjectOptionaldefault {"useScrapelyProxy":true,"scrapelyProxyGroups":["DATACENTER…Proxy configuration
Datacenter exits work for IndiaMART. If they are refused, the run switches to residential exits in India by itself.
Every run writes its results to a dataset. Preview it in the dashboard, then export it or read it through the API.
| Field | Type | Description |
|---|---|---|
| imageUrl | any | Image |
| productName | any | Product |
| price | any | Price |
| priceUnit | any | Per |
| moq | any | MOQ |
| companyName | any | Supplier |
| phone | any | Phone |
| city | any | City |
| state | any | State |
| gstNumber | any | GST |
| rating | any | Rating |
| ratingCount | any | Ratings |
| memberYears | any | Years on IndiaMART |
| businessType | any | Business type |
| productUrl | any | Product URL |
| companyUrl | any | Supplier URL |
| query | any | Search |
You pay for the events the actor reports, such as each result or page it produces. Platform usage is included in the event prices.
| Event | Charged when | Price |
|---|---|---|
| Result | One IndiaMART product row with its supplier details (price, MOQ, phone, GST, rating, location). Duplicates and rows removed by your filters are not charged. | $0.0015 |
Run this actor from your own code. Swap in your API token and the examples work as-is.
import { ScrapelyClient } from 'scrapely-client'
const client = new ScrapelyClient({ token: process.env.SCRAPELY_TOKEN })
// Start the actor and wait for the run to finish.
const run = await client.actor('cornerledger/indiamart-scraper').call({
"searchQueries": [
"steel pipes"
],
"maxResultsPerQuery": 20,
"proxyConfiguration": {
"useScrapelyProxy": true,
"scrapelyProxyGroups": [
"DATACENTER"
]
}
})
// Read the dataset the run produced.
const { items } = await client.dataset(run.defaultDatasetId).listItems()
console.log(items)Tokens live in your account settings. Keep them server-side: a token carries the full permissions of your account.
Connect the Scrape.ly MCP server once and your agent can run this actor as a tool. Pick your tool:
Fetch scrape.ly/agents.md and run cornerledger/indiamart-scraperPaste into Claude Code, Codex, Cursor or any AI agent. It signs you in once in the browser.
{
"mcpServers": {
"scrapely": {
"url": "https://api.scrape.ly/mcp?tools=actors,runs,storage,docs&actors=cornerledger/indiamart-scraper"
}
}
}No key in the file: your client opens the browser to sign you in the first time it connects.
Inputs the developer prepared for common jobs. Open one to see its input, then copy it to your account to run it as-is or adjust it.
Search words with a city filter.
Products from an IndiaMART category page.
Search with business type, GST, rating and price filters.
A clean supplier lead list without repeated companies.
Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.