{
  "openapi": "3.0.1",
  "info": {
    "title": "Trendyol Scraper",
    "description": "[💰 $1.0 / 1K] Extract products and customer reviews from Trendyol — Turkey's largest marketplace. Search by keyword, paste category or seller pages, or supply direct product URLs. Reviews are opt-in and emitted as separate dataset rows.",
    "version": "1.0",
    "x-build-id": "VXuTPFUtkHaWw7Nkx"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/solidcode~trendyol-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-solidcode-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/solidcode~trendyol-scraper/runs": {
      "post": {
        "operationId": "runs-sync-solidcode-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/solidcode~trendyol-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-solidcode-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",
        "properties": {
          "searchQueries": {
            "title": "Search Keywords",
            "type": "array",
            "description": "Trendyol product search terms (e.g., 'erkek spor ayakkabı', 'kahve makinesi', 'iPhone 15'). Each keyword runs as a separate search. Leave empty if you only want to use URLs below.",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "Trendyol URLs",
            "type": "array",
            "description": "Paste Trendyol URLs directly. Accepts search result pages (trendyol.com/sr?q=...), category pages (trendyol.com/<category>-x-c<id>), seller / merchant pages (trendyol.com/magaza/...), and direct product URLs (trendyol.com/<brand>/<product>-p-<id>). Mix any types in one list.",
            "items": {
              "type": "string"
            }
          },
          "maxProductsPerSource": {
            "title": "Maximum products per source",
            "minimum": 0,
            "type": "integer",
            "description": "Cap on the number of product rows returned per search keyword, category URL, or seller URL. Direct product URLs always return exactly one product and are unaffected by this cap. Set to 0 for unlimited — we cap each source at 50 result pages as a runaway safety net (about 5,000 products per source at Trendyol's max page size). When client-side filters are active (rating, price, badges) we scan up to 5x your cap before giving up — tighten or loosen filters accordingly.",
            "default": 100
          },
          "includeReviews": {
            "title": "Also extract customer reviews",
            "type": "boolean",
            "description": "When on, the actor fetches customer reviews for every product it returns and emits them as separate rows (recordType=\"review\"). Off by default to keep runs lean — reviews are billed at a separate per-row rate.",
            "default": false
          },
          "maxReviewsPerProduct": {
            "title": "Maximum reviews per product",
            "minimum": 0,
            "type": "integer",
            "description": "Cap on review rows extracted from each product. Ignored when 'Also extract customer reviews' is off. Set to 0 to fetch every review Trendyol exposes for a product (can be thousands for popular items). When set to 0 we still stop after 1,000 pages of reviews (~50,000 reviews per product) as a safety cap.",
            "default": 50
          },
          "sort": {
            "title": "Sort order",
            "enum": [
              "best_match",
              "newest",
              "price_asc",
              "price_desc",
              "best_seller",
              "most_favorited",
              "most_rated"
            ],
            "type": "string",
            "description": "Result ordering for search keywords and category URLs. 'Best match' is Trendyol's default ranking. Ignored when scraping direct product URLs.",
            "default": "best_match"
          },
          "minPrice": {
            "title": "Minimum price (TL)",
            "minimum": 0,
            "type": "integer",
            "description": "Only include products priced at or above this value in Turkish Lira. Leave empty for no minimum."
          },
          "maxPrice": {
            "title": "Maximum price (TL)",
            "minimum": 0,
            "type": "integer",
            "description": "Only include products priced at or below this value in Turkish Lira. Leave empty for no maximum."
          },
          "minRating": {
            "title": "Minimum star rating",
            "enum": [
              "any",
              "3",
              "4",
              "4.5"
            ],
            "type": "string",
            "description": "Only include products whose average customer rating is at least this many stars. Leave empty for no minimum.",
            "default": "any"
          },
          "freeShippingOnly": {
            "title": "Free shipping only",
            "type": "boolean",
            "description": "Only include products eligible for free shipping.",
            "default": false
          },
          "fastDeliveryOnly": {
            "title": "Fast delivery only",
            "type": "boolean",
            "description": "Only include products tagged with Trendyol's fast-delivery / same-day badge.",
            "default": false
          },
          "discountedOnly": {
            "title": "Discounted products only",
            "type": "boolean",
            "description": "Only include products currently on sale (showing a strike-through original price).",
            "default": false
          },
          "country": {
            "title": "Storefront",
            "enum": [
              "tr",
              "az",
              "international"
            ],
            "type": "string",
            "description": "Which Trendyol storefront to target. The default Turkey marketplace (trendyol.com) is the broadest catalog with all reviews available. Other storefronts have smaller catalogs and different currencies.",
            "default": "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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}