Hepsiburada Scraper | Fast & Reliable
Pricing
$4.99 / 1,000 results
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
Maintained by CommunityActor stats
3
Bookmarked
54
Total users
3
Monthly active users
7 hours ago
Last modified
Categories
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
- Choose one or more
queriesorstartUrlsso the actor knows which Hepsiburada products to collect. - Set a small
limit, such as10or25, for the first validation run. - Add optional filters such as price range, rating, sorting, delivery, discount, gender, or merchant signals when you need a narrower dataset.
- Run the actor in Apify Console.
- Inspect the first dataset records to confirm the product, pricing, merchant, and source context fields match your use case.
- 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.
| Parameter | Type | Description | Default |
|---|---|---|---|
startUrls | array of strings | Hepsiburada search result, category, or individual product URLs for precise collection from known pages. | - |
queries | array of strings | Product-focused search keywords such as brands, models, product types, or categories. Each query is collected separately. | - |
min_price | number | Lowest product price to include for query-based searches, in TRY. Minimum value: 0. | - |
max_price | number | Highest product price to include for query-based searches, in TRY. Minimum value: 0. | - |
min_rating | string | Minimum customer rating for query-based searches. Allowed values: 1, 2, 3, 4, representing 1+ to 4+ stars. | - |
sort_by | string | Search result ordering. Allowed values: recommended, lowest_price, highest_price, best_sellers, most_reviewed, top_rated, highest_discount, newest_arrivals. | recommended |
gender | array of strings | Gender or age-group filters for supported product categories. Allowed values: male, female, unisex, boys, girls. | - |
fast_delivery | boolean | Collect only products marked with fast delivery when the signal is available. | false |
discounted | boolean | Collect only products currently shown with a discount. | false |
women_entrepreneur_products | boolean | Collect only products identified by Hepsiburada as women entrepreneur products. | false |
official_distibutor | boolean | Collect only products from authorized or official distributors. | false |
maximize_coverage | boolean | Expand broad searches when the visible result set may otherwise cap discovery. Useful for larger product segments. | false |
enrich_data | boolean | Add richer product-level details such as descriptions, specifications, variants, merchant details, delivery information, and review summaries. | false |
get_reviews | boolean | Save customer review records linked to each saved product. | false |
max_reviews | integer | Maximum review records to save per product. Only applies when get_reviews is enabled. Minimum value: 0. | - |
get_qna | boolean | Save published product questions and merchant answers linked to each saved product. | false |
max_qna | integer | Maximum Q&A records to save per product. Only applies when get_qna is enabled. Minimum value: 0. | - |
limit | integer | Maximum 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
queryorurl. - 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.fingerprintas the strongest general key; usesku,variant_id,review_id, orqna_idwhen 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
limitto 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_byintentionally when ranking order matters for monitoring or reporting. - Enable
enrich_dataonly 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
- Open the Actor in Apify Console.
- Configure
queriesorstartUrlsfor the target scope. - Add optional filters and set the maximum number of product outputs with
limit. - Click Start and wait for the run to finish.
- Open the dataset and review the first records.
- 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
limitvalues. - 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
limitfor 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.