# Changelog of IndiaMART Supplier Scraper 🇮🇳 (leads, contacts, GST status) (`tagadanar/indiamart-scraper`) Actor

- **URL**: https://apify.com/tagadanar/indiamart-scraper/changelog.md
- **Full Actor documentation**: https://apify.com/tagadanar/indiamart-scraper.md

## Changelog

### 2026-10-01

- A category page that has not answered within 30 seconds (was 60) is retried on
  a fresh connection, and a stuck connection can no longer hold a request past
  that limit. Pages normally answer in a few seconds, so a slow patch now costs
  about half the waiting time.

### 2026-08-29 (later)

- `maxResults` now prefills at 200 in the Console input form (same value as its
  default), so a first run shows the limit it will actually use.
- README: added an input table; `includeSponsored` was in the schema and the
  code but documented nowhere.

### 2026-08-29

- A long run no longer dies on the clock. With related-category expansion on,
  the queue of categories grows while it is being scraped, so a broad seed (an
  industry hub especially) could run until the platform killed the container —
  losing every listing collected. The actor now reads the run's own timeout,
  keeps the last stretch of it for delivery, stops queuing and fetching in
  time, and charges and pushes what it has.
- Retries and their per-request timeout now shrink as the deadline approaches,
  so one slow category page can no longer eat four minutes of a run that has
  one left.
- Every run now ends with a status message that says what actually happened: a
  run stopped by the time limit says so (with how many listings it kept and how
  to fix it), a category IndiaMART does not have says that, and "no supplier
  listings" is only ever said after IndiaMART served category pages we read that
  genuinely carried none. Runs used to finish with no message at all.
- Honest limits in the input form: `maxResults` now caps at 10,000 (it
  advertised 20,000, which no run could reach), and `categories` takes up to 50
  entries per run.

### 2026-07-13

- README: removed a stale "no minimum" claim in the pricing intro that contradicted the $0.005 run-started fee already listed in the table below it.

### 2026-07-12

- Invalid input no longer fails the run. The run now finishes cleanly with a clear explanation in its status message, so a typo or an empty list is easy to spot and fix.
- List inputs now accept datasets piped straight from another scraper: entries
  that are objects are read through their usual key names (url/link,
  query/keyword/title, name/company and similar) instead of being rejected.

### 2026-07-11

- Billing: on paid runs every row is billed before it is written, and a run
  now stops visibly if billing fails instead of continuing unbilled.

### 2026-07-09

- Input is now tolerant of common shapes that previously failed the run: a bare
  string / bare object / delimited string for categories is coerced into a list
  instead of erroring. Empty input still errors.

### 2026-07-07

- Initial public release on Apify Store.
- Scrape IndiaMART supplier listings by product category, impcat URL or industry hub URL.
- Clean records: company name and id, city/state/address, public click-to-call contact number, GST status, rating and review count, seller website, product name and price, spec key/values.
- Reads IndiaMART's server-rendered category JSON, so runs are fast and records are complete. No browser, no login.
- Scales a single search by expanding into IndiaMART's related categories; optional sponsored listings and one-row-per-company deduplication.
- India residential proxy by default (IndiaMART geo-routes its directory). Pay per listing, platform usage billed to your run, no subscription.
