Hepsiburada Scraper | Fast & Reliable avatar

Hepsiburada Scraper | Fast & Reliable

Pricing

$4.99 / 1,000 results

Go to Apify Store
Hepsiburada Scraper | Fast & Reliable

Hepsiburada Scraper | Fast & Reliable

Fast and reliable Hepsiburada scraper. Scrape comprehensive product listings for any search query, including price, ratings, review counts, and promotions. Ideal for in-depth market research and competitor monitoring.

Pricing

$4.99 / 1,000 results

Rating

5.0

(1)

Developer

Fatih Tahta

Fatih Tahta

Maintained by Community

Actor stats

3

Bookmarked

54

Total users

3

Monthly active users

7 hours ago

Last modified

Share

HepsiBurada Scraper

Slug: fatihtahta/hepsiburada-scraper

Overview

HepsiBurada Scraper collects structured product records from Hepsiburada search queries, search result pages, category pages, and direct product URLs, including product identity, pricing, merchant, media, availability, delivery, ratings, classification, variants, and optional customer content. Hepsiburada is one of Turkey's major ecommerce marketplaces, making its public product data useful for pricing analysis, assortment tracking, catalog enrichment, and market intelligence. The actor converts public marketplace pages into repeatable JSON output that can be used in analytics, reporting, enrichment, and operational workflows. It supports automation-friendly collection patterns so teams can run the same scope repeatedly and compare structured records over time. The actor is designed for dependable recurring data acquisition while remaining transparent about target-side variability and optional field availability.

Why Use This Actor

  • Market research and analytics: build normalized datasets for pricing, assortment, availability, ratings, merchant, and category analysis across Hepsiburada product segments.
  • Product and content teams: audit product titles, descriptions, images, specifications, variants, and review signals for catalog planning or content benchmarking.
  • Developers and data engineering teams: feed structured extraction results into downstream systems, warehouses, BI models, enrichment pipelines, or monitoring jobs.
  • Lead generation and enrichment teams: identify marketplace sellers, product groups, brand coverage, and merchant attributes for public-data enrichment workflows.
  • Monitoring and competitive tracking teams: schedule recurring runs to observe price movement, discount status, fast-delivery signals, product availability, and ranking changes.

Common Use Cases

  • Market intelligence: monitor supply, pricing, discounts, availability, ratings, merchant coverage, and category movement.
  • Competitive monitoring: track changes across competing products, sellers, brands, listings, and marketplace promotions.
  • Catalog and directory building: populate internal product databases with structured public product, merchant, media, and classification records.
  • Data enrichment: add current Hepsiburada attributes to CRM, BI, catalog, product intelligence, or analytics datasets.
  • Voice-of-customer analysis: collect optional reviews and Q&A records linked back to products for sentiment, quality, and buyer-intent research.
  • Recurring reporting: schedule periodic runs for dashboards, alerts, category scorecards, and trend analysis.

Quick Start

  1. Choose one or more queries or startUrls so the actor knows which Hepsiburada products to collect.
  2. Set a small limit, such as 10 or 25, for the first validation run.
  3. Add optional filters such as price range, rating, sorting, delivery, discount, gender, or merchant signals when you need a narrower dataset.
  4. Run the actor in Apify Console.
  5. Inspect the first dataset records to confirm the product, pricing, merchant, and source context fields match your use case.
  6. Increase limit, enable enrichment or customer content if needed, and schedule recurring runs once the output is verified.

Input Parameters

Provide at least one direct Hepsiburada URL in startUrls or one product search term in queries.

ParameterTypeDescriptionDefault
startUrlsarray of stringsHepsiburada search result, category, or individual product URLs for precise collection from known pages.-
queriesarray of stringsProduct-focused search keywords such as brands, models, product types, or categories. Each query is collected separately.-
min_pricenumberLowest product price to include for query-based searches, in TRY. Minimum value: 0.-
max_pricenumberHighest product price to include for query-based searches, in TRY. Minimum value: 0.-
min_ratingstringMinimum customer rating for query-based searches. Allowed values: 1, 2, 3, 4, representing 1+ to 4+ stars.-
sort_bystringSearch result ordering. Allowed values: recommended, lowest_price, highest_price, best_sellers, most_reviewed, top_rated, highest_discount, newest_arrivals.recommended
genderarray of stringsGender or age-group filters for supported product categories. Allowed values: male, female, unisex, boys, girls.-
fast_deliverybooleanCollect only products marked with fast delivery when the signal is available.false
discountedbooleanCollect only products currently shown with a discount.false
women_entrepreneur_productsbooleanCollect only products identified by Hepsiburada as women entrepreneur products.false
official_distibutorbooleanCollect only products from authorized or official distributors.false
maximize_coveragebooleanExpand broad searches when the visible result set may otherwise cap discovery. Useful for larger product segments.false
enrich_databooleanAdd richer product-level details such as descriptions, specifications, variants, merchant details, delivery information, and review summaries.false
get_reviewsbooleanSave customer review records linked to each saved product.false
max_reviewsintegerMaximum review records to save per product. Only applies when get_reviews is enabled. Minimum value: 0.-
get_qnabooleanSave published product questions and merchant answers linked to each saved product.false
max_qnaintegerMaximum Q&A records to save per product. Only applies when get_qna is enabled. Minimum value: 0.-
limitintegerMaximum product records to save per query or direct collection target. Minimum value: 1.-

Choosing Inputs

Use queries when you want the actor to discover products from search terms, compare multiple product groups, or monitor a category by keyword. Use startUrls when you already have a specific Hepsiburada search page, category page, or product page and want the run to follow that exact public surface.

Filters make query-based runs more targeted. Price bounds define the TRY price band, min_rating narrows by customer rating, sort_by controls result priority, and shopping-signal fields such as fast_delivery, discounted, women_entrepreneur_products, and official_distibutor focus the dataset on specific marketplace attributes. Leave optional filters empty when broad discovery is more important than precision.

Start with a small limit to validate shape and relevance, then increase it after confirming the dataset. Enable enrich_data when product detail depth matters more than speed, and enable get_reviews or get_qna when customer content is part of the analysis.

Example Inputs

Search-driven product run

{
"queries": ["iphone 15", "iphone sarj cihazi"],
"sort_by": "recommended",
"limit": 25,
"enrich_data": true
}

Direct URL collection

{
"startUrls": [
"https://www.hepsiburada.com/ara?q=beyzbol%20%C5%9Fapkas%C4%B1"
],
"limit": 20,
"enrich_data": false
}

Filtered monitoring run

{
"queries": ["erkek t-shirt"],
"min_price": 250,
"max_price": 750,
"min_rating": "4",
"discounted": true,
"sort_by": "highest_discount",
"limit": 50
}

Output

Output Destination

The actor writes results to an Apify dataset as JSON records. The dataset is designed for direct consumption by analytics tools, ETL pipelines, and downstream APIs with minimal post-processing.

When customer content is enabled, the actor may write multiple record shapes. Product records are the primary records; review and Q&A records are separate rows linked back to the relevant product through product context and parent fingerprints.

Record Envelope And Stable Identifiers

Product records use product_id, variant_id, sku, url, and source_context.fingerprint as stable identifiers. The recommended idempotency key for product upserts is source_context.fingerprint; when joining with external catalogs, use sku or variant_id when available.

Review records use record_type = "review", review_id, product context, and source_context.fingerprint. Q&A records use record_type = "qna", qna_id, product context, and source_context.fingerprint. Use these fingerprints for deduplication and repeated-run upserts; stable identifiers make records easier to merge, deduplicate, and sync across repeated runs.

Examples

Example: product record

{
"product_id": "HBC00006TPE76",
"variant_id": "HBCV00006TPCT5",
"sku": "HBCV00006TPCT5",
"url": "https://www.hepsiburada.com/grimelange-solo-erkek-100-organik-pamuklu-kalin-dokulu-comfort-fit-bisiklet-yakali-siyah-t-shirt-p-HBCV00006TPCT5",
"title": "Grimelange Solo Erkek %100 Organik Pamuklu Kalin Dokulu Comfort Fit Bisiklet Yakali Siyah T-shirt",
"brand": "Grimelange",
"category": "T-Shirt",
"description": "Grimelange Solo Erkek %100 Organik Pamuklu Kalin Dokulu Comfort Fit Bisiklet Yakali Siyah T-shirt. Rahat ve sik bir gorunum icin duz tasarimiyla gunluk kullanima uygundur.",
"pricing": {
"current_price": 352.79,
"current_price_text": "352,79 TL",
"original_price": 352.79,
"discount_rate": 0,
"discount_type": "NoDiscount",
"currency": "TRY",
"tax_vat_rate": 10,
"installment_count": 12
},
"merchant": {
"name": "GRIMELANGE",
"id": "effbc4dc-6ea9-49e8-b3f2-d14333c6b96f",
"listing_id": "4df6c950-9b9b-48c4-bdf2-12f6bc02d0f9",
"city": "ADIYAMAN",
"country": "TURKIYE",
"url_postfix": "grimelange",
"rating": {
"lifetime": 9.2,
"count": 1076
}
},
"media": {
"main_image_url": "https://productimages.hepsiburada.net/s/777/800/110000902728393.jpg",
"image_urls": [
"https://productimages.hepsiburada.net/s/777/800/110000902728393.jpg",
"https://productimages.hepsiburada.net/s/777/800/110000902728394.jpg",
"https://productimages.hepsiburada.net/s/777/800/110000902728395.jpg"
]
},
"availability": {
"in_stock": true,
"is_pre_order": false,
"warehouse_id": "BIRINCIL",
"product_status": "InStock",
"is_product_live": true,
"is_closed_product": true,
"is_adult_product": false
},
"delivery": {
"jet_delivery": false,
"express_delivery": false,
"shipment_day": 2,
"ai_based_shipment_day": 5,
"shipping_profile_id": "79a0f4b8-626b-11ec-98ba-025041000001",
"winner_freight": 1.1,
"shipment_information": {
"days_to_ship": 2,
"cutoff_time": 12,
"free_shipping": false,
"fast_shipping": false
},
"shipping_details": {
"shipping_rate": {
"value": 44.9,
"currency": "TRY"
},
"destination_country": "TR",
"delivery_time": {
"handling_time": {
"unit_code": "Day",
"min_value": 0,
"max_value": 2
},
"transit_time": {
"unit_code": "Day",
"min_value": 0,
"max_value": 10
},
"cutoff_time": "18:00-09:00",
"business_days": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday"
]
}
}
},
"reviews": {
"rating": 4.4,
"score": 4,
"count": 3752
},
"attributes": {
"identifiers": {
"brand_id": "grimelange",
"barcode": "8682912043959"
},
"classification": {
"product_type": "TShirt",
"is_fashion_product": true,
"categories": [
{
"id": "2147483636",
"name": "Giyim / Ayakkabi",
"level": 1,
"breadcrumb_title": "Moda - Aksesuar",
"url_keyword": "giyim-ayakkabi",
"url": "https://www.hepsiburada.com/giyim-ayakkabi-c-2147483636"
},
{
"id": "12087279",
"name": "T-Shirt",
"level": 4,
"breadcrumb_title": "Erkek T-Shirt",
"url_keyword": "erkek-t-shirt",
"url": "https://www.hepsiburada.com/erkek-t-shirt-c-12087279"
}
],
"category_path": "/product/giyim-ayakkabi/erkek/giyim/t-shirt/HBC00006TPE76",
"category_id_hierarchy": "2147483636 > 12087177 > 60004641 > 12087279",
"category_name_hierarchy": "Giyim / Ayakkabi > Erkek > Giyim > T-Shirt"
},
"selected_options": {
"color": "Siyah"
},
"variant_summary": {
"has_variants": true,
"color_variant_count": 12,
"is_default_variant": true,
"is_multi_seller": false,
"variant_groups": [
{
"name": "Beden",
"display_type": "withoutimage",
"display_shape": "square",
"selected_value": "M",
"options": [
{
"name": "S",
"sku": "HBCV00006TPDO6",
"url_name": "grimelange-solo-erkek-100-organik-pamuklu-kalin-dokulu-comfort-fit-bisiklet-yakali-siyah-t-shirt",
"is_selected": false,
"is_in_stock": true,
"is_pre_order": false,
"thumbnail_url": "https://productimages.hepsiburada.net/s/777/80/110000902728393.jpg",
"barcode": "8682912043942"
},
{
"name": "M",
"sku": "HBCV00006TPCT5",
"url_name": "grimelange-solo-erkek-100-organik-pamuklu-kalin-dokulu-comfort-fit-bisiklet-yakali-siyah-t-shirt",
"is_selected": true,
"is_in_stock": true,
"is_pre_order": false,
"thumbnail_url": "https://productimages.hepsiburada.net/s/777/80/110000902728393.jpg",
"barcode": "8682912043959"
}
]
}
],
"variants": [
{
"sku": "HBCV00006TPCT5",
"name": "Grimelange Solo Erkek %100 Organik Pamuklu Kalin Dokulu Comfort Fit Bisiklet Yakali Siyah T-shirt",
"url": "https://www.hepsiburada.com/grimelange-solo-erkek-100-organik-pamuklu-kalin-dokulu-comfort-fit-bisiklet-yakali-siyah-t-shirt-p-HBCV00006TPCT5",
"url_name": "grimelange-solo-erkek-100-organik-pamuklu-kalin-dokulu-comfort-fit-bisiklet-yakali-siyah-t-shirt",
"price": 352.79,
"formatted_price": "352,79",
"thumbnail_url": "https://productimages.hepsiburada.net/s/777/80/110000902728393.jpg",
"is_default": true,
"is_marketplace_variant": true,
"is_in_stock": true,
"is_pre_order": false,
"gender_variant_classification": "man",
"winner_freight": 1.1,
"barcode": "8682912043959",
"barcodes": [
"8682912043959"
],
"properties": [
{
"name": "Beden",
"display_name": "Beden",
"value": "M"
},
{
"name": "Renk",
"display_name": "Renk",
"value": "Siyah"
}
]
}
]
},
"merchandising": {
"is_promoted": false,
"campaign_text": "Sezon fiyatlari",
"boosting_factors": [
"resultModification"
],
"tags": [
"organik-pamuk"
],
"badges": [
{
"group": "campaign",
"tag_name": "firsat",
"type": "badge"
}
]
},
"return_policy": {
"url": "https://www.hepsiburada.com/kolay-iade",
"days": 14
},
"specifications": {
"Materyal": "Pamuk",
"Kol Boyu": "Kisa"
}
},
"source_context": {
"source_url": "https://www.hepsiburada.com/ara?q=tshirt",
"domain": "www.hepsiburada.com",
"seed_id": "3ff38fc58b32",
"seed_type": "query",
"seed_value": "tshirt",
"page_index": 1,
"total_results": 10000,
"fingerprint": "dac7ddb42a4cd6f53568"
},
"is_enriched": true
}

Example: review (record_type = "review")

{
"record_type": "review",
"review_id": "704f70fc-7954-473d-a4e3-38fa9b0ff617",
"product": {
"sku": "HBV000002466P",
"product_id": "HB000002466O",
"variant_id": "HBV000002466P",
"url": "https://www.hepsiburada.com/apple-12w-ev-tipi-hizli-sarj-adaptoru-usb-lightning-iphone-ipad-ipod-apple-watch-ile-uyumlu-kompakt-ve-tasinabilir-tasarim-pm-HB000002466O",
"title": "Apple 12W Ev Tipi Hizli Sarj Adaptoru",
"brand": "Apple",
"image_url": "https://productimages.hepsiburada.net/s/32/800/10367126011954.jpg",
"parent_fingerprint": "af9f221389154da42df7"
},
"review": {
"content": "Gunluk kullanim icin dengeli ve guvenilir bir sarj adaptoru.",
"rating": 5,
"created_at": "2026-04-13T13:45:15.0259543+00:00",
"is_purchase_verified": true,
"report_count": 1,
"platform": 3,
"content_type": 1,
"reactions": {
"clap": 2,
"thumbsdown": 2
},
"feature_stars": [
{
"feature_id": "sarj_performansi",
"star": 5,
"icon_url": "https://images.hepsiburada.net/hermes/keyfeatures/sarj.png",
"text": "Sarj performansi"
}
],
"keywords": [
"guvenilir",
"gunluk kullanim"
]
},
"customer": {
"display_name": "O****************",
"name": "O***",
"surname": "B***********",
"is_influencer": false
},
"merchant": {
"id": "e750130c-d0ff-469f-8767-66a63af8ea0c",
"name": "Hepsiburada"
},
"media": [
{
"url": "https://images.hepsiburada.net/usercontents/s/0/800/sample-review-image.jpg",
"full_media_url": "https://images.hepsiburada.net/usercontents/usercontentimages_0/sample-review-image.jpg"
}
],
"source_context": {
"source_url": "https://www.hepsiburada.com/apple-12w-ev-tipi-hizli-sarj-adaptoru-usb-lightning-iphone-ipad-ipod-apple-watch-ile-uyumlu-kompakt-ve-tasinabilir-tasarim-pm-HB000002466O",
"domain": "www.hepsiburada.com",
"fingerprint": "6717a9d31c32f298954b",
"parent_fingerprint": "af9f221389154da42df7"
}
}

Example: qna (record_type = "qna")

{
"record_type": "qna",
"qna_id": "c20e0ee4-9325-4870-8204-ed08c010c6ae",
"product": {
"sku": "HBV000002466P",
"product_id": "HB000002466O",
"variant_id": "HBV000002466P",
"url": "https://www.hepsiburada.com/apple-12w-ev-tipi-hizli-sarj-adaptoru-usb-lightning-iphone-ipad-ipod-apple-watch-ile-uyumlu-kompakt-ve-tasinabilir-tasarim-pm-HB000002466O",
"title": "Apple 12W Ev Tipi Hizli Sarj Adaptoru",
"brand": "Apple",
"image_url": "https://productimages.hepsiburada.net/s/32/800/10367126011954.jpg",
"parent_fingerprint": "af9f221389154da42df7"
},
"question": {
"content": "Urunun garantisi hakkinda bilgi alabilir miyim?",
"created_at": "2021-09-03T14:43:33.4631035+00:00",
"updated_at": "2024-03-26T12:53:25.5612367+00:00",
"score": 50,
"helpful_score": 5,
"is_deleted": false
},
"answers": [
{
"answer": "Urun 2 yil Apple Turkiye garantilidir.",
"raw_qna_id": "61322b98bb29bc6662d9abc9",
"merchant_id": "2417e6bd-3de6-4afa-8a6c-064a7fb0fb59",
"merchant_name": "Birnumara",
"asked_at": "2021-09-03T14:05:12.971Z",
"answered_at": "2021-09-03T14:33:44.296Z",
"score": 5,
"like": 1,
"dislike": 0,
"reactions": {
"like": 1,
"dislike": 0
}
}
],
"source_context": {
"source_url": "https://www.hepsiburada.com/apple-12w-ev-tipi-hizli-sarj-adaptoru-usb-lightning-iphone-ipad-ipod-apple-watch-ile-uyumlu-kompakt-ve-tasinabilir-tasarim-pm-HB000002466O",
"domain": "www.hepsiburada.com",
"fingerprint": "4de25f9dce4d868e4028",
"parent_fingerprint": "af9f221389154da42df7"
}
}

Field Reference

Product Record

Product records do not require a record_type field. They represent one saved product or variant listing.

  • product_id (string, optional): Hepsiburada product identifier.
  • variant_id (string, optional): Product variant identifier.
  • sku (string, optional): SKU or variant SKU used for product matching.
  • url (string, optional): Public Hepsiburada product URL.
  • title (string, optional): Product title.
  • brand (string, optional): Product brand.
  • category (string, optional): Primary category label.
  • description (string, optional): Product description when available.
  • pricing.current_price (number, optional): Current visible price.
  • pricing.current_price_text (string, optional): Display price text.
  • pricing.original_price (number, optional): Original or reference price when available.
  • pricing.discount_rate (number, optional): Discount percentage or rate.
  • pricing.discount_type (string, optional): Discount classification.
  • pricing.currency (string, optional): Currency code, usually TRY.
  • pricing.tax_vat_rate (number, optional): VAT rate.
  • pricing.installment_count (number, optional): Installment count when available.
  • merchant.name (string, optional): Merchant name.
  • merchant.id (string, optional): Merchant identifier.
  • merchant.listing_id (string, optional): Merchant listing identifier.
  • merchant.city (string, optional): Merchant city.
  • merchant.country (string, optional): Merchant country.
  • merchant.url_postfix (string, optional): Merchant URL postfix.
  • merchant.rating.lifetime (number, optional): Merchant lifetime rating.
  • merchant.rating.count (number, optional): Merchant rating count.
  • media.main_image_url (string, optional): Primary product image URL.
  • media.image_urls (array, optional): Additional product image URLs.
  • availability.in_stock (boolean, optional): Whether the product is shown as in stock.
  • availability.is_pre_order (boolean, optional): Whether the product is shown as pre-order.
  • availability.in_stock_date (string, optional): Date or status text for future availability.
  • availability.warehouse_id (string, optional): Warehouse identifier when visible.
  • availability.available_warehouse_codes (array, optional): Available warehouse codes.
  • availability.product_status (string, optional): Product stock or lifecycle status.
  • availability.is_product_live (boolean, optional): Whether the product is live.
  • availability.is_closed_product (boolean, optional): Whether the listing is closed.
  • availability.is_adult_product (boolean, optional): Whether the product is marked as adult.
  • availability.is_available_product (boolean, optional): Availability indicator when present.
  • delivery.jet_delivery (boolean, optional): Jet delivery signal.
  • delivery.express_delivery (boolean, optional): Express delivery signal.
  • delivery.shipment_day (number, optional): Shipment day estimate.
  • delivery.ai_based_shipment_day (number, optional): Estimated shipment day value.
  • delivery.shipping_profile_id (string, optional): Shipping profile identifier.
  • delivery.winner_freight (number, optional): Freight or delivery score/value when present.
  • delivery.shipment_information (object, optional): Structured shipping information, including days, cutoff, and fast/free shipping signals when present.
  • delivery.shipping_details (object, optional): Structured shipping rate and delivery-time details.
  • reviews.rating (number, optional): Product rating.
  • reviews.score (number, optional): Product review score.
  • reviews.count (number, optional): Number of reviews.
  • reviews.summary (object, optional): Review summary when enrichment is enabled and available.
  • reviews.samples (array, optional): Sample review content when enrichment is enabled and available.
  • attributes.identifiers.brand_id (string, optional): Brand identifier.
  • attributes.identifiers.barcode (string, optional): Primary barcode.
  • attributes.identifiers.barcodes (array, optional): Additional barcodes.
  • attributes.classification.product_type (string, optional): Product type or definition.
  • attributes.classification.is_fashion_product (boolean, optional): Fashion-category indicator.
  • attributes.classification.categories (array, optional): Category hierarchy objects.
  • attributes.classification.category_path (string, optional): Category path.
  • attributes.classification.category_id_hierarchy (string, optional): Category ID hierarchy.
  • attributes.classification.category_name_hierarchy (string, optional): Category name hierarchy.
  • attributes.selected_options.color (string, optional): Selected color option.
  • attributes.selected_options.size (string, optional): Selected size option.
  • attributes.selected_options.variant_properties (array or object, optional): Selected variant properties.
  • attributes.variant_summary.has_variants (boolean, optional): Whether variants are available.
  • attributes.variant_summary.color_variant_count (number, optional): Number of color variants.
  • attributes.variant_summary.is_default_variant (boolean, optional): Whether the record is the default variant.
  • attributes.variant_summary.is_multi_seller (boolean, optional): Whether multiple sellers are available.
  • attributes.variant_summary.variant_options (array or object, optional): Variant option data.
  • attributes.variant_summary.variant_groups (array, optional): Variant groups such as color or size.
  • attributes.variant_summary.variants (array, optional): Related variant records.
  • attributes.merchandising.is_promoted (boolean, optional): Promotion indicator.
  • attributes.merchandising.campaign_text (string, optional): Campaign text.
  • attributes.merchandising.boosting_factors (array, optional): Ranking or merchandising labels.
  • attributes.merchandising.tags (array, optional): Product tags.
  • attributes.merchandising.badges (array, optional): Badge objects displayed for the product.
  • attributes.return_policy (object, optional): Return policy details when present.
  • attributes.specifications (object, optional): Product specifications.
  • source_context.source_url (string, optional): Source URL associated with the record.
  • source_context.domain (string, optional): Source domain.
  • source_context.seed_id (string, optional): Stable identifier for the input seed.
  • source_context.seed_type (string, optional): Input seed type, such as query or url.
  • source_context.seed_value (string, optional): Original query or URL seed value.
  • source_context.page_index (number, optional): Result page index.
  • source_context.page_type (string, optional): Page type when available.
  • source_context.total_results (number, optional): Total visible result count reported for the scope.
  • source_context.fingerprint (string, optional): Stable record fingerprint recommended for product deduplication.
  • is_enriched (boolean, optional): Whether enrichment was enabled for this product record.
  • source_record_id (string, optional): Additional source identifier when it differs from product, variant, or SKU identifiers.

Review Record

  • record_type (string, required): Record type. Value: review.
  • review_id (string, optional): Review identifier.
  • product.sku (string, optional): Product SKU linked to the review.
  • product.product_id (string, optional): Linked product identifier.
  • product.variant_id (string, optional): Linked variant identifier.
  • product.url (string, optional): Public product URL.
  • product.title (string, optional): Linked product title.
  • product.brand (string, optional): Linked product brand.
  • product.image_url (string, optional): Product image URL.
  • product.parent_fingerprint (string, optional): Fingerprint of the parent product record.
  • review.content (string, optional): Review text.
  • review.rating (number, optional): Review star rating.
  • review.created_at (string, optional): Review creation timestamp.
  • review.updated_at (string, optional): Review update timestamp.
  • review.is_purchase_verified (boolean, optional): Verified purchase signal.
  • review.report_count (number, optional): Report count.
  • review.platform (number, optional): Source platform indicator.
  • review.content_type (number, optional): Review content type indicator.
  • review.reactions (object, optional): Reaction counts.
  • review.feature_stars (array, optional): Feature-level star ratings.
  • review.keywords (array, optional): Review keywords when available.
  • customer.display_name (string, optional): Public customer display name.
  • customer.name (string, optional): Public customer name when available.
  • customer.surname (string, optional): Public customer surname when available.
  • customer.is_influencer (boolean, optional): Influencer indicator when available.
  • customer.profile_picture_url (string, optional): Customer profile image URL when available.
  • merchant.id (string, optional): Merchant identifier associated with the order or review.
  • merchant.name (string, optional): Merchant name.
  • merchant.url (string, optional): Merchant URL when available.
  • media (array or object, optional): Review media attached to the customer content.
  • source_context.source_url (string, optional): Source URL associated with the review record.
  • source_context.domain (string, optional): Source domain.
  • source_context.fingerprint (string, optional): Stable review fingerprint recommended for deduplication.
  • source_context.parent_fingerprint (string, optional): Parent product fingerprint.

Q&A Record

  • record_type (string, required): Record type. Value: qna.
  • qna_id (string, optional): Question identifier.
  • product.sku (string, optional): Product SKU linked to the question.
  • product.product_id (string, optional): Linked product identifier.
  • product.variant_id (string, optional): Linked variant identifier.
  • product.url (string, optional): Public product URL.
  • product.title (string, optional): Linked product title.
  • product.brand (string, optional): Linked product brand.
  • product.image_url (string, optional): Product image URL.
  • product.parent_fingerprint (string, optional): Fingerprint of the parent product record.
  • question.content (string, optional): Customer question text.
  • question.created_at (string, optional): Question creation timestamp.
  • question.updated_at (string, optional): Question update timestamp.
  • question.score (number, optional): Question score.
  • question.helpful_score (number, optional): Helpful score.
  • question.is_deleted (boolean, optional): Deleted-state indicator.
  • answers (array, optional): Merchant answer records linked to the question.
  • answers.answer (string, optional): Answer text.
  • answers.raw_qna_id (string, optional): Raw answer or Q&A identifier.
  • answers.merchant_id (string, optional): Answering merchant identifier.
  • answers.merchant_name (string, optional): Answering merchant name.
  • answers.asked_at (string, optional): Original question timestamp associated with the answer.
  • answers.answered_at (string, optional): Answer timestamp.
  • answers.score (number, optional): Answer score.
  • answers.like (number, optional): Like count.
  • answers.dislike (number, optional): Dislike count.
  • answers.reactions (object, optional): Reaction details.
  • source_context.source_url (string, optional): Source URL associated with the Q&A record.
  • source_context.domain (string, optional): Source domain.
  • source_context.fingerprint (string, optional): Stable Q&A fingerprint recommended for deduplication.
  • source_context.parent_fingerprint (string, optional): Parent product fingerprint.

Data Quality, Guarantees, And Handling

  • Structured records: results are normalized into predictable JSON objects for downstream use.
  • Best-effort extraction: fields may vary by region, session, availability, product type, marketplace state, or UI experiments.
  • Optional fields: null-check optional fields in downstream code, especially enrichment, delivery, variant, media, review, and Q&A fields.
  • Deduplication: use source_context.fingerprint as the strongest general key; use sku, variant_id, review_id, or qna_id when those match your storage model.
  • Freshness: results reflect the publicly available data at run time.
  • Repeated runs: use the recommended idempotency key when syncing data into warehouses, CRMs, search indexes, or product intelligence systems.

Tips For Best Results

  • Start with a small limit to validate the output shape before scaling up.
  • Use one product segment, brand, category URL, or query group per run when you need cleaner segmentation.
  • Leave optional filters empty when the goal is broad discovery.
  • Add price, rating, discount, delivery, and merchant-signal filters gradually to understand how each field changes coverage.
  • Use sort_by intentionally when ranking order matters for monitoring or reporting.
  • Enable enrich_data only when detailed product attributes are needed.
  • Schedule recurring runs for monitoring workflows instead of relying on manual one-off collection.

How To Run On Apify

  1. Open the Actor in Apify Console.
  2. Configure queries or startUrls for the target scope.
  3. Add optional filters and set the maximum number of product outputs with limit.
  4. Click Start and wait for the run to finish.
  5. Open the dataset and review the first records.
  6. Download results in JSON, CSV, Excel, or another supported Apify format.

Scheduling & Automation

Scheduling

Automated Data Collection

Schedule runs to keep pricing, availability, merchant, and customer-content datasets fresh without repeating manual setup. Recurring runs are especially useful for monitoring category movement, discount changes, and product availability over time.

  • Navigate to Schedules in Apify Console
  • Create a new schedule, such as daily, weekly, or custom cron
  • Configure input parameters
  • Enable notifications for run completion
  • Add webhooks for automated processing

Integration Options

  • BI dashboards: monitor pricing, availability, category movement, ratings, and merchant coverage over time.
  • Data warehouses: store normalized product, review, and Q&A records for historical analysis and modeling.
  • Scheduled exports: deliver recurring product datasets to operations, analytics, or market intelligence teams.
  • Alerts: notify teams when prices, discounts, availability, or review signals change in monitored segments.
  • Webhooks: trigger validation, notification, or ingestion workflows after each completed run.
  • ETL pipelines: merge Hepsiburada records into catalog, pricing, or competitive-intelligence systems.

Export Formats And Downstream Use

Apify datasets can be exported or consumed directly by downstream systems. Choose the format that matches your operational workflow and data volume.

  • JSON: for APIs, applications, and data pipelines
  • CSV or Excel: for spreadsheet workflows and manual review
  • API access: for automated ingestion into internal systems
  • BI and warehouses: for reporting, dashboards, and historical analysis

Performance

These are estimated run times:

  • Small runs (< 1,000 outputs): ~3-5 minutes
  • Medium runs (1,000-5,000 outputs): ~5-15 minutes
  • Large runs (5,000+ outputs): ~15-30 minutes

Execution time varies based on filters, result volume, and how much information is returned per record. Highly filtered runs can finish faster, while broad discovery, enrichment, reviews, or Q&A collection may take longer.

Limitations

  • Availability depends on what Hepsiburada publicly exposes at run time.
  • Some optional fields may be missing on sparse records, unavailable products, certain categories, or records without customer content.
  • Very broad searches may take longer or require higher limit values.
  • Target-side changes can affect field availability, naming, or visible result counts.
  • Regional, account, stock, merchant, or availability differences may change visible results.
  • Review and Q&A coverage depends on whether public customer content exists for the saved products.

Troubleshooting

  • No results returned: check filters, query spelling, direct URLs, and whether Hepsiburada has matching public products.
  • Fewer results than expected: broaden filters, raise limit, disable overly narrow options, or verify that enough matching products are publicly visible.
  • Some fields are empty: optional fields depend on what each product, merchant, review, or Q&A record publicly provides.
  • Run takes longer than expected: reduce scope, lower limit for validation, or split broad collection into smaller product segments.
  • Output changed: compare the current output with the field reference and report a small sample if support is needed.

FAQ

What data does this actor collect?

It collects public Hepsiburada product data, including product identifiers, URLs, titles, brands, categories, descriptions, pricing, merchants, media, availability, delivery information, ratings, classifications, variants, and optional reviews or Q&A.

Can I filter by category, price, rating, or other criteria?

Yes. You can use search queries or direct URLs, then refine query-based runs with price range, minimum rating, sorting, gender or age-group filters, fast delivery, discount, women entrepreneur product, and official distributor options.

Can I collect from direct Hepsiburada URLs?

Yes. Use startUrls for specific search result pages, category pages, or product pages.

Why did I receive fewer results than my limit?

The selected scope may not contain enough matching public products, filters may be narrow, or some products may not expose enough usable public data at run time.

Can I schedule recurring runs?

Yes. Use Apify schedules to run the actor daily, weekly, or on a custom cron schedule.

How do I avoid duplicates across runs?

Use source_context.fingerprint as the general idempotency key. For product-specific joins, sku, variant_id, or product_id may also be useful.

Can I export the data to CSV, Excel, or JSON?

Yes. Apify datasets support JSON, CSV, Excel, and other delivery formats, as well as API access for automated ingestion.

Does this actor collect private data?

No. It is intended for publicly available Hepsiburada product, marketplace, review, and Q&A information.

What should I include when reporting an issue?

Include the input used with sensitive details redacted, the run ID, expected versus actual behavior, and a small output sample when relevant.

Compliance & Ethics

Responsible Data Collection

This actor collects publicly available ecommerce product information from Hepsiburada for legitimate business purposes, including:

  • Ecommerce research and market analysis
  • Pricing, availability, and assortment monitoring
  • Catalog enrichment and operational reporting

Users are responsible for ensuring that their use of collected data complies with applicable laws, regulations, and relevant terms. This section is informational and not legal advice.

Best Practices

  • Use collected data in accordance with applicable laws, regulations, and the target site's terms
  • Respect individual privacy and personal information
  • Use data responsibly and avoid disruptive or excessive collection
  • Do not use this actor for spamming, harassment, or other harmful purposes
  • Follow relevant data protection requirements where applicable, including GDPR and CCPA

Support

For help, use the actor page or Issues. Include the input used with sensitive values redacted, the run ID, expected versus actual behavior, and an optional small output sample so the issue can be reproduced and evaluated efficiently.