Tokopedia Scraper | $1.5 / 1k | All-In-One
Pricing
$1.49 / 1,000 results
Tokopedia Scraper | $1.5 / 1k | All-In-One
Get product listings, search results, and merchant pages from Tokopedia, Indonesia’s largest marketplace. Extract titles, prices, discounts, ratings, seller details and more. Ideal for price tracking, assortment planning, seller discovery, and marketplace analytics. $1.49 per 1000 results.
Pricing
$1.49 / 1,000 results
Rating
5.0
(1)
Developer

Fatih Tahta
Actor stats
1
Bookmarked
10
Total users
1
Monthly active users
12 hours ago
Last modified
Categories
Share
Enterprise Grade Tokopedia Scraper
Slug: fatihtahta/tokopedia-scraper
Overview
Enterprise Grade Tokopedia Scraper collects structured product and listing data, including product identity, pricing, stock signals, ratings, seller context, media assets, and search placement metadata. It supports Tokopedia search URLs, category URLs, product URLs, and keyword queries so you can gather consistent records across multiple discovery paths. Tokopedia is one of Indonesia’s largest ecommerce marketplaces, making it a strong source for pricing intelligence, assortment analysis, and seller benchmarking. The actor automates repetitive collection tasks and standardizes output into analytics-ready JSON. This helps teams reduce manual effort, improve data consistency, and ship decisions faster.
Why Use This Actor
- Market research and analytics teams: Track assortment, price movement, category mix, and seller distribution across Tokopedia to identify trends and shifts.
- Product and content teams: Validate catalog opportunities, benchmark competitor listings, and prioritize content updates using real listing-level signals.
- Developers and data engineering teams: Feed BI dashboards, ETL workflows, and internal data products with structured records that are ready for downstream use.
- Lead generation and enrichment teams: Identify relevant sellers, shops, and product niches for partner discovery, outreach segmentation, or account research.
- Monitoring and competitive tracking teams: Run recurring collections to detect changes in availability, ranking position, and pricing over time.
Input Parameters
Provide any combination of URLs, queries, and filters to control what gets collected.
| Parameter | Type | Description | Default |
|---|---|---|---|
startUrls | array[string] | One or more Tokopedia search, category, or product listing URLs to scrape directly. | – |
queries | array[string] | One or more Tokopedia search keywords to collect results from. | – |
limit | integer | Maximum listings to save per input before the run stops. Minimum value: 10. | 50000 |
proxyConfiguration | object | Connection settings for the run. Uses Apify Proxy by default for reliable collection. | {"useApifyProxy": true, "apifyProxyGroups": []} |
Example Input
{"startUrls": ["https://www.tokopedia.com/search?st=product&q=sepatu%20lari"],"queries": ["baseball", "raket badminton"],"limit": 1500,"proxyConfiguration": {"useApifyProxy": true}}
Output
6.1 Output destination
The actor writes results to an Apify dataset as JSON records. And the dataset is designed for direct consumption by analytics tools, ETL pipelines, and downstream APIs without post-processing.
6.2 Record envelope (all items)
Every output record includes the following stable envelope fields:
- type (string, required)
- id (number, required)
- url (string, required)
Recommended idempotency key: type + ":" + id.
Use this key for deduplication and upserts when the same entity appears across multiple inputs or runs.
6.3 Examples
Example: product (type = "product")
{"type": "product","id": 5764025272,"url": "https://www.tokopedia.com/usmarketid/celana-panjang-baseball-nike-vapor-pro-youth-gray-xs","request_metadata": {"actor_request_type": "pdp_main_info","actor_request_id": ""},"source_context": {"seed_type": "search_query","seed_value": "baseball","source_url": "baseball","url": "https://www.tokopedia.com/usmarketid/celana-panjang-baseball-nike-vapor-pro-youth-gray-xs","scraped_time": "2026-03-04T13:57:25.290Z"},"product_core": {"product_id": "5764025272","product_key": "celana-panjang-baseball-nike-vapor-pro-youth-gray-xs","product_title": "Celana Panjang Baseball Nike Vapor Pro Youth Gray - XS","product_created_at": "2022-08-29T15:07:51+07:00","product_status": "ACTIVE","product_condition": "NEW","category_id": "3611","category_name": "Bola Baseball","category_breadcrumb_url": "https://www.tokopedia.com/p/olahraga/baseball/bola-baseball","product_weight": 0.4,"product_weight_unit": "KILOGRAM"},"pricing_and_inventory": {"current_price": 310000,"current_price_display": "Rp310.000","original_price_display": "","discount_percentage": "","stock_value": "11","stock_text": ""},"media_assets": {"primary_image_url": "https://p16-images-sign-sg.tokopedia-static.net/tos-alisg-i-aphluv4xwc-sg/img/VqbcmM/2022/8/30/410b1f4d-fd01-4e85-97f6-960aa434d152.jpg~tplv-aphluv4xwc-resize-jpeg:700:0.jpeg?lk3s=0ccea506&x-expires=1772643445&x-signature=e0a40aB0g6FAd%2FqGitIYdJrXA14%3D&x-signature-webp=YYqe9XjvO9QilaOnqx3eqqSqGmM%3D","gallery": [{"media_type": "image","image_url_original": "https://p16-images-sign-sg.tokopedia-static.net/tos-alisg-i-aphluv4xwc-sg/img/VqbcmM/2022/8/30/410b1f4d-fd01-4e85-97f6-960aa434d152.jpg~tplv-aphluv4xwc-resize-jpeg:700:0.jpeg?lk3s=0ccea506&x-expires=1772643445&x-signature=e0a40aB0g6FAd%2FqGitIYdJrXA14%3D&x-signature-webp=YYqe9XjvO9QilaOnqx3eqqSqGmM%3D","image_url_thumbnail": "https://p16-images-sign-sg.tokopedia-static.net/tos-alisg-i-aphluv4xwc-sg/img/VqbcmM/2022/8/30/410b1f4d-fd01-4e85-97f6-960aa434d152.jpg~tplv-aphluv4xwc-resize-jpeg:200:0.jpeg?lk3s=0ccea506&x-expires=1772643445&x-signature=Et04uvBXvjcA4LWLehpr5DL1EvY%3D&x-signature-webp=5Ja7o3MFthip%2BOr4BUtiNHMsGEY%3D","image_url_max_resolution": "https://p16-images-sign-sg.tokopedia-static.net/tos-alisg-i-aphluv4xwc-sg/img/VqbcmM/2022/8/30/410b1f4d-fd01-4e85-97f6-960aa434d152.jpg~tplv-aphluv4xwc-white-pad-v1:1600:1600.jpeg?lk3s=0ccea506&x-expires=1772643445&x-signature=rHQbKwlhFtgKoE0EAK%2FX5AXR0ZY%3D&x-signature-webp=eQExgJJURQlGh8tGbdh0LF5KvL8%3D"}],"videos": []},"performance_and_flags": {"rating": 4.8,"review_count": "6","sold_count": "29","sold_label": "29","is_cash_on_delivery": false,"is_in_wishlist": false,"is_power_merchant": true,"is_trade_in_available": false,"is_official_store_product": false,"has_variant": true},"seller_and_platform_context": {"shop_id": "1303898","shop_domain": "usmarketid","shop_name": "USMARKET.ID","shop_city": "Jakarta Pusat","shop_tier": 3,"tokopedia_tracking": {"tts_pid": "1729997798097585181","tts_sku_id": "1729997798097847325","tts_shop_id": "7495813042415962141"}},"search_listing_context": {"search_query": "baseball","search_page": 1,"search_position": 8,"listing_url": "https://www.tokopedia.com/usmarketid/celana-panjang-baseball-nike-vapor-pro-youth-gray-xs?extParam=ivf%3Dfalse%26keyword%3Dbaseball%26search_id%3D202603041357204734BA6F3DE83D0EBN0W%26src%3Dsearch","listing_labels": ["29 terjual", "Rp310.000"]},"compatibility": {"legacy_source": "baseball","listing_snapshot_id": 5764025272}}
Field reference
Product fields (type = "product")
- request_metadata.actor_request_type (string, optional): Request category for the collected record.
- request_metadata.actor_request_id (string, optional): Request identifier when available.
- source_context.seed_type (string, optional): Source input type used for discovery.
- source_context.seed_value (string, optional): Original URL or query value.
- source_context.source_url (string, optional): Source link or seed text.
- source_context.url (string, required): Product page URL observed at collection time.
- source_context.scraped_time (string, optional): ISO timestamp of data collection.
- product_core.product_id (string, required): Product identifier from Tokopedia.
- product_core.product_key (string, optional): URL key or slug.
- product_core.product_title (string, required): Product title.
- product_core.product_created_at (string, optional): Product creation timestamp.
- product_core.product_status (string, optional): Listing status.
- product_core.product_condition (string, optional): Item condition.
- product_core.category_id (string, optional): Category identifier.
- product_core.category_name (string, optional): Category display name.
- product_core.category_breadcrumb_url (string, optional): Category path URL.
- product_core.product_weight (number, optional): Product weight value.
- product_core.product_weight_unit (string, optional): Unit for product weight.
- pricing_and_inventory.current_price (number, optional): Current numeric price.
- pricing_and_inventory.current_price_display (string, optional): Display-formatted price.
- pricing_and_inventory.original_price_display (string, optional): Original list price when present.
- pricing_and_inventory.discount_percentage (string, optional): Discount shown on listing.
- pricing_and_inventory.stock_value (string, optional): Parsed stock quantity signal.
- pricing_and_inventory.stock_text (string, optional): Stock text shown to users.
- media_assets.primary_image_url (string, optional): Primary product image.
- media_assets.gallery (array[object], optional): Product gallery assets.
- media_assets.gallery.media_type (string, optional): Gallery asset type.
- media_assets.gallery.image_url_original (string, optional): Original image URL.
- media_assets.gallery.image_url_thumbnail (string, optional): Thumbnail image URL.
- media_assets.gallery.image_url_max_resolution (string, optional): Largest available image URL.
- media_assets.videos (array, optional): Product videos when available.
- performance_and_flags.rating (number, optional): Average rating.
- performance_and_flags.review_count (string, optional): Number of reviews.
- performance_and_flags.sold_count (string, optional): Number of units sold.
- performance_and_flags.sold_label (string, optional): Display sold label.
- performance_and_flags.is_cash_on_delivery (boolean, optional): COD availability flag.
- performance_and_flags.is_in_wishlist (boolean, optional): Wishlist status flag.
- performance_and_flags.is_power_merchant (boolean, optional): Power merchant indicator.
- performance_and_flags.is_trade_in_available (boolean, optional): Trade-in availability flag.
- performance_and_flags.is_official_store_product (boolean, optional): Official store indicator.
- performance_and_flags.has_variant (boolean, optional): Variant availability flag.
- seller_and_platform_context.shop_id (string, optional): Seller/shop identifier.
- seller_and_platform_context.shop_domain (string, optional): Seller domain segment.
- seller_and_platform_context.shop_name (string, optional): Seller display name.
- seller_and_platform_context.shop_city (string, optional): Seller location city.
- seller_and_platform_context.shop_tier (number, optional): Seller tier level.
- seller_and_platform_context.tokopedia_tracking.tts_pid (string, optional): Platform tracking value.
- seller_and_platform_context.tokopedia_tracking.tts_sku_id (string, optional): Platform SKU tracking value.
- seller_and_platform_context.tokopedia_tracking.tts_shop_id (string, optional): Platform shop tracking value.
- search_listing_context.search_query (string, optional): Query that produced the listing.
- search_listing_context.search_page (number, optional): Search result page number.
- search_listing_context.search_position (number, optional): Position on search page.
- search_listing_context.listing_url (string, optional): Search listing URL.
- search_listing_context.listing_labels (array[string], optional): Listing labels shown in search.
- compatibility.legacy_source (string, optional): Backward-compatible source field.
- compatibility.listing_snapshot_id (number, optional): Legacy snapshot identifier.
Data guarantees & handling
- Best-effort extraction: Fields may vary by region, session context, temporary availability, and UI experiments.
- Optional fields: Null-check optional properties in downstream systems before using them.
- Deduplication: Use
type + ":" + idas the primary deduplication key.
How to Run on Apify
- Open the actor in Apify Console.
- Configure your search parameters (for example, query terms and/or Tokopedia URLs).
- Set the maximum number of outputs to collect.
- Click Start and wait for the run to complete.
- Download results in JSON, CSV, Excel, or other supported formats.
Scheduling & Automation
Scheduling
Automated Data Collection Schedule recurring runs to keep your dataset current without manual re-runs. This is useful for trend monitoring, recurring reporting, and ongoing enrichment workflows.
- Navigate to Schedules in Apify Console.
- Create a new schedule (daily, weekly, or custom cron).
- Configure input parameters.
- Enable notifications for run completion.
- (Optional) Add webhooks for automated processing.
Integration Options
- Webhooks: Trigger downstream actions when a run completes.
- Zapier: Connect to 5,000+ apps without coding.
- Make (Integromat): Build multi-step automation workflows.
- Google Sheets: Export results to a spreadsheet.
- Slack/Discord: Receive notifications and summaries.
- Email: Send automated reports via email.
Performance
Estimated run durations:
- Small runs (< 1,000 outputs): ~2–3 minutes
- Medium runs (1,000–5,000 outputs): ~5–15 minutes
- Large runs (5,000+ outputs): ~15–30 minutes
Execution time varies based on input scope, result volume, and how much information is returned per record.
Compliance & Ethics
Responsible Data Collection
This actor collects publicly available product and listing information from Tokopedia for legitimate business purposes, including:
- Ecommerce and retail research and market analysis
- Pricing intelligence and assortment tracking
- Seller and category benchmarking
Users are responsible for ensuring their use complies with applicable laws, regulations, and platform 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 (e.g., GDPR, CCPA).
Support
If you need help, open an issue via the actor page in Apify Console. Include the input you used (with sensitive values redacted), the run ID, a short expected-vs-actual description, and optionally a small output sample to speed up troubleshooting.