{
  "openapi": "3.0.1",
  "info": {
    "title": "IndiaMART Scraper — B2B Suppliers, Products, Phone & GST",
    "description": "Scrape IndiaMART products and suppliers by keyword, category or city: price, MOQ, specifications, company, phone, GSTIN, city, state, rating, response rate, member since; optional contact person, address and company profile. No login, no API key.",
    "version": "1.0",
    "x-build-id": "Tvdfjc5NutiPq5B9N"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/logiover~indiamart-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-logiover-indiamart-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/logiover~indiamart-scraper/runs": {
      "post": {
        "operationId": "runs-sync-logiover-indiamart-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/logiover~indiamart-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-logiover-indiamart-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "searchQueries": {
            "title": "Search keywords",
            "type": "array",
            "description": "Products or services to look for, as you would type them on IndiaMART (for example \"led lights\", \"cotton fabric\", \"tmt bars\", \"surgical gloves\"). Every keyword is searched the way IndiaMART's own search does it, then continued through the IndiaMART categories that match it.",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "IndiaMART URLs",
            "type": "array",
            "description": "Pasted IndiaMART pages: category pages (dir.indiamart.com/impcat/<category>.html), city category pages (dir.indiamart.com/<city>/<category>.html), search pages (dir.indiamart.com/search.mp?ss=…) or product pages (www.indiamart.com/proddetail/…html). A ?biz= filter in a category URL is kept.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "categories": {
            "title": "Category names",
            "type": "array",
            "description": "IndiaMART category names or their URL names (\"TMT Bars\", \"tmt-bars\", \"Cotton Fabric\"). Read from the category listing like a pasted category page. A name IndiaMART does not know is looked up through its search.",
            "items": {
              "type": "string"
            }
          },
          "city": {
            "title": "City",
            "type": "string",
            "description": "Only suppliers in this Indian city (for example Delhi, Mumbai, Ahmedabad, Surat, Ludhiana). Leave empty for all of India."
          },
          "businessType": {
            "title": "Business type",
            "enum": [
              "all",
              "manufacturer",
              "exporter",
              "wholesaler",
              "retailer",
              "service"
            ],
            "type": "string",
            "description": "Only suppliers of this type, using IndiaMART's own business-type filter.",
            "default": "all"
          },
          "maxItems": {
            "title": "Max products",
            "minimum": 0,
            "maximum": 1000000,
            "type": "integer",
            "description": "How many products (rows) to save in total, across all keywords and URLs. 0 = no limit. Every row is one product offer with its supplier.",
            "default": 1000
          },
          "includeCategoryListings": {
            "title": "Continue through matching categories",
            "type": "boolean",
            "description": "After IndiaMART's search results for a keyword (its top 30 suppliers, also in its top cities), continue through the IndiaMART categories that match the keyword — this is what makes thousands of products per keyword possible.",
            "default": true
          },
          "maxCategoriesPerQuery": {
            "title": "Max categories per keyword",
            "minimum": 1,
            "maximum": 300,
            "type": "integer",
            "description": "How many of the matching IndiaMART categories to read per keyword, most relevant first.",
            "default": 25
          },
          "searchTopCities": {
            "title": "Search in IndiaMART's top cities too",
            "type": "boolean",
            "description": "When no city is set, repeat each keyword search in the cities where IndiaMART has the most suppliers for it (up to 9 cities, 30 suppliers each) before the category listings. Search rows carry the most supplier fields (GSTIN, district, state, business type, member-since date); IndiaMART answers about 14 searches per minute per address, so this is slower and repeats many suppliers.",
            "default": false
          },
          "splitByCity": {
            "title": "Read big categories city by city",
            "type": "boolean",
            "description": "IndiaMART lists about 500 suppliers per category page. When a category has more and you need more, its top 50 cities are read one by one.",
            "default": true
          },
          "includeDetails": {
            "title": "Read product pages (contact person, address, company profile)",
            "type": "boolean",
            "description": "Open every product's page to add the contact person, address, GSTIN, IEC, CIN, year of establishment, employees, annual turnover, legal status, full description, Hindi product name and all images. One extra request per product — slower.",
            "default": false
          },
          "uniqueSuppliers": {
            "title": "One row per supplier",
            "type": "boolean",
            "description": "Keep only the first product of every supplier — a lead list of distinct companies instead of a product catalogue.",
            "default": false
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Not needed: IndiaMART is read directly, with Apify datacenter and Indian residential IPs as automatic fallbacks. Set a proxy here only if you want every request to go through it.",
            "default": {
              "useApifyProxy": false
            }
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}