{
  "openapi": "3.0.1",
  "info": {
    "title": "Hepsiburada Scraper - Turkey Prices, Sellers & Barcodes",
    "description": "Get Hepsiburada (Turkey) product prices, sellers and reviews by search term, category, brand or product link: price, discount, seller, rating, stock and position. Optional reviews with date and star filters, Q&A, barcode (GTIN), variants and other sellers' prices. Price-drop tracking. Errors free.",
    "version": "0.1",
    "x-build-id": "onvh31ftK0ACxihzV"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapewise~hepsiburada-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapewise-hepsiburada-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/scrapewise~hepsiburada-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scrapewise-hepsiburada-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/scrapewise~hepsiburada-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scrapewise-hepsiburada-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": {
          "searchTerms": {
            "title": "Search terms",
            "type": "array",
            "description": "Words to search on Hepsiburada, one per line, as you would type them on the site (for example airpods, dyson, robot süpürge, iphone 16). Turkish or English both work; Turkish usually returns more products. Leave empty to use only the URLs below.",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "Hepsiburada URLs",
            "type": "array",
            "description": "Search, category, brand or store URLs copied from your browser after setting the filters on Hepsiburada (for example https://www.hepsiburada.com/ara?q=airpods or https://www.hepsiburada.com/cep-telefonlari-c-371965), one per line. Every filter in the URL is kept. Product URLs (with -p-<code>) also work and come back with the full product page.",
            "items": {
              "type": "string"
            }
          },
          "brands": {
            "title": "Brands",
            "type": "array",
            "description": "Keep only these brands, one per line (for example Apple, Samsung, JBL). Uses Hepsiburada's own brand filter, so the limit counts only matching products.",
            "items": {
              "type": "string"
            }
          },
          "minPrice": {
            "title": "Minimum price (TRY)",
            "minimum": 0,
            "type": "integer",
            "description": "Only products at or above this price in Turkish lira. Uses Hepsiburada's own price filter."
          },
          "maxPrice": {
            "title": "Maximum price (TRY)",
            "minimum": 0,
            "type": "integer",
            "description": "Only products at or below this price in Turkish lira."
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "recommended",
              "priceLowToHigh",
              "priceHighToLow",
              "bestSellers",
              "mostReviewed",
              "topRated",
              "biggestDiscount",
              "newest"
            ],
            "type": "string",
            "description": "Hepsiburada's own orders. With a product limit it also decides which products you get. Position in the results is saved on every row, so 'Recommended' doubles as a ranking tracker.",
            "default": "recommended"
          },
          "onlyInStock": {
            "title": "Only products in stock",
            "type": "boolean",
            "description": "Skip products that cannot be bought right now. Skipped products are not charged.",
            "default": false
          },
          "minRating": {
            "title": "Minimum product rating",
            "enum": [
              "1",
              "2",
              "3",
              "3.5",
              "4",
              "4.5"
            ],
            "type": "string",
            "description": "Keep only products rated at or above this many stars. Skipped products are not charged. Empty = any rating."
          },
          "onlyDiscounted": {
            "title": "Only discounted products",
            "type": "boolean",
            "description": "Keep only products shown with a discount (price below the list price). Skipped products are not charged.",
            "default": false
          },
          "onlyFastDelivery": {
            "title": "Only fast delivery",
            "type": "boolean",
            "description": "Keep only products marked for fast delivery (ships the same day). Skipped products are not charged.",
            "default": false
          },
          "onlyOfficialSellers": {
            "title": "Only official or authorized sellers",
            "type": "boolean",
            "description": "Keep only products whose winning seller is labelled official or authorized (Resmi / Yetkili Satıcı) on Hepsiburada. Needs the product page, so it turns on 'Full product pages'. Skipped products are not charged.",
            "default": false
          },
          "maxItems": {
            "title": "Max products per search",
            "minimum": 0,
            "type": "integer",
            "description": "Stop each search (each term or URL) after this many products. Hepsiburada shows 36 per page and at most 50 pages (1,800 products) per search. 0 = up to 1,800.",
            "default": 50
          },
          "includeDetails": {
            "title": "Full product pages",
            "type": "boolean",
            "description": "Also open each product's own page: barcode (GTIN/EAN), category path, every variant (color, size, capacity) with its price, stock and barcode, the other sellers with price, seller rating and city, all images and the specifications table. Charged as a second event per product.",
            "default": false
          },
          "includeReviews": {
            "title": "Customer reviews",
            "type": "boolean",
            "description": "Also deliver the customer reviews of each product, one row per review (type 'review'): rating, text, date, verified purchase, seller, helpful votes, photos and per-feature ratings. Reviews of every variant (color, size) are included, as on the site. Each review costs US$ 1.00 per 1,000.",
            "default": false
          },
          "maxReviewsPerProduct": {
            "title": "Max reviews per product",
            "minimum": 0,
            "type": "integer",
            "description": "Stop each product's reviews after this many. 0 = all of them (big products have tens of thousands).",
            "default": 100
          },
          "reviewSort": {
            "title": "Review order",
            "enum": [
              "newest",
              "oldest",
              "mostHelpful",
              "highestRating",
              "lowestRating",
              "default"
            ],
            "type": "string",
            "description": "Which reviews come first; with a review limit it also decides which reviews you get. Newest first is best for daily monitoring.",
            "default": "newest"
          },
          "reviewStars": {
            "title": "Only these star ratings",
            "type": "array",
            "description": "Keep only reviews with these ratings, for example 1 and 2 for complaints. Empty = all ratings. Uses Hepsiburada's own filter.",
            "items": {
              "type": "string",
              "enum": [
                "1",
                "2",
                "3",
                "4",
                "5"
              ],
              "enumTitles": [
                "1 star",
                "2 stars",
                "3 stars",
                "4 stars",
                "5 stars"
              ]
            }
          },
          "reviewsFrom": {
            "title": "Reviews from date",
            "type": "string",
            "description": "Only reviews written on or after this date (YYYY-MM-DD), or a relative window such as '30 days'. Reading stops at the first older review, so a daily run reads only the new ones."
          },
          "reviewsTo": {
            "title": "Reviews up to date",
            "type": "string",
            "description": "Only reviews written on or before this date (YYYY-MM-DD)."
          },
          "onlyReviewsWithMedia": {
            "title": "Only reviews with photos or video",
            "type": "boolean",
            "description": "Keep only reviews that carry customer photos or a video.",
            "default": false
          },
          "includeQuestions": {
            "title": "Questions and answers",
            "type": "boolean",
            "description": "Also deliver the published customer questions of each product with the sellers' answers, one row per question (type 'question'), newest first. Each question costs US$ 1.00 per 1,000.",
            "default": false
          },
          "maxQuestionsPerProduct": {
            "title": "Max questions per product",
            "minimum": 0,
            "type": "integer",
            "description": "Stop each product's questions after this many. 0 = all of them.",
            "default": 50
          },
          "reviewsOnly": {
            "title": "Reviews only (no product rows)",
            "type": "boolean",
            "description": "Deliver only the reviews (and questions, if on), without the product rows, which are then free. With product links the product page is not even opened. Good for review monitoring of a fixed product list.",
            "default": false
          },
          "onlyNew": {
            "title": "Only new products since the last run",
            "type": "boolean",
            "description": "For scheduled runs. Remembers which products each search (with its filters) already returned, in a named key-value store in your account ('hepsiburada-scraper-state'), and delivers only products not seen before. The first run delivers up to the limit and marks everything it read as seen. Seen products are not delivered and not charged. Forces the newest-first order. Delete the store to start over.",
            "default": false
          },
          "trackPriceChanges": {
            "title": "Track price changes",
            "type": "boolean",
            "description": "Compares each product's price with the price seen in your previous runs of the same search (same key-value store) and adds previousPrice, priceChange, priceChangePct, isPriceDrop, isNewProduct, firstSeenAt and previousSeenAt. With 'Only new products' on too, products whose price changed are delivered as well.",
            "default": false
          },
          "onlyPriceDrops": {
            "title": "Only price drops (not increases)",
            "type": "boolean",
            "description": "With 'Only new products' and 'Track price changes' both on: of the products seen before, deliver only those whose price went down.",
            "default": false
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Hepsiburada refuses datacenter IPs, so the default is the Apify RESIDENTIAL group with Turkish IPs. A refused IP is dropped and another one is tried; keep this default unless you have a reason to change it.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ],
              "apifyProxyCountry": "TR"
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}