curl --request POST \
--url https://api.scrapeunblocker.com/marketplace/indiamart-search \
--header 'x-scrapeunblocker-key: <api-key>'import requests
url = "https://api.scrapeunblocker.com/marketplace/indiamart-search"
headers = {"x-scrapeunblocker-key": "<api-key>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {'x-scrapeunblocker-key': '<api-key>'}};
fetch('https://api.scrapeunblocker.com/marketplace/indiamart-search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Scrape IndiaMART B2B product search
Searches IndiaMART for query and returns products, each with position, productId, title, url (the IndiaMART product page, or the supplier’s catalogue page when hasProductPage is false - only products with a page can be fetched with /marketplace/indiamart-product), price (number, null when the supplier asks for a quote) and priceText, currency, unit (the price is per this unit), minOrderQuantity, category / categoryId, specifications (name / value), description, image, brochureUrl, supplier (id, name, city, district, state, country, businessType, verifiedExporter, trustSeal, gstVerified, iecVerified, rating, ratingCount, memberSince, exporterSince, exportsTo, website) and moreFromSupplier (the supplier’s other matching products). IndiaMART shows visitors outside India its export catalogue, so results are IndiaMART’s verified exporters, 10 a page and 2 pages (up to 20 products per search); totalResults is IndiaMART’s own count of all matches. Supplier phone numbers, e-mails and contact names are not returned. url takes an IndiaMART search link instead of query.
curl --request POST \
--url https://api.scrapeunblocker.com/marketplace/indiamart-search \
--header 'x-scrapeunblocker-key: <api-key>'import requests
url = "https://api.scrapeunblocker.com/marketplace/indiamart-search"
headers = {"x-scrapeunblocker-key": "<api-key>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {'x-scrapeunblocker-key': '<api-key>'}};
fetch('https://api.scrapeunblocker.com/marketplace/indiamart-search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Authorizations
Your ScrapeUnblocker API key. Apply on every request.
Query Parameters
What to search, e.g. 'steel pipe', 'cotton t shirt' or 'solar panel'.
1-based results page to start from (1-2); 10 products a page.
Products to collect across pages (1-20); IndiaMART serves 10 per page and shows 2 pages. Each page read is billed as one request.
Instead of query: an IndiaMART search link, e.g. https://dir.indiamart.com/search.mp?ss=steel+pipe (its keyword is used).
Response
JSON with a products array.

