{
  "openapi": "3.0.1",
  "info": {
    "title": "Trendyol Scraper: Product & Reviews",
    "description": "Collect public Trendyol products from searches, categories, stores, and product URLs. Export prices, ratings, sellers, product details, reviews, and answered Q&A.",
    "version": "2.0",
    "x-build-id": "sQZKGkU0wcZ6w3C7e"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/maximedupre~trendyol-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-maximedupre-trendyol-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/maximedupre~trendyol-scraper/runs": {
      "post": {
        "operationId": "runs-sync-maximedupre-trendyol-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/maximedupre~trendyol-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-maximedupre-trendyol-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",
        "required": [
          "target"
        ],
        "properties": {
          "target": {
            "title": "Find products by",
            "enum": [
              "search",
              "search_urls",
              "category_urls",
              "store_urls",
              "product_urls",
              "campaigns"
            ],
            "type": "string",
            "description": "Choose how to find products in this run. Fields in the other option sections are ignored."
          },
          "searchQueries": {
            "title": "Search terms",
            "type": "array",
            "description": "Enter one or more product searches. If terms find the same product, it is saved once with the first matching source. Used only for the Search terms choice.",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "default": [
              "spor ayakkabi"
            ]
          },
          "searchUrls": {
            "title": "Search result URLs",
            "type": "array",
            "description": "Add one or more Trendyol search result URLs. If URLs find the same product, it is saved once with the first matching source. Used only for the Search result URLs choice.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "title": "URL",
                  "type": "string",
                  "description": "A public Trendyol search result URL.",
                  "minLength": 1
                }
              }
            }
          },
          "categoryUrls": {
            "title": "Category/collection URLs",
            "type": "array",
            "description": "Add one or more Trendyol category or collection URLs. If pages find the same product, it is saved once with the first matching source. Used only for the Category/collection URLs choice.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "title": "URL",
                  "type": "string",
                  "description": "A public Trendyol category or collection page URL.",
                  "minLength": 1
                }
              }
            }
          },
          "storeUrls": {
            "title": "Seller/store URLs",
            "type": "array",
            "description": "Add one or more Trendyol seller or store URLs. If stores find the same product, it is saved once with the first matching source. Used only for the Seller/store URLs choice.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "title": "URL",
                  "type": "string",
                  "description": "A public Trendyol seller or store URL.",
                  "minLength": 1
                }
              }
            }
          },
          "productUrls": {
            "title": "Product URLs",
            "type": "array",
            "description": "Add one or more complete Trendyol product URLs. A repeated product is saved once with its first matching source. Used only for the Product URLs choice.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "title": "URL",
                  "type": "string",
                  "description": "A public Trendyol product URL.",
                  "minLength": 1
                }
              }
            }
          },
          "campaignTier": {
            "title": "Campaign tier",
            "enum": [
              "all",
              "red",
              "orange",
              "yellow",
              "flash_sale"
            ],
            "type": "string",
            "description": "Choose which Trendyol campaign deals to browse. All campaigns includes every tier and the flash sale products. Red, orange, and yellow deals exist on the Turkey and Azerbaijan storefronts. Flash sales exist only on the Turkey storefront. The International storefront has no campaign tiers. Used only for the Campaigns and flash sales choice.",
            "default": "all"
          },
          "storefront": {
            "title": "Storefront",
            "enum": [
              "turkey",
              "azerbaijan",
              "international"
            ],
            "type": "string",
            "description": "Choose the Trendyol storefront for any discovery choice. This sets the shown prices, currency, and market details for product, review, and answered Q&A rows.",
            "default": "turkey"
          },
          "maxProductsPerSource": {
            "title": "Product limit per source",
            "minimum": 0,
            "type": "integer",
            "description": "Set the most products to save from each Search terms, Search result URLs, Category/collection URLs, or Seller/store URLs input, or from Campaigns and flash sales. Leave this empty or enter 0 to collect all available products until the source ends. Enter 1 or more to stop at that many products, or earlier if the source ends. The form starts this field at 2 as a guide. This field is ignored for Product URLs."
          },
          "sort": {
            "title": "Sort products by",
            "enum": [
              "relevance",
              "newest",
              "price_asc",
              "price_desc",
              "best_seller",
              "most_favorited",
              "most_rated"
            ],
            "type": "string",
            "description": "Choose the order for products found from Search terms, Search result URLs, Category/collection URLs, Seller/store URLs, or Campaigns and flash sales. It does not change the Product URLs choice.",
            "default": "relevance"
          },
          "minPrice": {
            "title": "Minimum price",
            "minimum": 0,
            "type": "number",
            "description": "Only save products at or above this shown price in the storefront currency."
          },
          "maxPrice": {
            "title": "Maximum price",
            "minimum": 0,
            "type": "number",
            "description": "Only save products at or below this shown price in the storefront currency."
          },
          "minRating": {
            "title": "Minimum rating",
            "minimum": 0,
            "maximum": 5,
            "type": "number",
            "description": "Only save products at or above this shown average Trendyol rating."
          },
          "maxRating": {
            "title": "Maximum rating",
            "minimum": 0,
            "maximum": 5,
            "type": "number",
            "description": "Only save products at or below this shown average Trendyol rating."
          },
          "discountedOnly": {
            "title": "Discounted products only",
            "type": "boolean",
            "description": "Only save products that show a discount or original price.",
            "default": false
          },
          "inStockOnly": {
            "title": "In-stock products only",
            "type": "boolean",
            "description": "Only save products that are shown as available.",
            "default": false
          },
          "freeShippingOnly": {
            "title": "Free shipping only",
            "type": "boolean",
            "description": "Only save products that show free shipping.",
            "default": false
          },
          "fastDeliveryOnly": {
            "title": "Fast delivery only",
            "type": "boolean",
            "description": "Only save products that show fast delivery.",
            "default": false
          },
          "officialSellerOnly": {
            "title": "Official sellers only",
            "type": "boolean",
            "description": "Only save products sold by a Trendyol official seller.",
            "default": false
          },
          "couponOnly": {
            "title": "Coupon products only",
            "type": "boolean",
            "description": "Only save products that show an available coupon.",
            "default": false
          },
          "offerOnly": {
            "title": "Offer products only",
            "type": "boolean",
            "description": "Only save products that show a special offer or campaign.",
            "default": false
          },
          "newReleaseOnly": {
            "title": "New releases only",
            "type": "boolean",
            "description": "Only save products that show they are new releases.",
            "default": false
          },
          "influencerOnly": {
            "title": "Influencer products only",
            "type": "boolean",
            "description": "Only save products with the Trendyol Influencer Preferred label.",
            "default": false
          },
          "lowestPriceOnly": {
            "title": "Lowest-price products only",
            "type": "boolean",
            "description": "Only save products that show a lowest-price mark.",
            "default": false
          },
          "lowestPriceWindow": {
            "title": "Lowest-price time window",
            "enum": [
              "10",
              "14",
              "30"
            ],
            "type": "string",
            "description": "Choose the Trendyol lowest-price window: lowest price in the last 10, 14, or 30 days. This applies only when Lowest-price products only is on. Leave it empty to accept any window."
          },
          "reviews": {
            "title": "Customer reviews",
            "required": [],
            "type": "object",
            "description": "Set up separately charged public customer review rows for each saved product.",
            "properties": {
              "enabled": {
                "title": "Include reviews",
                "type": "boolean",
                "description": "Save a sample of shown customer reviews as separate rows linked to each product, within the review limit. Reviews that are not available are not saved.",
                "default": false
              },
              "maxPerProduct": {
                "title": "Review limit per product",
                "type": "integer",
                "description": "When reviews are on, set the most separate review rows to save for each product. Leave this empty to use 50. Set 0 to collect all available reviews. A positive number stops at that many review rows per product, or earlier if no more are available. Collecting all reviews can take longer.",
                "minimum": 0,
                "default": 50
              },
              "order": {
                "title": "Review order",
                "type": "string",
                "description": "Choose the review order before the per-product review limit is applied. Trendyol default keeps the order shown by Trendyol.",
                "editor": "select",
                "default": "default",
                "enum": [
                  "default",
                  "rating_desc",
                  "rating_asc",
                  "recommended",
                  "newest",
                  "oldest"
                ],
                "enumTitles": [
                  "Trendyol default",
                  "Highest rating first",
                  "Lowest rating first",
                  "Recommended",
                  "Newest first",
                  "Oldest first"
                ]
              }
            },
            "additionalProperties": false
          },
          "questionsAndAnswers": {
            "title": "Answered Q&A",
            "required": [],
            "type": "object",
            "description": "Set up separately charged public answered-question rows for each saved product.",
            "properties": {
              "enabled": {
                "title": "Include answered Q&A",
                "type": "boolean",
                "description": "Save shown answered product questions as separate rows linked to the product. Questions that are not available are not saved.",
                "default": false
              },
              "maxPerProduct": {
                "title": "Q&A limit per product",
                "type": "integer",
                "description": "When answered Q&A is on, set the most answered Q&A rows to save for each product. Leave this empty to use 20. Set 0 to collect all available answers. A positive number stops at that many rows per product, or earlier if no more are available.",
                "minimum": 0,
                "default": 20
              }
            },
            "additionalProperties": false
          },
          "changesOnly": {
            "title": "Only new and changed products",
            "type": "boolean",
            "description": "Compare this run with the last run that used the same input. Save only products that are new, changed, back again, or no longer found. A product counts as no longer found only after a complete scan. The first run saves every product.",
            "default": 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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}