{
  "openapi": "3.0.1",
  "info": {
    "title": "Kaspi KZ Scraper: Prices, Sellers & Price Drops | Парсер Каспи",
    "description": "Kaspi.kz scraper (парсер Каспи, Kaspi Магазин, бағалар): search by keyword, category or product link in 6 cities. Get prices, Kaspi bonus, installments, ratings, stock and seller offers, go beyond 24 results, and track price drops on a schedule. Excel, CSV, JSON.",
    "version": "0.1",
    "x-build-id": "zwDh684YAh8bIHuN4"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/getascraper~kaspi-product-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-getascraper-kaspi-product-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/getascraper~kaspi-product-scraper/runs": {
      "post": {
        "operationId": "runs-sync-getascraper-kaspi-product-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/getascraper~kaspi-product-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-getascraper-kaspi-product-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": "Keywords to search on Kaspi.kz, in Russian, Kazakh or English, e.g. 'iphone', 'холодильник', 'қыздырғыш'. A Kaspi product ID also works and returns that exact product.",
            "default": [
              "iphone"
            ],
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "Kaspi.kz links",
            "type": "array",
            "description": "Kaspi.kz search links (https://kaspi.kz/shop/search/?text=iphone), category links (https://kaspi.kz/shop/c/smartphones/) or product links (https://kaspi.kz/shop/p/...-113137790/). Category and product links give the same rows as keywords.",
            "default": [],
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "city": {
            "title": "City",
            "enum": [
              "750000000",
              "710000000",
              "511010000",
              "351010000",
              "151010000",
              "471010000"
            ],
            "type": "string",
            "description": "Kaspi city. Prices, Kaspi bonus, stock, and delivery vary by city.",
            "default": "750000000"
          },
          "sort": {
            "title": "Sort order",
            "enum": [
              "relevance",
              "created-desc",
              "price-asc",
              "price-desc",
              "rating"
            ],
            "type": "string",
            "description": "Which products Kaspi returns first. Each order surfaces a different top slice of the results.",
            "default": "relevance"
          },
          "brands": {
            "title": "Brands",
            "type": "array",
            "description": "Only products of these brands, written as Kaspi shows them, e.g. 'Apple', 'Samsung'. Each brand runs as its own search, so you get a full result slice per brand.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "minPrice": {
            "title": "Minimum price (₸)",
            "minimum": 1,
            "type": "integer",
            "description": "Skip products cheaper than this price in tenge. Leave empty for no minimum."
          },
          "maxPrice": {
            "title": "Maximum price (₸)",
            "minimum": 1,
            "type": "integer",
            "description": "Skip products more expensive than this price in tenge. Leave empty for no maximum."
          },
          "minRating": {
            "title": "Minimum rating",
            "minimum": 0,
            "maximum": 5,
            "type": "number",
            "description": "Only products rated at least this many stars (0 to 5). Leave empty for no minimum."
          },
          "minReviews": {
            "title": "Minimum reviews",
            "minimum": 1,
            "type": "integer",
            "description": "Only products with at least this many reviews. Leave empty for no minimum."
          },
          "inStockOnly": {
            "title": "In stock only",
            "type": "boolean",
            "description": "Skip products that are not in stock in the chosen city.",
            "default": false
          },
          "officialPartnerOnly": {
            "title": "Official brand partners only",
            "type": "boolean",
            "description": "Keep only products offered by an official brand partner.",
            "default": false
          },
          "maxItems": {
            "title": "Max items",
            "minimum": 0,
            "type": "integer",
            "description": "Hard limit on total product rows returned across all keywords and links. Set 0 for unlimited (free plan runs are capped at 100).",
            "default": 25
          },
          "maxPagesPerQuery": {
            "title": "Max pages per query",
            "minimum": 1,
            "maximum": 2,
            "type": "integer",
            "description": "Result pages fetched per search (12 products per page). Kaspi serves up to 2 pages (24 top products) per search; turn on Deep search below to reach more.",
            "default": 2
          },
          "deepSearch": {
            "title": "Deep search (beyond 24 results)",
            "type": "boolean",
            "description": "Kaspi shows only 24 products per search. Turn this on to split each search by price band, brand and sort order and collect far more of the catalog. Uses more requests, so set Max items to the volume you want.",
            "default": false
          },
          "includeOffers": {
            "title": "Include seller offers",
            "type": "boolean",
            "description": "Add every merchant selling the product: offer count, lowest and highest price, and the cheapest sellers with rating, price and delivery. Runs slower because it adds one lookup per product.",
            "default": false
          },
          "offersLimit": {
            "title": "Sellers per product",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "How many of the cheapest sellers to list per product when seller offers are on.",
            "default": 5
          },
          "trackChanges": {
            "title": "Track price changes between runs",
            "type": "boolean",
            "description": "Remember each product's price and stock under the monitor name below and mark every row as new, priceDown, priceUp, outOfStock, backInStock or unchanged, with the previous price, change in tenge and percent, and lowest and highest price seen. Schedule the run to monitor prices.",
            "default": false
          },
          "monitorScope": {
            "title": "Monitor name",
            "type": "string",
            "description": "Name of this monitor. Use a different name for each schedule so their histories do not mix, e.g. 'iphones-almaty'.",
            "default": "default"
          },
          "onlyChanges": {
            "title": "Only save changes",
            "type": "boolean",
            "description": "With price tracking on, save only new products and products whose price or stock changed. Unchanged products are skipped and not charged.",
            "default": false
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Proxy settings. The default starts on datacenter proxy and switches to Kazakhstan residential only if Kaspi keeps refusing; leave it as is for the most reliable results.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}