# Trendyol Scraper | All-In-One | $8 / 1K (`fatihtahta/trendyol-scraper`)

Scrape Trendyol.com by keyword or any filtered URL across 40+ countries (EU, UAE, TR, USA). Captures all product data including prices, ratings, promotions, all images, and IDs.  Ideal for in-depth market research and competitor monitoring.

- **URL**: https://beta-securitybyobscurity.apify.com/fatihtahta/trendyol-scraper.md
- **Developed by:** [Fatih Tahta](https://beta-securitybyobscurity.apify.com/fatihtahta) (community)
- **Categories:** E-commerce, Developer tools, Automation
- **Stats:** 15 total users, 14 monthly users, 97.5% runs succeeded, 2 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

Pay per event

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

# README

## All-In-One Trendyol Scraper

**All-In-One Trendyol Scraper** is a powerful and reliable tool for extracting comprehensive product data from over 40 Trendyol country sites. Scrape by keyword or by providing a custom URL with filters to get deep insights into product listings, pricing, and performance metrics.

This unofficial Trendyol API is your go-to solution for market research, competitor monitoring, price tracking, and e-commerce analytics.

### Features 🚀

With this all-in-one tool, you can:

- **Scrape by Keyword**: Easily extract product data for any search term.
- **Scrape by URL with Filters**: Provide your own pre-filtered search URL from Trendyol to scrape a highly specific dataset.
- **Multi-Country Support**: Target over 40 countries across the EU, Middle East, and more, including Türkiye, Germany, UAE, and the USA.
- **Comprehensive Data Extraction**: Get a rich dataset for every product, including all data points available from the API.
- **Flexible Export Options**: Download your data as JSON, CSV, Excel, or HTML.
- **API & Integrations**: Integrate your data directly into your own applications and workflows.

### Why Scrape Trendyol? 🛍️

Trendyol is a massive e-commerce player, especially in Europe and the Middle East. Scraping its data provides invaluable insights for your business.

- **Competitor Analysis**: Monitor your competitors' pricing, promotions, and product catalogs in real-time across different markets.
- **Market Research**: Identify best-selling products, emerging trends, and gaps in the market by analyzing product performance data like review counts and favorites.
- **Price Monitoring**: Track dynamic pricing to ensure your own products are competitively priced.
- **Brand Monitoring**: Understand how your products and brand are represented and performing on one of the largest online marketplaces.
- **Lead Generation**: Find successful third-party sellers and popular brands for potential partnerships.

### How much will it cost? 💰

This actor uses a **pay-per-event** pricing model to give you precise control over your costs. You are charged a small fee for each product record extracted.

- **You will be charged $0.008 per product record**, which comes to **$8.00 per 1,000 products scraped**.
- The **Apify Free plan** gives you **$5.00 in free usage credits** every month, which is enough to scrape over **600 products for free**.
- With a **$49/month Starter plan**, you could scrape over **6,000 products** every month.

### Input

The scraper accepts either a list of keywords or a list of full Trendyol search URLs. The `region` field is always required.

#### Input example using keywords

```json
{
  "keywords": [
    "sneakers",
    "sweatshirt"
  ],
  "region": "DE",
  "maxProductsPerKeyword": 200
}
```

#### Input example using a URL with filters

```json
{
  "startUrls": [
    "[https://www.trendyol.com/de/sr?wg=2&wc=104653&prc=30-60&vr=beden](https://www.trendyol.com/de/sr?wg=2&wc=104653&prc=30-60&vr=beden)|M"
  ],
  "region": "DE",
  "maxProductsPerKeyword": 500
}
```

### Output Data Structure

The results are stored in a dataset. Each item is a product with a comprehensive set of data fields. You can download the data in formats like JSON, CSV, or Excel.

Here is an example of a single product record in the output:

```json
{
  "id": 79991234,
  "productName": "Black Crew Neck Crop Knitwear Blouse Twoss21Bz0098",
  "productUrl": "[https://www.trendyol.com/en/trendyol-collection/black-crew-neck-crop-knitwear-blouse-twoss21bz0098-p-79991234?boutiqueId=48&merchantId=968](https://www.trendyol.com/en/trendyol-collection/black-crew-neck-crop-knitwear-blouse-twoss21bz0098-p-79991234?boutiqueId=48&merchantId=968)",
  "price": 10.99,
  "originalPrice": null,
  "currency": "€",
  "brand": "Trendyol Collection",
  "imageUrl": "[https://cdn.dsmcdn.com/mnresize/400/-/ty370/product/media/images/20220322/15/74517148/135591900/2/2_org_zoom.jpg](https://cdn.dsmcdn.com/mnresize/400/-/ty370/product/media/images/20220322/15/74517148/135591900/2/2_org_zoom.jpg)",
  "ratingScore": 4.525,
  "reviewCount": 1813,
  "favoriteCount": 114000,
  "basketCount": 216,
  "orderCount": "10+",
  "pageViewCount": 215,
  "sellerName": null,
  "freeShipping": false,
  "searchKeyword": "crop",
  "allImageUrls": [
    "[https://cdn.dsmcdn.com/mnresize/400/-/ty370/product/media/images/20220322/15/74517148/135591900/2/2_org_zoom.jpg](https://cdn.dsmcdn.com/mnresize/400/-/ty370/product/media/images/20220322/15/74517148/135591900/2/2_org_zoom.jpg)",
    "[https://cdn.dsmcdn.com/mnresize/400/-/ty371/product/media/images/20220322/15/74517148/135591900/3/3_org_zoom.jpg](https://cdn.dsmcdn.com/mnresize/400/-/ty371/product/media/images/20220322/15/74517148/135591900/3/3_org_zoom.jpg)"
  ],
  "categoryId": 590,
  "categoryName": "Blouse",
  "brandId": 40,
  "merchantId": 968,
  "variantValue": "XS",
  "hasReviewPhoto": true,
  "cardType": "PRODUCT",
  "promotions": [
    {
      "id": 5244677,
      "shortName": "Free shipping over 30 EUR",
      "discountType": 7
    }
  ]
}
```

### Is it legal to scrape Trendyol?

This scraper is designed to be ethical and only extracts publicly available data from the website. It does not access any private user information.
However, you should be aware that your results could contain personal data in some cases (e.g., seller names). Personal data is protected by regulations like GDPR, and you should not scrape it unless you have a legitimate reason. If you are unsure, it's best to consult with a legal professional.
Happy Scrapings!
Fatih

# Actor input Schema

## `startUrls` (type: `array`):

Optional. Provide one or more full Trendyol search URLs. This will override the keyword search. Ideal for scraping with pre-selected filters.

## `keywords` (type: `array`):

Enter one or more keywords to search for if not using a Start URL. E.g., 'sneakers', 't-shirt'.

## `region` (type: `string`):

Select the country to search in. This applies to both keyword and URL searches.

## `maxProductsPerKeyword` (type: `integer`):

The maximum number of products to scrape for each URL or keyword.

## `proxyConfiguration` (type: `object`):

Use Apify's residential proxies for the best results.

## Actor input object example

```json
{
  "keywords": [
    "Sweatshirt"
  ],
  "region": "TR",
  "maxProductsPerKeyword": 100,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "keywords": [
        "Sweatshirt"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("fatihtahta/trendyol-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "keywords": ["Sweatshirt"] }

# Run the Actor and wait for it to finish
run = client.actor("fatihtahta/trendyol-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "keywords": [
    "Sweatshirt"
  ]
}' |
apify call fatihtahta/trendyol-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=fatihtahta/trendyol-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Trendyol Scraper | All-In-One | $8 / 1K",
        "description": "Scrape Trendyol.com by keyword or any filtered URL across 40+ countries (EU, UAE, TR, USA). Captures all product data including prices, ratings, promotions, all images, and IDs.  Ideal for in-depth market research and competitor monitoring.",
        "version": "0.0",
        "x-build-id": "d10aUSBsAGV4jL2bX"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/fatihtahta~trendyol-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-fatihtahta-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/fatihtahta~trendyol-scraper/runs": {
            "post": {
                "operationId": "runs-sync-fatihtahta-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/fatihtahta~trendyol-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-fatihtahta-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": [
                    "region"
                ],
                "properties": {
                    "startUrls": {
                        "title": "Start URLs (overrides other settings)",
                        "type": "array",
                        "description": "Optional. Provide one or more full Trendyol search URLs. This will override the keyword search. Ideal for scraping with pre-selected filters.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "keywords": {
                        "title": "Search Keyword(s)",
                        "type": "array",
                        "description": "Enter one or more keywords to search for if not using a Start URL. E.g., 'sneakers', 't-shirt'.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "region": {
                        "title": "Trendyol Country",
                        "enum": [
                            "AT",
                            "BH",
                            "BE",
                            "BG",
                            "HR",
                            "CZ",
                            "DK",
                            "EE",
                            "FI",
                            "FR",
                            "GE",
                            "DE",
                            "GR",
                            "HU",
                            "IE",
                            "IQ",
                            "IT",
                            "JO",
                            "KZ",
                            "KW",
                            "KG",
                            "LV",
                            "LB",
                            "LT",
                            "LU",
                            "MD",
                            "NL",
                            "OM",
                            "PL",
                            "PT",
                            "QA",
                            "RO",
                            "SA",
                            "SK",
                            "SI",
                            "ES",
                            "SE",
                            "TR",
                            "UA",
                            "AE",
                            "US"
                        ],
                        "type": "string",
                        "description": "Select the country to search in. This applies to both keyword and URL searches.",
                        "default": "TR"
                    },
                    "maxProductsPerKeyword": {
                        "title": "Maximum Products per URL/Keyword",
                        "type": "integer",
                        "description": "The maximum number of products to scrape for each URL or keyword.",
                        "default": 100
                    },
                    "proxyConfiguration": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Use Apify's residential proxies for the best results.",
                        "default": {
                            "useApifyProxy": true,
                            "apifyProxyGroups": [
                                "RESIDENTIAL"
                            ]
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
