Trendyol Scraper
Pricing
Pay per event
Trendyol Scraper
Extract Trendyol products, sellers, prices, promotions, stock, ratings, reviews, and answered Q&A for marketplace monitoring.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
16 hours ago
Last modified
Categories
Share
Extract Trendyol products, prices, promotions, stock signals, sellers, ratings, reviews, and answered Q&A into a structured Apify dataset.
Use it for marketplace price and assortment monitoring, seller research, customer-feedback analysis, and recurring data pipelines. The Actor supports keyword searches and individual public product URLs. A Turkish residential browser session is enabled by default so runs can access the Turkish catalog and TRY prices.
What does Trendyol Scraper do?
Trendyol Scraper turns public marketplace pages into one typed product record per dataset item.
It can:
- search products by one or more keywords;
- extract product IDs, names, brands, categories, images, and URLs;
- capture current and original prices, currencies, promotions, and availability signals;
- enrich products with public seller profiles and performance metrics;
- collect public review text, ratings, dates, likes, and media links;
- collect public product questions and seller answers;
- use a sticky Turkish residential session for the Turkish storefront;
- cap products, reviews, and questions predictably;
- run on a schedule for recurring marketplace snapshots.
Review, question, and seller data is nested inside its product. This keeps the default dataset easy to join, export, and compare between runs.
Who is this Trendyol data extractor for?
E-commerce analysts can compare product prices, promotions, brands, and assortment.
Brand and category managers can monitor how products are positioned and rated on Trendyol.
Retail data teams can feed structured marketplace snapshots into a warehouse or dashboard.
Customer-insight teams can analyze public review and Q&A text without copying pages manually.
Developers can call the Actor through Apify API, JavaScript, Python, webhooks, schedules, or MCP.
The Actor does not access accounts, orders, checkout data, private seller contacts, or personal contact details.
Why use this Actor?
A plain HTTP request to Trendyol commonly receives a Cloudflare challenge. This Actor uses a real browser, coherent cookies, and a sticky session. It then reads Trendyol's structured page state and public JSON responses instead of relying on brittle visible-text selectors.
Other practical advantages include:
- Turkish geography by default;
- bounded session rotation when an identity is challenged;
- explicit international/direct mode when Turkish routing is unnecessary;
- separate limits for products, reviews, and questions;
- no silent success when Trendyol returns a challenge page;
- typed fields suitable for JSON, CSV, Excel, and database ingestion.
What Trendyol data can you extract?
| Area | Example fields |
|---|---|
| Product | productId, productGroupId, name, brand, category, url, imageUrl |
| Price | price, originalPrice, currency, promotions |
| Availability | inStock when Trendyol exposes a stock signal |
| Seller | merchantId, merchantName, seller score, location, product count, store URL, seller metrics |
| Rating | average rating, ratingCount, reviewCount |
| Reviews | rating, comment, date, likes, language, seller, media URLs |
| Q&A | question, answer, seller, creation date |
| Provenance | searchQuery, sourceUrl, scrapedAt |
Some fields can be null when Trendyol does not expose them for a product or storefront. Empty review or question arrays mean the enrichment was requested but no matching public records were available within the configured limit.
Getting started
- Open the Actor input page.
- Keep the example
laptop bagquery or enter your own product terms. - Set Maximum products to a small value for the first run.
- Enable seller, review, or Q&A enrichment only when you need those records.
- Keep Use Turkish residential proxy enabled for the Turkish catalog.
- Click Start.
- Open the Products dataset view.
- Export the results or connect the run to your workflow.
For a single product, leave search queries empty and add its public Trendyol URL under Trendyol URLs.
Input parameters
| Field | Type | Default | Purpose |
|---|---|---|---|
searchQueries | string array | ['laptop bag'] | Product keywords to search. |
startUrls | URL array | empty | Public Trendyol product or search-result URLs. |
maxItems | integer | 10 | Maximum product rows across all inputs, from 1 to 1,000. |
includeSeller | boolean | false | Add the public seller profile and performance labels. |
includeReviews | boolean | false | Add public reviews to each product. |
includeQuestions | boolean | false | Add public answered Q&A to each product. |
maxReviewsPerProduct | integer | 10 | Review cap per product, from 1 to 200. |
maxQuestionsPerProduct | integer | 10 | Answered-question cap per product, from 1 to 200. |
useResidentialProxy | boolean | true | Use a sticky residential browser session. |
proxyCountryCode | string | TR | Two-letter residential proxy country code. |
At least one non-empty search query or supported Trendyol URL is required. URLs from other domains and unsupported Trendyol routes fail input validation.
Example inputs
Search products and prices
{"searchQueries": ["laptop bag", "coffee machine"],"maxItems": 25,"useResidentialProxy": true,"proxyCountryCode": "TR"}
Enrich one product with seller, reviews, and Q&A
{"startUrls": [{"url": "https://www.trendyol.com/en/trendyol-shoes/black-medium-size-women-s-laptop-briefcase-takss26lc00001-p-1086400337?boutiqueId=651724&merchantId=968"}],"maxItems": 1,"includeSeller": true,"includeReviews": true,"includeQuestions": true,"maxReviewsPerProduct": 20,"maxQuestionsPerProduct": 20,"useResidentialProxy": false}
Output example
A current product-enrichment run produces records shaped like this:
{"productId": 1086400337,"productGroupId": 825858629,"name": "Black Medium Size Women's Laptop & Briefcase Takss26Lc00001","brand": "TRENDYOL SHOES","category": "Laptop Bag","url": "https://www.trendyol.com/en/trendyol-shoes/black-medium-size-women-s-laptop-briefcase-takss26lc00001-p-1086400337?boutiqueId=651724&merchantId=968","price": 22.3,"currency": "€","merchantId": 968,"merchantName": "Trendyol","rating": 3.8,"ratingCount": 44,"reviewCount": 28,"seller": {"id": 968,"name": "Trendyol","location": "İstanbul"},"reviews": [{"rating": 5,"comment": "Laptop koymak için aldım ve tam ölçüsünde oldu. Çok şık.","language": "tr"}],"questions": [{"question": "Hakiki deri mi","answer": "Merhaba, ürün 100% Deridir. İlginiz için teşekkür ederiz."}],"searchQuery": null,"scrapedAt": "2026-07-30T02:45:14.559Z"}
Public review and Q&A text is source content and may be in Turkish even when the product page uses another language.
How much does it cost to scrape Trendyol products?
The Actor uses pay-per-event pricing:
- a one-time Start event is charged once per run;
- one Item processed event is charged for each product saved;
- seller, review, and Q&A enrichment is included in that product item and has no separate event charge.
The current BRONZE price is $0.005 per run plus $0.0024668 per product. At that tier:
| Products (including run start) | Estimated Actor charge |
|---|---|
| 1 product (including run start) | $0.0074668 |
| 10 products (including run start) | $0.029668 |
| 100 products (including run start) | $0.25168 |
| 1,000 products (including run start) | $2.4718 |
Apify plan tiers receive different item prices as shown on the Actor pricing tab. The maximum total charge setting can be used as a run-level budget guard. Residential proxy traffic and browser compute are covered by the Actor price rather than billed as separate customer events.
Marketplace monitoring workflows
Price and promotion snapshots
Schedule the same search input daily. Export each dataset with its scrapedAt value, then compare productId, price, originalPrice, promotions, and inStock over time.
Seller research
Enable includeSeller and group products by merchantId. Seller score, location, product count, dispatch labels, and response-time labels can support marketplace benchmarking.
Review analysis
Enable includeReviews, keep a practical per-product review limit, and send the nested review text to a sentiment or topic-analysis step. Review authors are not included in the normalized output.
Product Q&A research
Enable includeQuestions to identify recurring pre-purchase concerns and compare seller answers. Questions and answers remain attached to the relevant product record.
Export and integrations
The default dataset can be downloaded as JSON, CSV, Excel, XML, or RSS from Apify Console or API.
Common integrations include:
- Google Sheets for lightweight price comparison;
- Make or Zapier for scheduled notifications;
- webhooks after successful runs;
- Amazon S3, Google Drive, or a database for historical snapshots;
- Python or JavaScript pipelines for normalization and analysis;
- Apify schedules for recurring monitoring.
For comparisons, use productId as the primary product key and merchantId as the seller key. A listing can change seller, price, promotion, or availability between runs.
Run through the Apify API
Replace YOUR_TOKEN with an Apify API token.
cURL
curl -X POST \"https://api.apify.com/v2/acts/automation-lab~trendyol-scraper/runs?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"searchQueries":["laptop"],"maxItems":10,"useResidentialProxy":true,"proxyCountryCode":"TR"}'
JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/trendyol-scraper').call({searchQueries: ['laptop'],maxItems: 10,includeSeller: true,useResidentialProxy: true,proxyCountryCode: 'TR',});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_TOKEN")run = client.actor("automation-lab/trendyol-scraper").call(run_input={"searchQueries": ["laptop"],"maxItems": 10,"includeSeller": True,"useResidentialProxy": True,"proxyCountryCode": "TR",})items = client.dataset(run["defaultDatasetId"]).list_items().itemsprint(items)
Use Trendyol Scraper with MCP
Add the Actor to Claude Code:
claude mcp add --transport http apify \"https://mcp.apify.com?tools=automation-lab/trendyol-scraper"
Claude Desktop, Cursor, and VS Code setup
Claude Desktop, Cursor, and VS Code can use this equivalent HTTP MCP configuration:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com?tools=automation-lab/trendyol-scraper"}}}
Example prompts:
- “Search Trendyol for laptop listings and return the five lowest current TRY prices.”
- “Extract the public seller, latest reviews, and answered questions for this Trendyol product URL.”
- “Compare these scheduled Trendyol datasets and show products whose price changed.”
Proxy, sessions, and reliability
The Turkish storefront commonly rejects ordinary HTTP requests. The default mode therefore uses:
- a residential proxy in the selected country;
- one sticky identity for cookies and JSON requests;
- a normal desktop browser fingerprint;
- up to three fresh sessions when Trendyol rejects an identity.
A challenge page is treated as an error, not as a valid empty result. The Actor never silently switches a Turkish run to an international storefront.
Set useResidentialProxy to false only when international results and the storefront selected by Trendyol for the run location are acceptable.
Limits and expected behavior
- Trendyol can change page state, JSON response fields, or anti-bot rules.
- Search ordering and result counts can vary by country, time, and personalization.
inStockisnullwhen no reliable availability signal is exposed.- Review and Q&A arrays are bounded by their per-product limits.
- Enrichment adds browser/API requests and increases runtime.
- A naturally empty search completes with zero rows and an explanatory log.
- Invalid URLs, challenge pages, and exhausted sessions fail the run visibly.
- The Actor does not monitor changes by itself; use schedules and compare datasets.
Start with a small maxItems, verify the storefront and fields, then scale the scheduled workflow.
Troubleshooting
The run says all Trendyol sessions failed
A source identity was challenged or the proxy tunnel was temporarily unavailable. Retry later with Turkish residential routing enabled. Do not disable the proxy if Turkish catalog fidelity is required.
Prices use EUR instead of TRY
The run used the international/direct mode or Trendyol selected an international storefront. Enable useResidentialProxy and set proxyCountryCode to TR for Turkish TRY results.
Seller is null
Enable includeSeller. A seller can also be absent when the listing lacks a merchant ID or Trendyol does not return a public seller profile.
Reviews or questions are empty
Confirm the relevant enrichment switch is enabled. Some products have no public reviews or answered questions, and limits only cap available records—they do not create missing data.
The run is slower after enrichment
Each enriched product requires a product page and selected public JSON calls. Reduce maxItems, maxReviewsPerProduct, or maxQuestionsPerProduct, or disable enrichments not needed by the workflow.
Legality and responsible use
This Actor extracts public marketplace information. Use it in accordance with applicable law, Trendyol's terms, and your organization's policies.
Do not use it to:
- access accounts, orders, checkout, or private data;
- collect private seller contacts or personal contact details;
- attempt to identify masked reviewers or question authors;
- make automated decisions about individuals;
- overload the source with unnecessarily large or frequent runs.
You are responsible for choosing a lawful purpose, appropriate retention period, and reasonable schedule.
Related Automation Lab Actors
- Amazon Scraper for Amazon product and offer research.
- Allegro Scraper for another European marketplace.
- Amazon Reviews Scraper for Amazon customer-feedback analysis.
Use separate source-specific Actors when you need comparable datasets across marketplaces.
FAQ
Does this Actor use Trendyol's seller integration API?
No. It reads public storefront data and does not require seller credentials.
Can it extract a specific product?
Yes. Add its public Trendyol URL to startUrls and set maxItems to 1.
Can it scrape multiple keywords?
Yes. Add multiple strings to searchQueries. maxItems applies to the combined, deduplicated results.
Are reviews and questions separate paid items?
No. They are nested in the product result and included in the single product item event.
Can it track price changes?
Schedule recurring runs and compare records by productId. The Actor produces snapshots; your schedule or downstream workflow performs the comparison.
Does it support Trendyol Germany or other international storefronts?
Direct mode can return the international storefront selected by Trendyol for the run location. The Actor does not promise a specific non-Turkish country when residential routing is disabled.
Is every field always available?
No. Marketplace responses vary by product, seller, and storefront. The output schema intentionally permits nullable fields.