Trendyol Scraper avatar

Trendyol Scraper

Pricing

Pay per event

Go to Apify Store
Trendyol Scraper

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

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

16 hours ago

Last modified

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?

AreaExample fields
ProductproductId, productGroupId, name, brand, category, url, imageUrl
Priceprice, originalPrice, currency, promotions
AvailabilityinStock when Trendyol exposes a stock signal
SellermerchantId, merchantName, seller score, location, product count, store URL, seller metrics
Ratingaverage rating, ratingCount, reviewCount
Reviewsrating, comment, date, likes, language, seller, media URLs
Q&Aquestion, answer, seller, creation date
ProvenancesearchQuery, 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

  1. Open the Actor input page.
  2. Keep the example laptop bag query or enter your own product terms.
  3. Set Maximum products to a small value for the first run.
  4. Enable seller, review, or Q&A enrichment only when you need those records.
  5. Keep Use Turkish residential proxy enabled for the Turkish catalog.
  6. Click Start.
  7. Open the Products dataset view.
  8. 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

FieldTypeDefaultPurpose
searchQueriesstring array['laptop bag']Product keywords to search.
startUrlsURL arrayemptyPublic Trendyol product or search-result URLs.
maxItemsinteger10Maximum product rows across all inputs, from 1 to 1,000.
includeSellerbooleanfalseAdd the public seller profile and performance labels.
includeReviewsbooleanfalseAdd public reviews to each product.
includeQuestionsbooleanfalseAdd public answered Q&A to each product.
maxReviewsPerProductinteger10Review cap per product, from 1 to 200.
maxQuestionsPerProductinteger10Answered-question cap per product, from 1 to 200.
useResidentialProxybooleantrueUse a sticky residential browser session.
proxyCountryCodestringTRTwo-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 ApifyClient
client = 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().items
print(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:

  1. a residential proxy in the selected country;
  2. one sticky identity for cookies and JSON requests;
  3. a normal desktop browser fingerprint;
  4. 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.
  • inStock is null when 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.

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.