{
  "openapi": "3.0.1",
  "info": {
    "title": "Hudební Bazar Scraper — hudebnibazar.cz musical gear",
    "description": "Scrape hudebnibazar.cz, the Czech marketplace for used musical instruments and gear. Search by keyword, category, region and advert type, with prices in CZK and EUR, seller profiles, every photo, and an incremental mode that returns only new adverts.",
    "version": "0.0",
    "x-build-id": "zxRXiCVwMvcBHonFd"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/richardsolar~hudebnibazar-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-richardsolar-hudebnibazar-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/richardsolar~hudebnibazar-scraper/runs": {
      "post": {
        "operationId": "runs-sync-richardsolar-hudebnibazar-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/richardsolar~hudebnibazar-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-richardsolar-hudebnibazar-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": "Search terms. Each one runs as its own search and they share the listing cap. Leave empty to browse a category, or everything.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "category": {
            "title": "Category",
            "enum": [
              "",
              "kytary/110000",
              "elektricke-kytary/110100",
              "akusticke-kytary/110200",
              "elektroakusticke-kytary/110210",
              "elektricke-baskytary/110300",
              "kytarova-komba/110400",
              "baskytarove-komba/110401",
              "kytarove-efekty/110500",
              "snimace-pro-kytaru/110501",
              "prislusenstvi-ke-kytare/110600",
              "baskytary/120000",
              "prislusenstvi-pro-baskytary/120100",
              "akusticke-baskytary/120200",
              "bezprazcove-baskytary/120210",
              "baskytarove-efekty/120300",
              "smyccove-nastroje/130000",
              "housle/130100",
              "violy/130200",
              "violoncella/130300",
              "kontrabasy/130400",
              "prislusenstvi-pro-smyccove-nastroje/130900",
              "klavesove-nastroje/140000",
              "klaviry-a-akusticka-piana/140100",
              "varhany/140200",
              "banjo/140300",
              "keyboardy/140400",
              "midi-keyboardy/140500",
              "digitalni-piana/140600",
              "syntezatory/140700",
              "klavesova-komba/140800",
              "prislusenstvi-ke-klavesam/140900",
              "drevene-dechove-nastroje/150000",
              "zobcove-a-pricne-fletny/150100",
              "akordeony/150200",
              "prislusenstvi-pro-dechy/150300",
              "klarinety/150400",
              "saxofony/150500",
              "trubky/150600",
              "trombony-tuby/150700",
              "foukaci-harmoniky/150720",
              "bici-nastroje/190000",
              "elektronicke-bici/190050",
              "bici-soupravy/190100",
              "prislusenstvi-k-bicim/190200",
              "perkuse-cajon/190300",
              "bici-automaty/190400",
              "cinely-k-bicim/190500",
              "jednotlive-bubny/190600",
              "bubenicky-hardware/190700",
              "blany-pro-bici/190800",
              "hudebnici-a-skupiny/210000",
              "zpevaci-a-zpevacky/210100",
              "kytarista/210200",
              "baskytarista/210300",
              "klavesak/210400",
              "bubenik/210500",
              "ostatni-hudebnici/210600",
              "zkusebny/240000",
              "studiova-technika/310000",
              "ostatni-zvuk/310010",
              "zvukove-aparatury/310050",
              "mixazni-pulty-a-powermixy/310100",
              "koncove-zesilovace/310120",
              "studiove-monitory/310150",
              "zvukove-efekty/310200",
              "reproboxy/310300",
              "mikrofony/310400",
              "ukulele/310500",
              "hudebni-software/310600",
              "dj-technika/310700",
              "nahravani-a-studio/310800",
              "sluchatka/310900",
              "kabely/310950",
              "reproduktory-samostatne/310960",
              "svetelne-aparatury/320000",
              "lekce-a-ucitele/340000",
              "lekce-zpevu/340100",
              "lekce-na-kytaru/340200",
              "lekce-na-baskytaru/340300",
              "lekce-na-klavir/340400",
              "lekce-pro-bubeniky/340500",
              "ostatni-lekce/340900",
              "noty-texty-a-literatura/350000",
              "koncerty-zabavy-slavnosti/380000",
              "ostatni-kolem-hudby/500000",
              "ostatni-hudebni-nastroje/500050",
              "cd-mc-lp/500100",
              "upozorneni-na-podvody/990000",
              "ukradeno-napr-ze-zkusebny/990010"
            ],
            "type": "string",
            "description": "One category, listed as its full path. A value is `slug/id` as the site numbers them: `kytary/110000` for Guitars, `elektricke-kytary/110100` for Electric guitars. Leave on \"All categories\" to search everything. Scoping to a category is the cheapest way to cut irrelevant results, and the site applies it server-side.",
            "default": ""
          },
          "regions": {
            "title": "Regions",
            "type": "array",
            "description": "Czech regions, plus Slovakia, which the site treats as a region of its own. Empty means every region.",
            "items": {
              "type": "string",
              "enum": [
                "1",
                "2",
                "3",
                "4",
                "5",
                "6",
                "7",
                "8",
                "9",
                "10",
                "11",
                "12",
                "13",
                "14",
                "15"
              ],
              "enumTitles": [
                "Praha",
                "Středočeský kraj",
                "Jihočeský kraj",
                "Plzeňský kraj",
                "Karlovarský kraj",
                "Ústecký kraj",
                "Liberecký kraj",
                "Královéhradecký kraj",
                "Pardubický kraj",
                "Kraj Vysočina",
                "Jihomoravský kraj",
                "Olomoucký kraj",
                "Moravskoslezský kraj",
                "Zlínský kraj",
                "Slovensko"
              ]
            },
            "default": []
          },
          "offerType": {
            "title": "Advert type",
            "enum": [
              "all",
              "sell",
              "buy",
              "other"
            ],
            "type": "string",
            "description": "Whether the advert offers something or asks for it. The site mixes both in its results unless you choose.",
            "default": "all"
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "newest",
              "cheapest",
              "mostExpensive"
            ],
            "type": "string",
            "description": "Applied by the site, not afterwards.",
            "default": "newest"
          },
          "priceMin": {
            "title": "Minimum price (CZK)",
            "minimum": 0,
            "type": "integer",
            "description": "Applied to the listings this run collects — hudebnibazar has no price filter of its own, so there is nothing to delegate to. Pages are still fetched, but rows outside the range are dropped before any detail request and are never charged. Adverts with no stated price are kept."
          },
          "priceMax": {
            "title": "Maximum price (CZK)",
            "minimum": 0,
            "type": "integer",
            "description": "See the note on minimum price. Adverts with no stated price are kept. A maximum below the minimum fails the run rather than returning an almost empty dataset."
          },
          "maxItems": {
            "title": "Maximum listings",
            "minimum": 1,
            "type": "integer",
            "description": "Hard cap on listings returned, shared across every keyword. Enforced as listings are collected, so you are never billed for overshoot.",
            "default": 100
          },
          "maxPagesPerSearch": {
            "title": "Maximum pages per search",
            "minimum": 0,
            "type": "integer",
            "description": "0 means no limit. Each page holds 30 listings.",
            "default": 0
          },
          "scrapeDetails": {
            "title": "Open each listing",
            "type": "boolean",
            "description": "Adds the full description, exact posting time, view count, category and seller profile. Results pages already carry the title, price, town, seller nickname and every photo, so turning this off costs less here than on most classifieds sites — and uses about 30x fewer requests.",
            "default": true
          },
          "monitorMode": {
            "title": "Only listings not seen in an earlier run",
            "type": "boolean",
            "description": "Skip listings an earlier run already returned. Skipped listings are not opened and not charged. Leave off for one-off runs.",
            "default": false
          },
          "monitorStoreName": {
            "title": "Monitoring store name",
            "type": "string",
            "description": "Named key-value store holding the ids already returned. Leave empty to use one named after the Actor. Give two schedules two different names when they watch different searches, or each will hide the other’s listings.",
            "default": ""
          },
          "monitorRetentionDays": {
            "title": "Remember listings for (days)",
            "minimum": 1,
            "maximum": 3650,
            "type": "integer",
            "description": "How long an id stays remembered. Older ids are dropped, so the store does not grow forever.",
            "default": 90
          },
          "startUrls": {
            "title": "Start URLs",
            "type": "array",
            "description": "Listing or results-page URLs to scrape directly. Passing these replaces the generated search unless you also give a keyword or category.",
            "default": [],
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Apify Proxy. The datacenter pool is fine here; this site does not block it.",
            "default": {
              "useApifyProxy": true
            }
          },
          "minCleanFieldRatio": {
            "title": "Failure threshold for missing fields",
            "minimum": 0,
            "maximum": 1,
            "type": "number",
            "description": "Advanced. Every field has an expected fill rate; the run warns and names any field that drops below its own. Leave at 1 and the run only warns. Lower it to fail the run when more than this fraction of fields are affected.",
            "default": 1
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}