{
  "openapi": "3.0.1",
  "info": {
    "title": "BioMall Scraper — Lab Reagents, Chemicals & Prices (India)",
    "description": "Scrape BioMall (biomall.in / biomall.ai), the lab-supplies marketplace: reagents, chemicals, antibodies, consumables and equipment by keyword, brand, category or URL, or the whole catalogue. Name, brand, catalog number, CAS, pack size, price and currency, SDS/TDS/COA links. No login.",
    "version": "0.1",
    "x-build-id": "dyvxBg5jqZ06k1hkN"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/yugenox~biomall-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-yugenox-biomall-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/yugenox~biomall-scraper/runs": {
      "post": {
        "operationId": "runs-sync-yugenox-biomall-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/yugenox~biomall-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-yugenox-biomall-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": {
          "keywords": {
            "title": "🔎 Keywords",
            "type": "array",
            "description": "Products to search for, e.g. \"taq polymerase\", \"agar\", \"pipette tips\", \"centrifuge tube\". Searches BioMall’s partner-brand catalogues (Himedia, GeNei, Tarsons, BRAND, Borosil and others). With Brands set, each keyword is searched inside each brand instead.",
            "items": {
              "type": "string"
            }
          },
          "brands": {
            "title": "🏷️ Brands",
            "type": "array",
            "description": "Whole brand catalogues from BioMall’s brand stores, e.g. \"Himedia\", \"Tarsons\", \"GeNei\", \"Abcam\", \"Agilent\", \"LOBA Chemie\", \"MP Biomedicals\", \"Macherey-Nagel\", \"Borosil Scientific\". Spelling and case are matched to BioMall’s brand list.",
            "items": {
              "type": "string"
            }
          },
          "categories": {
            "title": "🧪 Categories",
            "type": "array",
            "description": "BioMall categories. Each lists the products BioMall features there (up to about 500).",
            "items": {
              "type": "string",
              "enum": [
                "cell-culture",
                "pcr",
                "genomics",
                "proteomics",
                "antibodies-proteins-elisa-kits",
                "microbiology",
                "biochemicals",
                "chemicals",
                "fine-chemicals",
                "bulk-chemicals",
                "chromatography",
                "laboratory-glassware",
                "general-lab-supplies",
                "lab-equipment",
                "centrifuge",
                "incubators",
                "microscopy",
                "safety-equipment",
                "cold-storage",
                "electrophoresis",
                "spectroscopy",
                "tissue-culture",
                "immunology",
                "enzymes"
              ],
              "enumTitles": [
                "Cell culture",
                "PCR",
                "Genomics",
                "Proteomics",
                "Antibodies, proteins & ELISA kits",
                "Microbiology",
                "Biochemicals",
                "Chemicals",
                "Fine chemicals",
                "Bulk chemicals",
                "Chromatography",
                "Laboratory glassware",
                "General lab supplies",
                "Lab equipment",
                "Centrifuges",
                "Incubators",
                "Microscopy",
                "Safety equipment",
                "Cold storage",
                "Electrophoresis",
                "Spectroscopy",
                "Tissue culture",
                "Immunology",
                "Enzymes"
              ]
            }
          },
          "startUrls": {
            "title": "🔗 BioMall URLs",
            "type": "array",
            "description": "BioMall product URLs (biomall.ai/product/… or biomall.in/product/…), brand URLs (/brands/…) or category URLs (/category/…).",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "allProducts": {
            "title": "All products (whole catalogue)",
            "type": "boolean",
            "description": "Walk BioMall’s sitemap and read every product page, in sitemap order, until Max products is reached. Covers every brand (1.4M+ products, including non-partner brands such as LGC Standards). About 2 products per second.",
            "default": false
          },
          "maxItems": {
            "title": "Max products",
            "minimum": 0,
            "maximum": 200000,
            "type": "integer",
            "description": "Maximum number of products for the whole run, shared fairly between your keywords, brands and categories. 0 = everything.",
            "default": 100
          },
          "includeDetails": {
            "title": "Include product page details",
            "type": "boolean",
            "description": "Also read each listed product’s own page for its SDS, TDS and COA document links and brand slug. One extra request per product. Product URLs and the All products crawl always include them.",
            "default": false
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Apify Proxy (datacenter) is the default and comes with every Apify plan. If BioMall refuses datacenter IPs for a while, the run switches to residential proxies when your account has them.",
            "default": {
              "useApifyProxy": true
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}